This is the third post in the making money as a programmer series. In the first two posts, I talked about the career guy and the contractor. In today’s guide, I’m going to talk about the freelancer.
What Is Freelancing?
A freelance programmer is a self-employed individual who codes for money. As a freelancer, you get to be your own boss and pick what projects you work on. Most freelancers work from their own home, or their own premises. Unlike contracting, or normal employment, a freelancer will usually have multiple clients and projects that they are working for at a time.
One of the hardest aspects of freelancing is finding a steady stream of work to keep the bills paid. When you freelance you are responsible for creating your own sale funnel. You have to find work, pitch for and project manage it all. At the beginning of any freelance career, it is likely you will go through dry spells. Before you build a reputation, how are the people who would be willing to pay for your services know about you? Why they should trust you with their money.
Luckily, if freelancing is something you think might be a good fit for you, in the past few years, finding work has got a lot easier. There are several freelancing websites like People Per Hour and UpWork that connects people with cash with freelancers.
These sites are great in one respect, as it provides a lot of easy options for freelancer developers to find work. The bigger problem with these sites is the fact anyone across the globe can pitch for the work. I live in London, England and rent, travel, food and beer cost a lot more here than other places in the world. A developer working in India, or Estonia, will have a lot less living costs compared to me and consequently always be able to underprice me. Until you have an established reputation and a niche service, competing against the rest of the world on a competitive price can be tough.
This sounds Amazing…
Freelancing is a great choice, but I think a lot of people who dream of becoming a freelancer, picture sitting at home in their underwear, coding away without a care in the world. When you freelance, it’s usually not the job that will be your source of anger, but the customer and the time involved in sorting out work. When a lot of developers think about freelancing, they only think about the code. If you charge £50 an hour, you’ll be making £350 a day. This is rarely the case, though. Roughly, 20% of any freelancer’s time will be spent networking, pitching, admin, support, accounts. When you freelance you need to take these considerations into account when you try and figure out your likely weekly wage.
From my own experience with freelancing and people I know who do this full time, you tend to work for smaller to medium sized companies. Payment can be more tricky with smaller clients. I’ve had situations where people have tried not to not pay me.
Contracting or Freelancing
Freelancing and contracting are very similar in nature. The main difference really boils down to clients. As a contractor you usually work with recruitment agencies, go to job interviews and work in clients’ offices for a period of time. As a freelancer, you have to find the work yourself, you work from home and generally work on shorter term contracts, but that’s not necessarily true. When you freelance you definitely have a better choice of the hours you work (work all night if you want), where in the world you want to work and for how long each week you want to work.
Freelancing definitely has trade-offs compared to contracting. When you contract with an organisation, in 90% of my experience you are pretty much guaranteed to get paid. If a company needs to pay a premium for an IT resource they usually have money. Enterprise level organisation will only work with recruitment agencies.
Freelancing gives the most amount of flexibility out of the options we’ve covered so far. On the other hand, freelancing also carries the most risk. To become a freelancer you need a lot of self-discipline. When it’s up to you to decide how many hours you work it might be easy to go to the beach, or take a day off because you can’t be bothered.
You should follow this career path if..
- You want to decide your work life balance
- You want 100% control of your career
- Flexible Incomes, some months you will be paid more, some you will be paid less
- Motivated and can work from home
- Happy To Work On Your Own
- Like Negotiating/Selling Yourself
- Self Employeed