Why I’m Writing This
Over the past decade, I’ve worked on a wide range of freelancing projects. At a digital marketing agency, I had the chance to build SaaS products, landing pages, various integrations, and full CRMs and CMSs. I even developed a complete telephony network so businesses could make calls and send texts directly from their browser! On the freelance side, I’ve taken on projects ranging from small tasks to ones worth $15k+.
A friend recently asked for advice on starting freelance work. After reflecting, I put together this list. Below, I’ve organized it into tips for General Client Work and advice for Running Your Own Show.
There’s no silver bullet, but I hope this bullet list (pun intended) helps you approach freelance development in a pragmatic and strategic way.
General Client Work
- The higher the cost, the better the clients. The penny-pinchers are usually the worst to work with. Don’t do free work or give discounts—your time and skills should be valued.
- Consider project-based billing, but it’s best for seasoned devs who know how to scope well. If you underestimate, you’ll eat the cost.
- Decide if you’ll offer free scopes for small to medium projects. For larger ones, expect multiple calls or meetings to get it right.
- If you charge hourly, meetings absolutely count.
- When scoping a project, add about a 30% buffer to your time estimate because developers tend to underestimate (see Hofstadter’s law).
- Use a professional contract template (or find one). Many states don’t require a lawyer to draft it.
- Strongly consider forming an LLC to protect yourself—it’s fairly cheap and worth it.
- Many freelancers require a down payment before starting. Scope the project, send the estimate, and let the client know you’ll start once they sign the contract and pay the deposit.
- Space out your project timeline. Don’t cram a large project into a week just because the hours technically fit.
- Keep a record of contracts, scopes, and other docs. Something like Google Drive works well for this.
- Log your hours, whether detailed or general. If you bill hourly, clients may ask for a breakdown. Tracking your hours also helps you improve future scoping.
- Learn to sell your projects confidently without sounding desperate for work.
- For longer projects, consider weekly check-ins to provide updates and get feedback.
- Write your code as if someone else might take over one day. It’s courteous and can help build your professional network.
Running Your Own Show
- Research the range of rates for your skillset, then find a balance between what you need and what clients are willing to pay.
- You can adjust your pricing based on workload, project type, or other factors. Be flexible.
- Don’t be afraid to charge more than you initially think you’re worth. Your time has value. Imposter syndrome is normal but fades with the right clients.
- Build a network. When you’re overloaded or face a project outside your skillset, being able to recommend good alternatives (and meaning it) builds trust. Hopefully, others will do the same for you.
- Be aware that self-employed people pay nearly double in taxes—normally, an employer covers half. Budget for this and decide whether to pay quarterly or during tax season.
- If you freelance full-time, factor in the cost of living and add a percentage to cover both your desired income and taxes.
Summary
Freelancing as a software developer comes with challenges, but with the right mindset and strategies, it can be incredibly rewarding. I hope that these tips offer a practical viewpoint on working with clients, managing projects, and running your own freelance business. Whether you’re just starting out or refining your approach, these insights may help you think bigger and work smarter.