In the past 10 years I worked on many different teams. I started out as a freelancer, thinking I’d work alone for a small business doing for example websites and little frontend stuff, but I eventually found lots of teams that needed different things from me. Every time I joined a team, I found different dynamics and I felt different empathy levels. I was part of some great times, and some less great ones.
But I always worked independently, meaning I was never hired. I just worked as a contractor, with its perks and its downsides.
The best thing about being independent is freedom. If you are an employee, you have a boss. If you are a contractor, you have a client. You can have multiple clients, too. I never had multiple clients because I always wanted to build my own business on the side. As an employee, in some countries depending on the contract your employer might have the rights to everything you create in your spare time. That’s madness. As an independent contractor you can work on side projects with all the freedom you want. Actually, the more things you have, the better: your portfolio grows, your perceived value grows, your personal brand grows, your next contract will be better paying.
One degree of freedom is flexibility. Flexibility is awesome. As an employee, companies give you like as low as 2 or 3 weeks of vacations in the whole year. Imagine this: you take 3 weeks off during the summer, then you have no other single day off for 344 days. In some countries, for example EU countries, things are better for the employees, but still if you need a day off you need permission.
A job is a well paid cage. There are various personality types, some like that, especially because in a job there is some kind of social network implied (your coworkers, your boss), some hate it. I’m in the latter group.
The first flexibility perk is hours. You can have a very flexible day depending on your client (hint: choose your client wisely). I need a day off? I might work next Saturday to make up for the lost hours. Next week I’m off, I’ll take a 25% pay cut.
If you decide to work remotely freedoms compound and there’s a whole new level of flexibility. You client might be in the US and you’re in the EU, so you can take all your mornings off, establish you work 5 focused, deep hours every day instead of 8 sloppy hours and you can work from 2PM to 7PM. Or 5PM to 10PM if that’s better for you.
You provide value, not hours
But as a contractor, do you really work hourly? Or the value you provide is independent from the hours worked? Maybe you are so good to perform in 1 hour the job some junior or mid developer can do in 5 hours. And do it better, because of your experience and skills.
Another perk of being independent is that you are unlikely to stay years working for a single client. You are more likely to develop a network of contacts and get bigger opportunities as your career path flows.
Every time an opportunity arises, you gain all the experience from past projects and you are able to charge more.
There’s a lot to say about your value. Your perceived value, to be precise. In a team of employees, there can be a blurry line between the effort of each team member that led to the final result. As a skilled contractor your value can be much clearer. But it all depends on you, on how you build the perception of you. There’s little place for the shy developer when you go independent. You can think you are the hacker type, hard on the code until 3AM and everyone knows what you’re up to, even if you’re silent in the Slack chat. No, there’s lots to be said about communication, especially when working remotely. You need to be hyper active in this regard, and if you need to do so with your team, you need to do this 10 times more with the outer world.
Building a personal brand is key in today’s world, and it’s never been easier. You just have to show up. YouTube, blogs, podcasting, social media, sites like dev.to and others, it’s just a matter of picking the right tool for your personality trait.
A personal brand is a big factor when it comes to deciding what’s your value, and so what’s your price when the client asks you. How do you decide that? That’s hard. That’s almost as hard as estimating project times, except it’s not as hard! All it takes is you being self conscious, and self confident. And knowing your value, and the value you provide to your customers. Prices also vary considerably depending on the country you live in, and the country your client lives in. Maybe you live in easter Europe and your client is from San Francisco. Is it ok to get a SF hourly rate? Should you get peanuts compared to the same yourself living in Silicon Valley? Good questions to ask, but I’m afraid I don’t have an answer.
It’s hard, and you might not be ready for it. Yet.
To make a living independently you have to find clients. All the time. Do you have a network of people that can recommend and refer you to their own network?
Do you have skills people want to pay for? Do people know you have those skills?
If you don’t feel confident and you don’t have a safety net, do this on the side. For your own ideas. Or start with charities and other work you can do for local do-good organizations.
Another easy way to start is by getting in touch with local development agencies and companies which might be very interested in getting a contractor rather than hiring someone full time.
Is it worth it?
More lab tutorials:
- The stack I use to run this blog
- 8 good reasons to become a software developer
- SEO for developers writing blogs
- Review of the book The 4-Hour Work Week
- Build a lifestyle business
- Build your own platform
- As an indie maker, what kind of product should you build?
- Create your own job security
- Developers, learn marketing
- The freedom of a product business
- Generating value
- Have a purpose for your business
- The idea is nothing
- The niche
- Remote working for software developers
- Product / market fit
- The best podcasts for frontend developers
- Why should I create an email list?
- Disconnect time from money
- The scarcity principle applied to software products
- The social proof principle
- How I added Dark Mode to my website
- My notes on the Deep Work book
- The pros of using a boring stack
- How to estimate programming time
- On going independent as a developer
- How to learn how to learn
- Why interview questions for programming jobs are so difficult?
- Do I need a degree to be a programmer?
- Everyone can learn programming
- How to be productive
- How to get the real number of pageviews of a static site
- Have you filled a developer bucket today?
- How I record my videos
- All the software projects I made in the past
- Tutorial purgatory from the perspective of a tutorial maker
- Every developer should have a blog. Here’s why, and how to stick with it
- Having a business mindset for developers
- How to write Unmaintainable Code
- What is Imposter Syndrome
- How to work from home without going crazy
- How I prototype a Web Page
- You should be the worst developer in your team
- How to start a blog using Hugo
- Write what you don't know
- How to block distractions using uBlock Origin
- Coding is an art
- I wrote 1 blog post every day for 2 years. Here's 5 things I learned about SEO
- Dealing with the fire
- On being a generalist
- The Developer’s Dilemma
- My plan for being hired as a Go developer. In 2017
- Productivity gains of using a Mac and an iOS device
- How to go from tutorials to your own project
- This is my little Digital Garden
- How to start freelancing as a developer
- Sharing the Journey Towards Building a Software Product Business
- Subfolder vs subdomain
- How I use text expanding to save time
- Software is a superpower
- I love books