How to Start Freelance Programming: Tips for Software Engineers
Freelance programming: so hot right now. Just ask the 55 million Americans currently engaged in freelance work (more than ⅓ of the workforce), per Freelancers Union’s Freelancing in America 2016 report — up 2 million from 2014. What’s more, this number is expected to go up to 40% by 2020, due in part to the higher pay, higher job satisfaction, increased flexibility, and litany of opportunities contract work provides.
Or, in the words of 27-year-old software engineer James Knight (in an interview with Bloomberg),“I’d rather control my own destiny and take on the risk and forgo the benefits of nap pods and food.” Knight recently ditched his well-paid job writing software for Google to freelance full-time. Turns out, freelance programming pays just as much — if not more — as the most in-demand Google or Facebook jobs. According to Bloomberg, companies are paying as much as $1,000 an hour for talented freelance developers (with the right skill set).
If you’re ready to venture into freelance programming — either as a moonlighter, or potentially full-time freelancer — here’s a handy playbook for where to start finding jobs and building your business:
Tap your network.
If you’re a software engineer, you’re likely getting barraged by recruiters and job offers every single day (if not also in the middle of the night). Make a list of all of the recruiters, job matching platforms (like *cough* Hired *cough*), and individuals in your network who have already expressed interested in hiring you. Make sure to reach back out to these inbound contacts, as well as your existing network, to share your availability on a contract basis. One freelance programmer on the Hired platform recommended browsing LinkedIn to see who in your network may be freelancing (and can introduce you to the hiring manager), or leading engineering teams in your preferred industry / stack (and looking for contractors). Your inbox is your own personal freelance leads database; make sure to generate as much demand for your skills as you can.
Think of yourself as a brand.
As a freelancer, the onus is on you to communicate the value you bring to the table, and subsequently, the rates you charge for the value you deliver. Hired freelancer Alex Cone recommends being proactive (and strategic) about marketing yourself — by tweeting, blogging, hosting events, creating a strong portfolio, and generally putting yourself out there. Self promotion is key to freelance success (after all, you’ve got to believe your worth before anyone is going to pay you for it), and can facilitate great relationships. And make sure not to neglect your most important marketing strategy: your portfolio. Pro tip: Read Skillcrush’s comprehensive rundown of what to include in your digital portfolio.
Set up an emergency fund.
Before ditching your standing desk for the freedom of freelance programming, Wise Bread’s Carrie Smith recommends you stockpile enough cash to comfortably cover 6+ months of living expenses. One way to stash all this cash away while working a full-time job is to take on occasional ‘moonlight’ projects — aka projects you can tackle in the 5pm-9am hours (when your bandwidth/schedule allows). Keep in mind that, in addition to your usual expenses like rent, phone, etc., freelancing comes with additional financial considerations like taxes, health insurance, and retirement savings.
Protect yourself from burnout.
Freelance programmers are at uniquely high risk of burning out, due in part to the endless flexibility afforded by contract work (to set your own schedule, decide your own capacity for contract work, etc), and also because there’s no manager to help you prioritize or helpful colleague to step in when you need a day off. You and you alone are responsible for developing a self care regime that protects your brain from burnout and your sanity from rapidly disintegrating. How does one do that, exactly? One best practice is to be conservative about the number of hours you allocate to each project, making sure to factor ideation and strategic thinking time into your rates. TL;DR: Give yourself more time than you think you need. Additionally, watch out for scope creep from the client — if/when you get emails adding deliverables to your contract, be clear with the requesting individual about how much time/budget this will add to the project and extend the timeline.
Get (and stay) social.
Paradoxically, freelancing is a solo endeavor, but one that depends on your ability to socialize. Professionally, socializing (both IRL and URL) — by way of networking at industry events, or online in Slack groups or subreddits — helps you meet new potential clients, befriend fellow freelancers, and stay up-to-date on industry trends. On a personal level, socializing is essential to staving off the loneliness that comes with working independently and without coworkers to brainstorm or banter with everyday. Make sure to explore Facebook groups in search of communities in your niche, sign up for relevant local Meetups, hunt down all of the great many freelance Slack groups (including Hired’s invite-only Slack group for freelancers, and participate in AMAs on Quora and Reddit.