How to become a freelance software engineer and make 6 figures

  • The pandemic motivated many people to take on freelancing as their only, or extra, source of income.
  • Freelance software engineers who earn six figures annually spoke with Business Insider about paving a lucrative path in short-term work. 
  • They said finding work is easier through word-of-mouth marketing and previous employers, and it’s important to “show rather than tell” with a portfolio that keeps track of your past projects.
  • When setting rates for a freelance project, they recommended starting with your desired income and dividing that by how many hours you’d ideally like to work. 
  • Don’t stay siloed in one area of expertise, and remember that you’re the expert, so you should treat your client like a collaborator, not your boss. 
  • Visit Business Insider’s homepage for more stories.

COVID-19 served as the catalyst for a huge surge in freelancing, as millions found themselves unemployed and looking for alternative ways to earn an income.

In the US alone, over a third of workers freelance, and the current freelance economy is worth $1.2 trillion — a 22% increase from 2019. According to a study by freelance platform Upwork, one of the fields that’s in the highest demand for short-term work is software development.

Pandemic aside, for many, freelancing is a more appealing route than salaried work is for a plethora of reasons. Freelancing provides more freedom and flexibility and allows you to increase your earning potential and say no to projects you don’t want to do, among other benefits.

If that sounds appealing, freelance software engineers earning six figures each year revealed to Business Insider how they got to where they are today — and how you can follow in their footsteps.

Read more: 6 bootcamps that cost little to nothing upfront, teach students crucial tech skills, and help them land roles at Google and Spotify

Gig platforms like Upwork and Indeed are great places to start, but word-of-mouth is your best lever for finding clients

Daniel de Haas, 28, lives in the San Francisco Bay Area and has been a full-time freelance software engineer on and off for the past few years. He finds projects through sites like Upwork and Indeed and from referrals from friends who work at companies that need temporary engineers. At one point, he also freelanced for a company that used to employ him full time.

Daniel De Haas

Daniel De Haas.

Daniel De Haas


When it comes to getting work online, de Haas suggested starting out with a low bid and gradually increasing your rate as clients learn to trust you. He also cautioned that these platforms can be “a bit of a slog, with a lot of false positives and rejection.” For 2019 and the beginning of 2020, de Haas charged his clients $150 an hour. Since the pandemic hit, though, he’s lowered his hourly rate to $125.

For Conlan Craft, 31, word-of-mouth has been the best way to find work. “I made an effort never to leave any of my full-time jobs on bad footing,” Craft told Business Insider, “so many of my ex-employers are open to working with me again. They’ll also recommend me to people they know who need work done. I have a reputation of being fast, effective, and easy to work with, which has pretty much made clients come to me.”

Conlan Craft

Conlan Craft.

Conlan Craft


Craft went to school for fine arts and graphic design. After dropping out junior year, he started building up his freelance graphic design business. When his clients started asking him to build their websites, he agreed and taught himself how to code. He ended up switching into software engineering, and after a few salaried positions started freelancing full time. Conlan lives in Nashville and makes about $9,100 each month. 

Madeline Moore, based in Los Angeles, also strongly endorses word-of-mouth marketing. Early on in her career, she met a lot of freelance graphic designers who were often searching for reliable developers to build their websites. “I developed my relationships this way over the years and have been lucky enough to have consistent freelance work,” Moore said.

Madeline Moore

Madeline Moore.

Madeline Moore


Moore, who graduated college in 2013, studied music, anthropology, sociology, and computer science. She chose engineering as her career path because she thought it’d provide more stability and flexibility. Her first job was as a junior developer, a role she found on NYU’s job board. After, she tried full-time freelancing as an ecommerce coordinator, then worked full time at David Yurman as a content systems manager. She’s now been freelancing for about seven years. Last year, she made around $110,000 in total.

Read more: 10 steps anyone can take to teach themselves to code at home, according to the VP of Flatiron School, CEO of Women Who Code, and other tech experts

Set your rates by the hour and factor in extra work time

There are a few different ways to charge for your work — hourly, daily, per project, or a monthly retainer. Craft typically charges per project, which he bases off an “internal” hourly rate. “I use it as a basis for estimating projects, but my estimates are not in hours,” he said.

In general, when you’re setting a rate for a freelance project, choose an hourly rate and multiply it by the number of hours you think it’ll take to complete the project. Craft typically pads the project with a few more hours just in case it takes longer than expected or requires some back and forth with the client.

When presenting the rate to the client, though, just put the final project estimation. “Don’t show your hours, because you don’t want the conversation to be about how you spent your time,” Craft said. “It should only ever be about what you did and how well it addressed the client’s request.”

To find your hourly rate, start with your ideal annual, monthly, or weekly income, then divide that by how many hours you’re willing to work. For example, say you want to make $10,000 next month and are able to work 35 hours a week. Since there are approximately four weeks each month, that adds up to 140 hours, which means your hourly rate is around $72.

It might be helpful to know that the national hourly rate for freelance software engineers is about $57. Of course, if you’re transitioning from a full-time software engineering job, you can use your salary to figure out what your hourly rate was and use that as a starting point.

Put together a portfolio and keep it going even after you’re an established freelancer

“In tech, you have to show rather than tell,” Moore said. “With programming, you can say you have skills and put it all over your resume, but it doesn’t really mean anything until you can show a working product.”

Despite the fact that she minored in computer science, Moore couldn’t get any clients when she was first starting out. So she built a portfolio. She eventually found someone who paid her a very small fee for her to create two websites from scratch and took on the work for a low rate because she knew it’d help her get more work in the future. “As soon as I had just one or two websites under my belt, I would send them my work and then it was a lot easier to get clients,” Moore said.

According to de Haas, you should put time and effort into your portfolio even when you have an established freelance base. Take advantage of down time to work on projects of your own. de Haas did this a few years ago and shared it with the public. Since then, it’s received a fair amount of attention, and he believes this has really helped him land new contracts.

“Several clients I’ve worked with have no effective means of vetting engineers,” de Haas said. “So something as simple as a star count on a Github project can be very reassuring to them.” 

Read more: A 34-year-old freelancer who quit the job she hated and now makes $200,000 a year debunks 5 of the biggest myths she’s encountered about becoming your own boss

Don’t become too siloed in your area of expertise

When you work for yourself, you need to be able to do more than one thing. In fact, de Haas said you should be able to do all the potential tasks that fall under a software engineering role.

During his full-time roles, de Haas was fortunate “to have had opportunities to work on things outside my comfort zone, much of which I’ve used in the past couple years as a freelancer.”

“You will be told that focusing on one area of expertise and learning it deeply is the key to success,” Craft said. “This is a great place to start, but it’s not going to serve you in the long term.” Craft added that you should always be learning — such as how to design, administer a database, market a business, and more. “The more things you can do, the more flexible you can be as a contractor/consultant, and the easier it is to work with you,” Craft said.

Don’t ask permission to do a thorough job

Your client has hired you for a reason — because you’re the expert. Don’t ask permission to do technical things. If you think you should write tests for a feature to make sure it works, write tests (just make sure you add this into your estimated project cost). Don’t waste time asking your client if you can or should do something. That’s your job to figure out.

“Your client is not your boss,” Craft said. “They are your collaborator. You’re working together to help them achieve their business goals. And, quite frankly, if you manage your relationships like this, you’ll be valued even more.”

Be very deliberate about work-life balance

Time management is especially hard when you’re self-employed. Either you can’t resist the temptation to work every waking second, or you get so distracted you never get anything done.

To get this under control, de Haas strictly separates his work and non-work life. For example, “I don’t let myself go on Twitter or Reddit from my desk,” he said. “Those pastimes are strictly relegated to the couch.” Figure out the environment and “rules” that’ll enable you to be productive and have enough time each day to do things that have nothing to do with your job.

If you’re on the fence about whether or not to freelance full time, Moore said you should just do it. “I really had no clue what I was doing when I started freelancing,” she said. “I just decided that I will take on a project and figure it out later.”

For female software engineers specifically, Moore said, “Stand up for yourself, be curious, don’t be afraid to ask questions, and don’t feel stupid for asking questions. Be yourself and bring your own unique gifts to the table. Make friends with your peers. Lift each other up and spend time opening the door for others to join you. We need more diversity in tech and we need you.”

Source Article