Welcome back to our 3-part freelance software developer series!
In the first part of the series, we outlined some benefits and drawbacks of becoming a freelance software developer so you could decide if it was for you.
In this second part of the series, we’ll explain how to become a freelance software developer.
In the third and final part of the series, we’ll share some tips and tricks we’ve learned being successful freelance software developers over the years.
Let’s get started!
How to Begin Freelancing
If you think freelancing is for you, there are two basic ways to begin freelancing:
- Jump straight away into your new adventure;
- Make a plan to become, or progressively turn into, a freelancer.
The first approach might launch you forward with a burst of momentum, but it can be risky, unless you already have the resources and contacts to start and you know what you’re doing.
The second approach is safer, and doesn’t usually require a sudden and drastic life change. In some cases, one becomes a freelancer without planning to; it happens as a result of doing more and more part-time work during spare time.
How we got started
Want to see some examples? Here’s how some of us got started:
Personally, I started that way myself in 2003, doing small projects on RentACoder during my spare time while maintaining a regular job. When I left the job at the end of that year, I started looking for other regular jobs, and in the meantime, I dedicated all of my time to freelancing. I worked on small fixed priced projects, and progressively moved to larger projects, until I realized I could turn that into a full time opportunity.
Four months later, I made my freelancing career official by opening my sole proprietorship company. And 11 years later, here I am. :] One more thing: being a freelancer made moving from Italy to Poland just a trip by car, with zero hassles regarding finding a job etc.
- Matthew Cave had a client approach him unexpectedly with a long-term contract, so he went for it. Slowly over time, it became a partnership, and later a company. But it wasn’t planned that way, it started with nothing more than Matthew being tired of his current job, and an opportunity that presented itself.
- Pierre Rochon was less lucky. He had a full time job at the R&D division of a medical company, but he lost it three weeks before his twins were born. He spent a few weeks learning iOS development and then started working on his first project a few months later, for a real estate broker wanting an app to display his listings and allow buyers to contact him directly from within the app.
- Kuba Suder was planning to become a freelancer, but could never seem to get around to it. He worked for a small company in Krakow, doing Ruby/Rails development, but he wanted to become a Mac and iOS developer, and start freelancing as well. Then one day, he was introduced to someone who was looking for developers, for a new project. He decided to quit his previous job and take advantage of the opportunity.
- Ignacio Nieto was in a really well paid job, as solid and stable as one could get in Spain. His salary was great, but he just hated it. Working in a grey office, day after day, with the same faces, in un-creative work nobody cared about, the traffic jams, it was sucking his life. So he decided to take the leap, quit his job and started to work in creative projects, make better use of his time and to take control of his own life. And he never regrets his decision.
- Julio Carrettoni had a day job when he started freelancing. He finally quit his job and decided to become a full time freelancer when he realized that he was making the same amount of money, without all the hassle of being an employee, attending mandatory and useless meetings not related to his projects, and being constantly interrupted with tasks and deliverables not related to his work, etc. He just became aware that he wasn’t very productive at his office and the salary wasn’t good either.
- Paul Jones instead reached an age where he had to choose whether to stay technical or become a manager, in order to earn more. He didn’t enjoy the managerial career path, but he noted that freelancers he worked with did the more interesting work.
- Pawel Krakowiak was looking for a new job when a friend sent him a link to a freelancing platform called RentACoder (now Freelancer). It looked interesting, so he gave it a try, even though he was still looking for a full-time job. After a couple of months, Pawel decided to try freelancing full time. Today he thinks it was the best decision he’s ever made.
Whether you decide to take an immediate plunge or build up slowly, one of the first things you need to do is find some projects to work on. Here’s the strategies we’ve found most effective in finding new projects, in no particular order:
- Word of mouth: Among our pool, this was the most common source of new projects. As Matthew Cave says, “there’s no greater marketing than a happy client.” A good reputation is essential here, and I’ll talk more about that soon.
- Twitter: This is similar to word of mouth. Let your followers know you are looking for new opportunities, and gently ask to retweet. Your tweet could be read by hundreds or thousands of people.
- Networking at conferences and meetups: Another variation of word of mouth, you can meet other developers, potential clients, and more generally expand your network. It can happen quite easily that, by just talking, you get connected to people seeking developers. It’s what you would do, isn’t it? While discussing, one tells that he’s looking for a new project, and you know your old employer needs a freelancer; wouldn’t you connect the two of them?
- LinkedIn: Keep your resume up to date, join groups relevant to your experience and/or preference, write articles, connect with people you know. People will start finding you when they seek developers. Despite I haven’t done many of the things I’m suggesting, I still receive offers via LinkedIn, from time to time.
- Recruitment Agencies: They connect you to employers, in many cases for regular full-time positions, but many specialize in, or include in their offer, contract jobs, which can be performed remotely.
- Freelancing platforms, such as Upwork, Freelancer and Elance
- DAAS (developer as a service) platforms, such as Toptal, Alt Tab, X-Team and Crew. DAAS platforms are my personal favorite way to find jobs. As I mentioned, I started my freelancing career through RentACoder (now Freelancer), and later oDesk (now Upwork), and today I use many of these platforms, although in the last year, I’ve mostly worked with Toptal.
- Micro-consulting platforms, such as Airpair, Codementor, Hackhands. Micro-consulting services are a case apart: They consist of providing help in one-on-one sessions, using video calls, screen-sharing and code-sharing. You probably won’t make a regular income through micro-consulting alone, but helping others and/or fixing bugs is one of the best ways to learn new things, and, moreover, you get paid for doing that.