How To Become a Successful Freelance Web Developer (and Not Kill Your Career)

By Jamie Begin

Almost all freelance web developers are doing it wrong. And it’s a miserable existence to endure.

If you awake one day and say “I’d like to be a freelance web developer. Now how do I get clients?” you’re already setting yourself up for failure. Yet nearly everyone who chooses this career path makes this mistake. Like consulting, freelancing ought to be a natural progression of a web developer’s career (though of course, not the only path). Done right, it becomes the obvious next step for someone who has built an extensive professional network, developed finely honed skills, and has an entrepreneurial spirit. But prematurely deciding to freelance for any length of time can severely damage your career and mental health. You’ll feel pressured to take any work you can find just to keep the bills paid and your skills will erode as you crank out an endless stream of cheap WordPress sites. Here’s how to do it right:

Step #1: Obtain full-time employment in web development.

For the readers starting from scratch, this first step obviously is the most frustrating. After all, how do you get experience if every job requires experience? My initial advice is dependent on just how close to zero you’re starting. For those who are self-taught but just lack a bit of pedigree, I would recommend contributing to open source projects on GitHub and building a technical portfolio. Then craft a project-focused resume rather than a chronologically organized one. If you are uncertain about your skills and find the thought of contributing code a bit intimidating, offer to write documentation. Good documentation is critical to the success of every open source project and yet most maintainers are loathe to spend time on it because writing code is more fun. Plus, the ability to understand and explain other people’s code is an exceptionally valuable professional skill to develop.

If you lack the expertise to yet make sense of code, my recommendation would be to consider taking a few classes at a local community college. A well-taught certificate course will help you establish a baseline of skills. A two-year degree may or may not be worth the investment, depending on the content. A four-year degree in “web development” is, without a doubt, not worth either the cost or the time (a Computer Science or MIS graduate from a reputable school is infinitely more employable).

Obtaining full-time employment early in your career, even if you eventually prefer to be a freelancer, is important for a number of reasons. You’re exposed to how a business operates from the inside and will learn what works (and what doesn’t work) on someone else’s dime. Operating as a freelancer can also be a financially precipitous position for even those that are successful. A secure job will provide the opportunity to build up a savings cushion and practice managing personal finances.

Step #2: Start networking like your job depends on it.

I’ve been a professional web dev since 1997 when I first wrote a simple online shopping cart in Perl for a small computer store where I was a PC tech. Over the past 16 years, the biggest mistake I’ve made was spending too much time honing my technical skills at the expense of all other aspects of my career. I’d rather spend hours tangling with the toughest bug than go to a business social event. It wasn’t until my late 20s did I stop discounting “soft skills” as pure fluff.

Spend some effort getting to know your co-workers; especially those whom you rarely interactive with and don’t know well. Chat with clients about more than their immediate project. As the level of trust builds, ask about other aspects of the business you might be able to assist. Attend local user groups, meet-ups, and developer conferences. These events can require a significant time commitment but are invaluable because everyone is there specifically to meet you (and people like you.) is a popular resource that I’ve used with success, as are searching for local groups on LinkedIn.

This networking is laying the groundwork for your eventual freelancing and is absolutely necessary for your success. A moderately-skilled programmer who’s really good at communicating with people is worth at least 3-5x more to most businesses than a brilliant programmer who prefers to be left alone all day. Schmoozing increases your “social surface area”, which leads to more professional contacts and more work, but also improves your ability to translate between tech-speak and business-speak. Your goal is to become known as someone who solves problems, rather than the “web guy.”

Step #3: Leverage your network to find a job that’s compatible with freelancing.

For most developers who love their field and have no desire to freelance, I’d recommend seeking employment at a software/web development company rather than an insurance company, bank, etc. Being on the front lines as production staff (the people making the money) generally means that your interests and the company’s interests better align: higher pay, more interesting, varied work, and greater respect. However, for those looking to moonlight on the side, this often presents a conflict of interest. Don’t be tempted to circumvent a non-compete agreement, unless you have both a good legal standing and a very good personal reason for doing so. This can backfire and ruin much of the goodwill you’ve spent your career building. Additionally, it will burn a bridge that otherwise could be a great backup plan in the event that freelancing doesn’t work as well as planned.

A better option is to find a job that allows you to comfortably leave “work at work.” While not as exciting (or lucrative) as other career options, it does leave enough energy to pursue side work in the evenings and on weekends. You may even want to make a lateral move and spend your days doing something other than development to help prevent burnout. In my case, I took a job as an IT Manager for a microchip engineering company.

Step #4: Tap your network to find gigs.

I use quantity of LinkedIn connections as a measure of preparedness to enter the freelance marketplace. Are you connected to less than 100 people? If so, step up your networking efforts. While wholly arbitrary, it’s a good barometer to whether you lack a large enough network to support freelancing. Using this network, reach out to past employers, coworkers, and clients. Let them know that you’re currently seeking side work and whether they know anyone who needs help. This type of shameless self-promotion might push you outside your comfort zone, but becomes easier with practice. And if you have the desire to becoming solely reliant upon freelancing to earn a living, learning how to sell yourself is an essential skill.

I’d also recommend that you give freelance marketplaces such as ODesk, Elance,, and a shot. Don’t concern yourself with the fact that you’re bidding against developers from all over the world who are willing to work for pennies. My company is in the top 0.8% of providers on one of the aforementioned marketplaces. We use it for short term, filler work and routinely bring in more than $100/hr because I’ve gotten rather good at marketing our services. I’m highly selective about the projects I bid on and in my initial contact I address the specific problem that’s immediately in front of the client.

Step #5: Keep raising your rates until your gigs pay better than your “real” job.

Rational people make purchasing decisions based on value, not price. Pricing yourself beyond the reach of irrational clients is a good first line-of-defense against taking jobs you’ll regret. As you work to establish your reputation as a freelancer, your time becomes more valuable. The industry is fraught with unreliable and poorly skilled freelance web developers. Always ensure that your rate grows with your value.

Properly pricing your web development services can be tricky, especially for those who don’t have a background in business. However, if you’re taking the advice of this article and gradually and organically growing your freelancing, it actually becomes rather simple: Allocate a fixed amount of hours each week to your freelance gigs, perhaps 12-20. Doing so will help prevent burnout and, since work expands to fill available space, force you to work more efficiently. Once you’re consistently booked each week, raise your rates on new clients by 20%. Rinse and repeat until you’re turning away more than half of new business and then begin raising rates on existing clients. The goal is to hit an equilibrium where your schedule is booked solid 4-5 weeks in advance. Getting to this point will take several years of hard work and you will make a lot of mistakes. Learn from them and move on.

Step #6: Profit! (er, hopefully)

Assuming you’ve been patient, persistent, and extremely driven, by this point your freelancing should be more lucrative than your day job. The decision of when to make the leap into full-time freelancing is a very personal one. It will vary depending on your risk tolerance, skill level, amount of debt, family obligations, and other factors. In other cases, such as with myself, the decision is made for you through the loss of your job. However, looking back on it now from the perspective someone who’s managed the finances of a business, ideally I wouldn’t recommend quitting until you’re consistently making double your annual salary with freelancing 20 or less hours a week. If that sounds like a lot of money for a lot less work, you’re in for a shock. At the end of most months, you’re likely to be making about the same as you did at your day job.

Now that you’ve escaped your day job, remember this mantra: Always Be Selling. Freelancers frequently slip into a “feast or famine” cycle. One month you may be feverishly pulling 70 hour work weeks while the next your diet may consist mainly of Ramen and PB&J. This cycle occurs when you let your pipeline dry up and focus exclusively on the fun work of building web sites. Even if you’ve got more work than you can handle, spend one day a week (20% of your time) on business development efforts. It needn’t be anything as dreadful as cold calling (and in fact, shouldn’t be if you’ve carefully managed your pipeline). Call/email past clients to reconnect, attend networking events, or update your blog.

Beyond: Specialize and then clone yourself–or hire (whichever is easier.)

I could write a book on everything that I’ve learned (the hard way) that fits under this heading. Briefly though: the most important bit is to specialize. My company, RightBrain Networks, specializes in consulting on engineering best practices for applications that run “in the cloud” (generally Amazon Web Services). There are other companies out there that only make websites for luxury car dealerships or personal injury law firms. And there are yet other, independent freelancers who make a killing supporting legacy ColdFusion or ASP classic applications. Don’t be afraid to specialize. At first, it can be unnerving to turn away work that doesn’t fit with your new, better-defined vision. But it’s a necessary step unless you want to permanently be competing with every person on the planet that has ink jet-printed business cards that say “freelance web developer.”

Hiring is an even more tangled topic to wade into. Growing to need employees is what graduates a freelancer from the ranks of the self-employed to a business owner. However, a person absolutely must be sure that he wants be a business owner first and a web developer second. Plenty of businesses fail because the owners figure that it will run itself if they focus on the billable work. Employees are God-awful expensive and the company has to be in a condition to support them, but it’s because they’re worth it when/if you’re ready. Don’t be in a hurry to hire and remember that a comfortable living can be made as a successful freelancer, sans employees. Work your network and find other freelancers to assist with overflow work on a contracted basis. Do this for as long as possible before contemplating hiring actual employees.

30 Replies to “How To Become a Successful Freelance Web Developer (and Not Kill Your Career)”

  1. Hey Jamie,

    Great post! Your reasons given are exactly why my partner (a former freelance dev) and I started matchist. We match great projects to great developers.

    I’d love to touch base with you and get feedback on how you think we can be the most useful to freelance developers given your extensive experience.


    Stella Fayman
    cofounder, matchist

  2. Very nice suggestions. I have just started my career as a freelancer web developer. I will definitely take care of the points you talked about. Many thanks!

  3. I used to Freelance using Elance and had a pretty successful run for a little over a year, I was getting good ratings, and I started off with small one-off few hour projects, and worked my way up to larger projects with the same very good results. In the end I found that I wasn’t that great at managing a business, since even though I thought I was making good money, after about a year I realized I had only made around $28k less Elance fees. I decided that for the time being freelancing wasn’t for me, until I had more experience with running a business, but like you mention I was in a situation where I didn’t want to be a business owner, I just wanted to be working on interesting projects. I eventually found a job at a healthcare startup where I work now, with a much higher consistent salary, although there is a risk that we won’t be around for long, but for the time being it allows me to learn new technologies and really polish up on my skills before I decide if it’s time once again to make another attempt at freelancing.

  4. Most of you advice makes sense but doing gigs on the side until they pay as well or better than your full time job sounds like a recipe for disaster. It will be hard to maintain the quality of work on next to no sleep.

  5. Yes! This. As a small business owner, we can only afford to hire spec work. And, we’re looking for good people constantly. Get out there and talk to people so we can find you. Having a personal webpage/resume site is great too. You’ll probably get a lot of “Facebook for Cats” inquiries. But, those can be entertaining. There’s a huge gap in the market right now for quality freelancers.

  6. Bill, Thanks for the comment. The reason for allocating a specified block of hours per week is intended to guard against burnout. This allows you to hold constant the amount of work and let your hourly rate be the variable.

  7. Good people are too busy turning away six-figure job offers to consider spec work. That might be why you’re constantly having problems finding them.

  8. I am interested to know how do you find freelance work via LinkedIn by using connections? Do you email them?

    I have 800+ connections.

  9. No, LinkedIn has never been a good source of business for me. I generally only ever get recruiters contacting me. I mentioned LinkedIn purely as a proxy to gauge one’s networking efforts.

  10. Well , Bravo …

    Amazing tips for someone who is thinking of freelance career path , like myself. I am a budding developer right now and thinking of becoming a best in the market. i am working for a company as a developer now…so i am actually happy that i found that was the first thing you pointed out. thank you very much for all the tips …i’ll follow this post for further help and support.
    Once again , Thanks a lot. πŸ™‚

  11. Step #5: Keep raising your rates until your gigs pay better than your β€œreal” job.
    Most web developers don’t dare to take this step.

  12. Hey Jamie,

    This is a brilliant read, very glad I stumbled upon it. I particularly like your point about pricing yourself accordingly to avoid said irrational clients. I’ve been there in the past myself, and it really isn’t worth the effort you put into it. I’ve found that the clients I want to work with, are those that understand money must be spent in order to get a return- and you can’t build a profitable website in an hour (usually!).

    Great read.

  13. Good article. In particular, I wanted to comment on Step #4: Tap your network to find gigs. You mentioned freelance marketplaces, which can be a good source of leads but they are usually buried in amongst a huge amount of low-paying rubbish.

    I’ve just launched a service that sifts through a variety of sources to create a list of quality freelance development leads. These are then condensed into a daily e-mail — you can see an example here:

    I thought this service might be of interest to your readers. More information can be found at the following page:

    Thanks again for the great article!


  14. That bit about oDesk is absolute BS. I signed up for oDesk, filled out all the info, and found ALL jobs on oDesk are the same:

    – Extremely low wages for Extremely high amount of work
    – Unrealistic postings from academics that would put you in an extremely bad spot financially were you to accept: such as “Develop face recognition software in 4 months for $5000”
    – Tons of poorly defined, really bad projects that would be really hard to work on, since the poster doesn’t even seem sure if what he’s posting is POSSIBLE
    – Even student homework gets posted ($100 to do student term work??)

    The website doesn’t seem to do ANYTHING to help filter “real jobs” from random BS that people are posting.

  15. Luckily, oDesk has been absorbed by a more successful competitor called Elance. I agree that some of the ‘marketplaces’ can be a joke. But I believe Elance has always been slightly better than oDesk. The companies promised even more improvements for 2014 since the merger. I hope so.

    I’ve also had success hiring freelancers on this site/a>

  16. Hi Jamie,

    First of all Thanks a ton for this wonderful article!! I have just started my career after completing my computers degree and have cracked a job as a PHP trainee in a local firm. This article indeed helped me clear my mind and set a straight path to be a “Successful Freelancer”.

    Thanks once again and best of luck.

  17. Thanks, very good article. Programming is such a fast growing job field with so many opportunities evolving, so a lot of people wonder what it takes to start a career in web development. There was a great article on TechCrunch yesterday on why you should not believe that learning programming is easy,
    Plus here’s 5 tips on how to become a web developer from somebody who has done it.

  18. Ahh pricing your projects correctly, now that is something I have learned to do properly, I’ve heard many experienced freelancers say “double your rate right now, you’re undercharging” and most of the time, they are right, double or even triple your current rate right now.
    I wrote my own little guide on how to get more work as a freelance web dev on my blog, you can read it here: How to find more work as a freelance web developer

  19. Your advices helped me to think more deeply about web dev.As a beginner I am trying to collect important info’s of freelancing.I prefer web dev as my freelancing career because it is very interesting to deal.

  20. Really nice article that I think anyone planning on going freelance would benefit from reading. I was lucky when I made the move, having a limited network yet still managing to build a reasonable client base, however I have definitely had to force myself to develop those “soft skills” more and more to make sure I don’t lose site of the ever important marketing side of my industry.

  21. Great great article! But a little scary to me. I’m currently a Mechanical engineer (4years of experience). I would like to become a freelancer as I don’t enjoy working for someone else because you depend in your boss or your company to like you to continue having a job. I don’t like the idea that one day a lay off migth happen as a surprise and then I’ll have to find another iob and put my financial future in someone elses hands AGAIN. I also can’t wait to leave my current job, I don’t like it and can’t find motivation for it anymore.

    I know freelance can bring alot of uncertainty if you can’t find clients consistantly but I would like to give it a try.

    I find it difficult to freelance in my field because I’ll need like 15-20 years of experience and my specialty is not very “freelancable” AND because it doesnt give you the option to work remotely. I find programming interesting and decided to become a freelance once I learn how to programm. For sure it will be difficult for me to find a job like tou mentioned in Advice #1 because of my background not being in wed depelopment. It will also be difficult for me to start building that network at work because of what I just mentioned.

    So, do you Jamie or anybody else has an advice for someone with my background. By the way I’m currently learning HTML and CSS. But willing to work hand and learn more languagues.

Leave a Reply

Your email address will not be published. Required fields are marked *