The Unvarnished Truth About the Freelancer Lifestyle
Ever dreamt of the freelancer lifestyle? Working from home. Choosing your own hours. Well, this article is about to ruin that for you. I've been a freelance software developer for a couple of years now, and I've been self-employed since I was a teenager. Over the past several years, I've learned a lot about working for yourself, and it's never what you expect.
More Than Just Coding
Now, if you love programming, and that's all you want to do, freelancing is not for you. I actually only spend around half of my time writing code. The other half is spent doing marketing, client communication, and admin. The list goes on. And it's really hard to do those things if you don't love them.
So, if all you want to do is write code for a living, I'd probably recommend finding a company where you really like them and the culture, making sure that you really like their product and then applying for a role there. Because that will be so much more enjoyable than spending half of your time doing tasks that you don't want to do.
The Art of Self-Management
Another one of those tasks is project management. You might be thinking, "You're the only person working on this project. It can't be that hard to manage a project when you're the only person that there is to manage.” Well, as someone that's hired people in the past, I will say it's so much harder to just manage yourself.
Because when you get busy, it can become very difficult to prioritise things, especially when you have multiple projects on the go at one time.
A useful tip for dealing with that: You should give your clients access to a dashboard that allows them to see the progress of the project so that you spend less time communicating with them through email or through WhatsApp.
Like I said, a lot of time is spent communicating with clients and it would be so much more if they weren't given access to a dashboard where they could just see the progress instead of asking for it.
Navigating Client Payments and Project Budgets
Now, when you're working with clients, you should be getting paid for it. If you're not, there's a problem. Sure, you can do some projects to help build your experience, but if they're using it for a real business case, you need to make sure you're getting paid for it. Because otherwise they're just taking advantage of you.
And the money that you can earn as a freelance software developer can be great, but correctly estimating project budgets and quoting for them can be tricky, especially at the start.
- Sometimes you overestimate how long a project is going to take you. It takes you two weeks instead of three and you make a little bit extra money for doing a little bit less work.
- Sometimes you get it bang on, and perfect, you've been paid for exactly what you're worth.
- And sometimes you get it drastically wrong and you end up working way more hours than you initially intended for the project.
And the worst part about it is you're not getting paid any more for it. Most freelancers have done this before, and to be honest, it's a fact of life, it's going to happen at some point. So when it does happen, don't beat yourself up too much about it. Just learn from it and make sure you can get through it.
My advice for avoiding this kind of situation is to add contingency to your prices. If you think a project is going to take 100 hours, give them a price for 150 hours. Because then if the project does go over by up to 50 hours, you've still made an amount of money that you're happy with.
Why People Skills Outweigh Qualifications
Before you start doing any work as a freelancer, you actually need to land the client projects. And this is where a truth that really hits home for a lot of people comes in.
Qualifications do not matter. Many successful freelancers don't have a degree in computer science. In fact, many don't have a degree in anything. And that has never stopped them from getting any work.
You see, when clients are making hiring decisions for freelancers, they don't care about your qualifications. They care about whether they think you can deliver the work. So actually the most important skill that you can have as a freelancer is people skills. Learn how to sell yourself, both in the forms of online and digital marketing, but also talking to people face to face. You need to convince them that you are the right person for the job, and being a good communicator is a massive part of that.
Join the 10xdev Community
Subscribe and get 8+ free PDFs that contain detailed roadmaps with recommended learning periods for each programming language or field, along with links to free resources such as books, YouTube tutorials, and courses with certificates.