I'm Ryan Waggoner. I build things. I blog about how to work harder and smarter to build the life you want. You should subscribe.

How to become a freelance web developer


Posted in Entrepreneurship, Goals, Posts, Technology by

I graduated from college in 2006 and moved to San Francisco where I landed a job as a product manager at CNET, working on GameSpot.com. It was a fantastic job, great place to work, and I learned a lot. But being an employee just isn’t me, and I quit after 11 months to start doing freelance web development work full-time. I didn’t have much experience and had done very little client work up to that point, so the transition was rough. The first couple years were hard, and I almost caved several times and just got a job. But going into 2010, things started to really shift in a perceptible way. I’ve had enough people ask me for advice that I figured I’d write up a quick guide. These are a few of the things I’ve learned along the way; hopefully you’ll find them useful as well.

Types of freelance

There are different types of freelance web development. I started out building one-off websites and web application prototypes for individuals or fledgling startups where I was the only developer they had, then moved on to working with design agencies who had several freelancers they worked with, and I’m currently doing longer-term contract work with companies who have internal development teams but need some extra help for larger projects or initiatives. There are advantages and disadvantages to each of these approaches, but know that when you’re just starting out as a web developer, it’s probably going to be easier to get the jobs building websites for small businesses and non-technical individuals who have a startup idea. If you’re an experienced web developer and this is just your first foray into freelancing, any of these approaches are probably open to you.

Sample work

You don’t need to have a huge body of work to get started, but you do need at least a couple of sites that you’ve built or worked on. They don’t have to be client work; my first two sites were a web app that I built with a couple friends and my own personal blog. This brings up two important points:

  • You absolutely need a website of your own, and preferably a blog (try to get http://yourname.com)
  • Assuming your projects function correctly, 95% of clients at this level are going to judge your web development skills based almost solely on the design of your sites. Unfair, but true.

If you don’t have any sample work at all because all your work is for your employer, then you probably need to build something. If you have a household name on your resume, you’re way ahead and you might just need a personal blog that looks good. If you don’t have any sample work at all because you haven’t built anything, you’re not ready to freelance. Build something first, even if it’s just for fun.

Oh, and on a practical note, most developers I know have a mediocre design sense. Get a designer friend to look at your projects or use templates from themeforest.net or something similar. I can’t stress enough how important the design thing is, especially to non-technical customers.

Finding work

This is entirely dependent on what kind of work you want to do, but for almost all types, I’ve found Craigslist to be the best place to find work. The amount of junk on there is staggering, but there’s gems in there. Probably 90% of my work over the last three years has come directly or indirectly from Craigslist. Just keep a few things in mind:

  • There’s a lot of people kicking tires who have no intention of hiring you or even getting back to you
  • There’s a lot of developers who respond to every post, so the signal-to-noise ratio for posters is bad
  • Of the people who do respond, only about 10% are people with a budget who are worth working with
  • Weeding out the 10% from the 90% is really time-consuming

This all means two things:

  • It’s a numbers game. You’ll have to respond to a LOT of ads before you get a good gig.
  • Anything you can do to weed people out faster is helpful

My method for trolling through Craigslist is to grab RSS feeds for all the major cities where I’m interested and setup in Google Reader. Then a couple times a day, I scroll through the hundreds of new listings and open all the interesting ones in new tabs. Then I go through each one, check to make sure it’s relevant and then send them a cover letter, resume, links to my projects, etc. In the course of a week doing this, I may send out a couple hundred emails. From those, I’ll probably hear back about 10% of the time, though this might be a function of my rate. Of those 10%, maybe a third will go somewhere.

Let me make something clear: this isn’t spamming. Yes, I have a series of standard (well-written) cover letter that I start with, but I spend a few minutes tailoring the letter to the ad, where necessary. I have never had a single person email me back and say that I was spamming them, that I obviously hadn’t read the ad, etc. I’ve had a lot of people tell me that they appreciated me sending a tailored cover letter, though.

The other thing I do that’s really helpful is put my hourly rate in my initial emails. This filters out most of those 90% who aren’t worth dealing with because they have no budget or are looking for someone to clone Facebook for $15 / hr.

The other method that I have found works really well is periodically posting in the Resume section on Craigslist. I just put a list of my skills, some links to projects, that I’m looking for remote gigs, and my hourly rate. I don’t get a ton of responses (except from recruiters), but the ones I get are usually high quality because they’re pre-qualified.

Other sites that I’ve found work on include Dice.com (lots of recruiters), Freelance Switch jobs board, 37signals gigs board, and AuthenticJobs.com.

Speaking of recruiters, most of them are terrible. I try to filter them by always posting that I’m only looking for contract work, for remote stuff, etc. but it doesn’t matter much. You’ll get lots of recruiter spam. I just reply that I’m only looking for remote contract work and send them a rate that’s 2x my normal rate. If they bite, great. Also, not all recruiters are bad: two of my most lucrative and non-stressful long-term contract gigs came from recruiters who found me on Dice or Craigslist. You won’t be working with the recruiter long-term, so it’s more about the company they’re recruiting for.

Getting paid

When working with new clients, I like to get an upfront payment and I try to avoid turning over the code until I’ve been paid in full. For my regular clients, I don’t worry about this, because they’ve proven themselves trustworthy, but I’ve almost been burned a few times by doing work and sending it out into the ether. On the other hand, I’ve been screwed far less often than I would expect. Maybe it’s a function of charging higher rates, and thus getting higher quality clients. Which brings me to my next point:

If you’re stressed because you have too much work, not enough work, terrible clients, etc., there’s a simple solution: raise your rates. It’s pretty incredible, but raising your rates from say $50 / hr to $75 / hr will probably not be the death knell you imagine. In fact, you might find that you get more work, better work, better clients, and make more while working less. There’s a few things going on here, but I think the main one is perceived value. You need to have the chops to do the work you get, but I highly recommend raising your rates.

I’ve got more tips, but I’m going to save them for a part 2 if anyone is interested. Post any questions you have and I’ll address them in part 2.

Update: Part 2 can now be found here.

You should subscribe and follow me on Twitter here.



30 Responses to “How to become a freelance web developer”

  1. This post was great. I'd like some more depth on how to get jobs (although I know there's only so much you can really tell). I send out a decent amount of emails but don't get a whole lot of response. It's not a big deal most of the time because I already have several fairly large clients I do the bulk of my work for, but I've been wanting to expand my customer base. Maybe a sample of the sort of email you send out?

    Anyway, great entry. Really enjoyed it. Looking forward to part 2.

    • Also, what do you do about design? I've mostly used custom template (i.e. purchase a template and then modify it).

    • Kirk True says:

      Hi Brent – same boat. I have a small number of very large clients. I'd like to expand and am looking for tips. Not too much traction doing "cold calls" – not unsurprising I guess :)

  2. wilwaldon says:

    Great post. As far as design skills go, I'm average. I do have a friend that's a designer and we often trade design for code work for our portfolios.

    Thanks for a great post!

    • Hussain Butt says:

      Great article and nice to see someone lay down a plan for budding
      freelancers to follow. There’s loads of ideas on the web but most just
      say throw loads of mud at the wall and see what sticks. I like this
      because it is a battle plan. Thanks for the tips.

  3. ikbear says:

    which do you think about web programming language? which one should i learn? i want to learn ruby, not php, but there are more php jobs than ruby jobs.

  4. @chevasb says:

    Super helpful. I've just started doing freelance work as a designer and you've answered some of my questions.

  5. Dan says:

    How much freedom do you have as a freelancer regarding language/platform ? For example, do clients insist on PHP (for example) or are they indifferent ?

    Also how many jobs are legacy – fixing or extending existing projects ?

  6. Dan:

    In my experience, some clients care about the backend because they've already purchased/have hosting and can only support certain technologies. Most of my smaller clients have been pretty flexible–they just want it to work.

  7. Mahesh says:

    Once again!!! great article…
    I always struggle to find a good cover letter or I would say write a good cover letter.
    I am not asking about exact text but what to include, should formal or non formal or have more than one cover letter ready to use template etc.

  8. Kirk True says:

    Ryan – great post. I'm in a similar boat – consulting for ~5 years, can't see going FTE ever again :)

    Not sure I agree or disagree about Craigslist. Lots of stuff there, but low paying as I've found. Word-of-mouth and referrals have kept me working 40+ hours a week for the last few years.

    Check out Freelance Camp (http://freelancecamp.org) – there's one in Mountain View in January and it would be great to meet up.

    Oh, and I'm interested in part II :)

  9. Kris says:

    Hi Ryan, thanks for the great post. Do you send your cover letter only if the position explicitly mentions remote work as being an option, or do you find that people are frequently open to it despite the job listing? If you have any tips on filtering for remote positions, I'd be interested to hear this as well.

  10. Sean says:

    Ryan,

    I enjoyed your post. If you do decide to do a part 2, would you go a bit into type of skills needed and most sought after for freelance webdev work? Biggest reason people don't go into business for themselves, even thought they've been doing the same work for their employers is they just don't know if they are capable of it. What skills and how to get started are two questions holding me back.

    Thanks,

  11. Leon Flux says:

    Hmm,

    sometimes I ask myself why there are no agents for developers. Actors, musicians, photographers, etc. have agents who get them gigs so they can concentrate on their work. Why is there no coder agency?

    I'm doing freelance work and the hardest part for me is to find the work and get the job. I'm way too humble and tend to undersell myself. So the jobs usually go to some hotshots who don't have my skill set but can sell themselves better than I can. :/

    /rant

    • Nick says:

      That's what recruiters are for. Like agents, they take a cut of your earnings in exchange for finding work suitable to your skillset. There's a lot of shady recruiters (much like agents I suppose) but finding a good one can pay off.

  12. I'm a student that's just finishing up school and working on building a profile which will likely consist of several pieces that will be created solely for examples. I was wondering what type of target audience and design philosophy (minimalist, abstract, sleek professional, or demonstrations of technical ability) you have had the best response from, if that's a question you can even answer.

    As a second question that came to mind while reading your article, you discussed the possible benefits of raising your hourly rates to improve your clientèle. I was wondering what your opinion on that subject would be for someone in my situation? Should I start low and rough it just to get jobs to build a portfolio or start a more competitive rate to build a portfolio of higher caliber work in hopes of attracting other projects with a similar budget?

    Thank you for the helpful article and I look forward to further brain-food in part 2.

  13. Dave says:

    I look forward to part two. I couldn’t agree more about raising your rates. My day job is computer repair and I charge a lot- probably 2x what other local techs charge. I’m very up front about my rate, and it does turn many people off. However the customers I do have are a delight. They never complain about how much I charge, never hassle me over bills, and I can afford to thow in occasional freebies (cables, connectors etc) that other people charge for.

    The cheapskate, haggling, money grubbing, occasionally crazy people? I send them to the other techs in town. They need the business anyway.

  14. [...] the article here: How to become a freelance web developer | Ryan Waggoner Tagged as: cnet, fantastic-job, francisco, manager-at-cnet, product-manager, working-on-gamespot [...]

  15. BostonOU says:

    Some questions for you:

    How did you handle some practical yet annoying things like health insurance and taxes?

    Also, what are your thoughts on having savings before venturing out as a freelancer (for those of us who have mortgages, student loans, etc.)?

    Agree with the commenter above that asked about filtering for jobs that are open to remote development.

  16. Joe says:

    Great post Ryan! This far surpasses any article written on the generic Freelance Sites (one of which you mentioned in the article). One question for you: How much did you have in savings before you made the jump? I've got all the assets set up (site, blog, resume, etc..) and now I'm just waiting for the right moment to quit my job and go freelance.

    I'm planning on having 3//4 months savings before I quit, to cover some start up lag. Also, I consider myself to be a very hard working guy, if I'm grinding hard and being smart about seeking out clients and finding work, does the process come somewhat naturally, or is it something that takes a while to figure out?

    thanks again!

  17. [...] lot of people apparently got some value from the post yesterday on how to become a freelancer, so here’s part 2. Hopefully I’ll hit everything that people asked me, though I’m [...]

  18. [...] a great 2 part blog post by Ryan Waggoner (part 1, part2) about freelancing as a developer. I think he has some really good advice here and covers [...]

  19. [...] How to become a freelance web developer | Ryan Waggoner I graduated from college in 2006 and moved to San Francisco where I landed a job as a product manager at CNET, working on GameSpot.com. It was a fantastic job, great place to work, and I learned a lot. But being an employee just isn’t me, and I quit after 11 months to start doing freelance web development work full-time. I didn’t have much experience and had done very little client work up to that point, so the transition was rough. The first couple years were hard, and I almost caved several times and just got a job. But going into 2010, things started to really shift in a perceptible way. I’ve had enough people ask me for advice that I figured I’d write up a quick guide. These are a few of the things I’ve learned along the way; hopefully you’ll find them useful as well. (tags: financial employment web-developer blogs) [...]

  20. n0wak says:

    “You absolutely need a website of your own, and preferably a blog”

    If you’re starting out, sure. Otherwise, networks and past clients and word of mouth speaks a hell of a lot more than some website.

  21. [...] part one, Ryan discusses how he finds freelance jobs through Craigslist. I found this of particular interest [...]

  22. [...] could find on the subject of freelance consulting. A nice thread on Hacker News, here’s a Two part series by Ryan Waggoner on freelancing. One of the pieces of advice was to use Craigslist, so [...]

  23. Priom says:

    Very well written and much needed article! Thanks :D

  24. Really fascinating articles. I enjoyed reading it. Are these genuine photos or has the paintings been touched up they are truly. Thanks for sharing a pleasant info.

  25. Shivam says:

    Thanks for great article. I started this field about 9 months ago and landed a pretty good paying web developer job about 7 months ago (I'm 20 years old). I also go to school full time and work full time. It is really difficult for me to manage school and work at the same time so I was considering maybe working freelance like you. Now I am not an expert but I would say I am a pretty good front-end developer. I am just afraid of not getting a consistent paycheck… Also most of my work if from my employer, and he wont allow me to use it in my own portfolio site, do you have any advice on that?

    Thanks!

  26. Nick says:

    Find out what others charge and then make up your own number. Adjust up or down based on your level of experience.

Leave a Reply

Subscribe by email:
Connect With Me