Some of my thoughts on the topic of working independently as a software developer
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?