Hacker News new | past | comments | ask | show | jobs | submit login
How To Become a Successful Freelance Web Developer (and Not Kill Your Career) (jamiebegin.com)
174 points by Killswitch on Dec 27, 2012 | hide | past | web | favorite | 64 comments

I've been a consultant for close to 5 years and have written similar articles in the past. I agree with just about everything in the post.

What I find most often is that aspiring freelancers/consultants don't realize 1 important fact: Freelancing/consulting is harder than a 9-5 salary job, in every way. If it's one theme that rings constant among freelancers or consultants that I've lent an ear to, it's the "I thought it would be easier" sentiment.

And that supplements the point made in the article. So many developers think their craft is enough to succeed as a freelancer or consultant; the truth is quite the opposite. A business' success depends on marketing and selling their services, and that's what most (if not every) developer underestimates when they start a freelance or consulting business.

To help combat that, I also advocate the gradual approach. Take a full time job in the industry for a few years first, then build up your freelance/consulting business on the side until it becomes sustainable.

"So many developers think their craft is enough to succeed as a freelancer or consultant; the truth is quite the opposite."

Couldn't agree more. When you become a freelance developer, you are no longer ONLY a developer. You're customer service, sales, accounting, business development, and so much more. Coding is now a portion of what you do, not ALL you do.

I actually recently started matchist (http://matchist.com/talent) to take care of the "constantly finding clients" aspect that I remember from my days as a freelancer. We find you quality work that will pay you on time, every time (because we also facilitate the payment process).

To save you the trip to the site, unfortunately it's only for US devs.

"I am based in United States" checkbox that gives a validation error... that's rude.

Next time just go on and hardcode an alert box stating that your product is for North American Citizens only, please.

> Freelancing/consulting is harder than a 9-5 salary job, in every way

If its harder in EVERY WAY, why are you doing it ? There must be some positive points.

9-5 could be harder in following ways:

1. Annoying co-workers and/or boss.

2. Office politics

3. No enough pay and/or credit for your work

4. Not able to telecommute

5. Can't build your own portfolio

6. Can't get paid for overtime

7. You could get fired anytime

8. Don't get opportunities to develop entrepreneurial skills

9. You can't choose your projects

10. Don't have to refresh Linked List and DFS every time you go for an interview (for software jobs).

If its harder in EVERY WAY, why are you doing it ? There must be some positive points.

There certainly are. It comes down to how you want to pursue your career.

I also get the point you're making with your list, but know that most of those aren't exclusive to 9-5 jobs, or don't hold true in some cases. Two points in particular:

- I wasn't able to cite work from my first year as a full time freelancer in my portfolio. The company I was contracting with at the time didn't allow it. However, I was able to include the side projects I had completed when I was a full time employee.

- Some consulting or freelance gigs have a 100% on-site requirement. A full time job I passed on last year was 100% telecommute.

Harder does not necessarily imply less rewarding.

hhmmm i've had a very different experience. i've never held a full-time working-for-the-man software development job but i've been freelancing for a bit over a year to bootstrap my own products. the money and flexibility is great. i got initial gigs because i'd been building my own product so i had something cool out in the world to point to. i think this is the single best way to get clients. have something that you - not you and a giant team of people, you - conceived of and built. when people see it (provided it looks good and works) they'll want to hire you. now i get gigs because i have happy clients and i'm a sociable person so they recommend me. people like working with me. so, build something you're proud of to show off and be a pleasure to work with. i've never gotten a gig through linkedin although recruiters contact me regularly. i have gotten gigs through hacker news, however, and they tend to be really good clients.

*edit: ALSO -- make friends with other freelancers and share your network! i've sent dozens of leads to people i know around Boston. this buys you social capital. people will reciprocate.

I've been running a website of my own for over 15 years and every job and client I've ever had stemmed from that site. This site got me my first job in college all the way until my latest client. I can't stress how important it is to build something on your own and keep at it. I've also never gotten a job through LinkedIn, but I have gotten local clients from Craigslist. I've also had a lot of success getting clients being established on forums and going to business conferences.

Would that site be of any interest to HN or is it a niche site?

I believe so, but I've still got some things I'd like to do before I formally Show HN. You can find it on my profile if you are curious.

I agree. Being a freelancer means working on your own passion projects. The problem I have is the occasional inability to turn down lower paying or boring projects because I don't have a great buffer of savings. That's where taking a full-time salaried position for a while can really come in handy.

Great points. Thanks! There's more than one right answer and I certainly don't have them all. My blog post was just a reflection on what I've seen be most successful over the years.

"your skills will erode as you crank out an endless stream of cheap WordPress sites".

That is so right on the spot. That's exactly how I feel right now and I'm pretty sick of it. I decided to just stop freelancing (I'm still a student so I never really had a full-time job). Most cheap clients only want simple websites that take zero skill to make.

Sounds like you were targeting the wrong market. Pick the skills you want to sell and only sell them. If making cheap WP sites isn't what you want to do then don't do that.

I've been freelancing full time for 2 years. When I started I knew I had no interest in doing brochure type sites. I only market myself as a web app developer, and more recently only as a front end / JS dev. When people come to me with "my dad needs a website for his restaurant" I tell them that's not what I do and refer them to people who do that.

But that's easy money. Take that easy money, and in your spare time, build something you can sell, be it a theme or passion product. Soon the client work is icing on the cake, and you can take it or leave it.

I'm pretty sick of it... Most cheap clients only want simple websites that take zero skill to make.

Sounds like a lot of full-time web jobs, too, especially outside the Valley. I speak from experience.

I decided to just stop freelancing...

Keep this perk of freelancing in mind. Such a career lends itself much more to pivoting than full-time ones.

So what's the sweet spot for projects as a single freelancer? Simple Wordpress sites are easy but unfulfilling. But most interesting projects are beyond the scope of a single developer.

I think you've got to be part of a larger group. The past few months I've found a couple of other guys with complimentary skill sets. We've been able to do some higher end work that we never could have managed individually. Up to now, we've just subcontracted to each other, but we are talking about forming a co-op of sorts.

I'm lucky enough to be a solo developer working on an interesting freelance project at the moment. Just a 4 week project but I'm working on data collation of various gambling APIs. The work is out there, we just need to work out how to find it.

Then again some people might not find that work interesting - you might prefer working on bigger projects. I think that successfully implementing large scale software projects is an interesting challenge in itself. It certainly presents problems I don't know how to solve :)

> But most interesting projects are beyond the scope of a single developer.

Why? I don't find this to be the case.

That's what I've seen from my experience. But I might have a limited perspective. Could you provide some examples of interesting freelance projects for a single developer?

I have a long term client where initially I took over maintenance of a Rails-written brochure site as their existing freelancer was moving on. From there the relationship developed and I now have built a suite of inter-related apps (and manage their own private network) for them (on a retainer so I have guaranteed income). The work isn't cutting edge but its much more interesting than churning out sites according to someone else's design.

To Jesse who emailed me; we had an outage with the EmberAds support system, so I lost your details - please mail me at ycombinator at madeofstone.net please.

This really comes down to confidence in your ability.

I wrote http://myanimcalcam.com by myself. This site is definitely more complex than a standard Wordpress install, but didn't require a team.

I also find adding features to existing sites a good source of "interesting" income. "I've got a website that does this but I need it to do this too" is a common problem I solve for my clients.

Also I'm not afraid of straying away from the "I built websites role" by producing in house systems for companies. A lot of these applications can be done by a single developer.

I took over development of a fairly large Drupal site with Ubercart and multiple external API tie-ins. It took the original team nearly 2 years to develop it for a rather large client. Now I'm the only developer working on it making some interesting and sometimes complicated changes. I find this to be an ideal client.

Many Django or Rails sites are well within single developer range. They would sure beat Wordpress in the fulfilling department.

Any advice where to get started with that? I was hired as a WordPress dev a year ago out of college. I didn't go to school for it, HTML/CSS was just a hobby. Taught myself to develop fully responsive sites from scratch in WP. I'm just starting Udacity CS101 and learning Python. Django seems really neat, I started the DjangoBook.. not sure where to go from here. Appreciate any input!

Learning Python first is a good step. There are lots of good books for Python. I liked the book "Python Essential Reference", but there are many tutorial style books that might be better for you.

Once you have the basics of Python in hand, then you can move on to Django. Unfortunately, all of the books on Django are hopelessly out of date. I think the most recent is Django 1.1 in 2010 or so. That means that the examples in the books don't run without some minor changes. I got things to work by Googling problems, but it is frustrating. They are starting to update the DjangoBook to 1.4, but they are not there yet (I don't think).

The online Django documentation is good and up to date. There is a nice Tutorial in the docs that is up to date:


You should do that, although it is kind of basic.

Here is a web page with some other Django resources:


There was a Kickstarter that was funded this September on Getting Started with Django, which looks great.

http://www.kickstarter.com/projects/657368266/getting-starte... http://gettingstartedwithdjango.com/

Unfortunately, the videos don't seem to exist yet, but keep an eye on it. I'd imagine they are coming soon.

There are tutorials before the start of DjangoCon, that are a good way to learn.

http://www.djangocon.us/ http://2013.djangocon.eu/

DjangoCon is small enough that you can meet all of the people in the community.

Thank you for the advice!

You might enjoy checking out Sinatra. It's a Ruby framework for building simple websites, and I've found that front-end developers can migrate to it without too much hassle. If you like it, you can then play around with Ruby on Rails (which is a far trickier beast). But if you're enjoying Python or Django, then don't feel like you need to switch. Work on projects that are fun for you and that help you learn new skills.

Thanks for the advice. I am really interested in RoR, but I have heard it is tricky as you say. I may just stick with Python until I feel comfortable with it.

Background: contractor on and off for years. Just moved from permanent to freelance; a totally different world from contracting.

There are a couple of things that have really worked out well for me this time around.

I left an agency - and I took some of their clients with me (don't worry, it's all above board). They have clients that are too small / too complex for them, but perfect for me. It's a great arrangement - the clients already know me, nothing much changes from their point of view. Best of all, they're already used to paying agency rates.

I'd suggest that if you're working at an agency you ask around to see if you could do the same. It really can work out in everyone's favour (particularly yours).

Secondly, I read a lot of patio11's advice [0] so I wasn't scared of asking for much higher rates than I ever had before.

[0] http://www.kalzumeus.com/greatest-hits/

I stopped right after this:

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.

This is a gross generalization. When I started doing freelance a bit over a year ago, I had $500 in the bank, one client, and was quitting an internship at a low bar design studio. If any word applies to my story, it's premature (I decided to quit 24 hours before I resigned). In professional terms, I was an idiot.

But, that didn't mean I was left in a lurch of WordPress sites and sorrow. Rather, it led to immense motivation to develop my skills and build up my network. How did I do it? I was realistic about my skills, my pricing, and the jobs I would get. Then, I busted my ass to turn around excellent work. Time after time, I delivered, either resulting in repeat business or referrals. What's better, my skills have significantly developed.

Don't be discouraged by this. Acknowledge where you're at, where you want to be, and work to build a bridge between those two points. It take a very long time and a lot of hard work. If you're serious: don't give up and keep getting better.

Note he said >can< severely damage your career and mental health, not >will< severely damage your career and mental health.

The former implies a possibility. That what he describes didn't happen in your case, while worth applauding, doesn't make the possibility any less true, especially for those that actually experience what the OP describes.

That's exactly the part that bothers me the most. It's just like fortune tellers saying what can happen. If it's a statement, then it's unfalcifiable and hence is useless. If it's something else(a lesson?) then it should have a better context. I'm just a bit strict on people making statements.

"Pricing yourself beyond the reach of irrational clients is a good first line-of-defense against taking jobs you’ll regret." - great advice. It's important to quickly filter irrational clients.

It's good to set a minimum contract size and tell people that up front. Also, discuss projects in terms of days, weeks or months of work, and not in hours. This way you can respond to inquiries for rates: "We charge $1500 per day, with a $7500 minimum contract size."

Then you can charge per project after a discussion on how many days or weeks it will take.

I started freelancing a little over 2 years ago and have more than doubled how much I was making at my previous agency job. A few tips would be:

- Save up 3 - 6 months "salary" before you jump-ship. While you are doing that, build your portfolio and start lining up work. If after 3 - 6 months you can't find work, you can always go back to working for someone else again.

- Hire an accountant. For the amount of stress they reduce, they are worth every penny.

- Establish good relationships with a few agencies close by, where you could possibly do contract work. You may not be able to charge them as much, but having them as a fall back when you are slow is nice.

- On a related note: Don't consider contract work through other agencies bad. From my experience, one agency gets work from another agency, who gets work from another agency, etc.. There is good money to be made being the production guy.

No. No no no no. There is absolutely no reason that you need to find full time non-freelance employment in order to network and build a freelance client base. That's complete nonsense.

I am so sick of seeing people do something, become successful, and then start telling other people that their way is the only right way.

This post is the missing part that Brennan Dunn and patio11 ignore. How do you bootstrap from zero clients? How do you build a reputation?

Ding ding ding! Without being facetious, this is the most core-aspect of any success. What is actually required is a training wheels level program or book outlining how and where to get the clients. Yes, some of us may have gotten lucky, or had a break that flew into our lap - this is not the rule. And in fact, anything else other than the rule is noise. Getting paying clients should be a key goal of any business. Selling your personal anecdotal experience does not help unless it is distilled into a repeatable formula.

I would like to point out that I've been at this game for a short while with mixed results. What has worked in my favor, well in favor of getting closer to winning a bid or getting paid: clean business presence, professional copy, actually rephrasing all requirements back to the client and how I'm going to solve his problem, not lowering my prices at all - I keep my bids in the upper 25% of what I perceive the ceiling to be, be attentive to every minutiae that seems core-like to the project, communicate without long delay regardless of level of inquiry - no question is too trivial.

Above is a result of unintentional lack of effective execution and then actually committing to being a better manager rather than an engineer. I didn't understand that while I was confident in my abilities to get the job done, I still didn't get that job because I didn't prove it to the client and sold myself.

Avenues that I used on and off: cheap advertisement on radio, local newspaper, business directory, offered to sponsor two contests, scavenged elance, offered promo work for free just like what the other fellow is doing on HN. Regardless, it is hard and not steady. I can tell that specialization and asking for a monthly retainer to offer pre-allocated hours to specific clients is probably the key to crossing that income stability threshold.

I'm very very cautious with retainers. The stable income is nice to have, but at the same time you have to make sure the contract terms doesn't debilitate you from working with other clients / finding new clients.

Guaranteeing an amount of days per month sounds great, but juggling commitments around these retainers and other customers is ( in my experience ) incredibly difficult, not to mention stressful.

I don't think Patrick or myself ignore the starting point - albeit my book is targeting freelancers WITH clients.

I can't begin to praise the effectiveness of in-person networking. Chamber of Commerce, technology councils, and other business forums are some of the best places to start. My strategy is to find business owners with problems I'm capable of solving. Checkout this blog post detailing my strategy (it's at the bottom): http://planscope.io/blog/my-most-effective-newsletter-to-dat...

I'm the author of the blog. Using the model that I wrote about, you "downshift" from a full-time job that has you on the front line, doing billable work to someplace where you're supporting internal business operations. This frees of you of conflict of interest problems and allows you the bandwidth to build up a side business, helping many of the same people you met previously in your career. The only difference is that it's in smaller chunks and time-shifted to evenings and weekends.

Slowly, and deliberately.

To add to the OP blog...

If you're adventurous, you can start a local user/meetup group focused on the topics you are passionate about, and people will find you. More than likely, recruiters will find you first, but it's a start.

Speak at local events, and have cards to give out. Follow up with anyone you exchanged cards with, even if just to say "thanks for chatting!". Have your site in your email. Have a phone number on the site. Answer the phone when it rings. Always. Reply to emails as fast as you can if/when you get them.

> This post is the missing part that Brennan Dunn and patio11 ignore. How do you bootstrap from zero clients? How do you build a reputation?

A sample size of two isn't authoritative but I know two people who started their freelance career path by doing real good work for a non-profit they had an existing connection to and cared about. Pro-bono work can be a good investment of time. It is not like spec work; more a labor of interest, for an organization you believe in.

I highly doubt you'd ask this question without being a successful freelance web developer. So instead of talking to you about skills, I can offer some business finance advice in general: CONTROL YOUR FINANCES!

I've learned a lot from the Easy Numbers blog (http://billysbillings.com/blog) by Billy's Billing. They share financial advice for entrepreneurs – including freelancers. A great way to save money from having to hire an accountant because you'll know what to do for yourself. Best of luck!

I couldn't recommend hiring an accountant enough. They remove a fair amount of stress from what you do and they will save you money. You may have to pay them £80 a month, but that will pay for itself.

I don't normally plug services but there's a guy I've been using in the UK who's great [0]. He gives you a xero account to make things nice and easy.

[0] http://www.capricaonline.co.uk/

I'd like to ask, when in your freelance career do you consider appropriate hiring an accountant, at what $ point. Currently the only time I feel the need to do it is by the end of the year to do taxes. I'm surely missing something, some advice on this would be grateful, thx.

Great post - I just started freelancing last year and I got some good tips out of it.

I'm interested that you mention LinkedIn to network, as the startup I'm working on is aimed precisely at helping freelancers find clients through their social networks. (Since we realised that most clients hate using eLance and prefer to ask amongst their professional contacts for referrals).

Would be great to chat more if you're interested (email is isaac@i.saac.me).

Granted, it could just be my lack of LinkedIn savviness, but it's never been a source of actual business for me (I'm the author of this blog post). The only people who actually seem to use LinkedIn are recruiters who sloppily blast off emails on keyword matches.

But I continue to use it because it allows me to keep track of what my contacts are doing, which gives me an excuse to reconnect with them: "Hey Bob, how are you liking that new job?" It also is another source of credibility when people Google my name if they're contemplating hiring me.

I've gotten one or two leads through Linkedin, though from contacts who knew me fairly well (well enough to vouch for my skills), and who had my email address as well. So the fact they used LinkedIn to make the connection was just for convenience.

That said, what I like about Linkedin is it widens your "social surface area" - my referrals have come from unexpected places (a university professor, a classmate, a guy I met at a hackathon, etc), and Linkedin is a good service for maintaining those type of contacts.

I'm not so good at maintaing contact with old connections (any tips? I read Never Eat Alone but as an introvert, I find it hard to get motivated to put it into practice). I think one thing the platform we're building should do, though, is encourage and support freelance devs to build their professional networks.

Nice article, I thought it'd be one of these self-help articles I personally can't stand, but I was quite surprised to see I've actually been following this very path.

I'm currently at Step #4, having a part-time job in the mornings and freelancing in the afternoon, and so far I've only been under stress occasionally for really short periods of time.

I just hope everything works out and I can reach the last step smoothly...

Great article and right on time. I've already gone through step #1 (7+ years FT dev experience in various companies/startups) and plan to break into freelancing/consulting in 2013. I especially appreciated the last part - specialisation - as I'd like to set up shop on one or more niche areas I have most experience with.

On the other hand I am less keen on steps #2 and #4; the thought of reconnecting with (the few) old contacts I haven't exchanged a word for years and didn't have much rapport in the first place feels a bit daunting at best, out of question at worst. Linkedin/Meetup groups sound a bit better in theory, though based on past experience I'm not so optimistic.

I had a very different experience than how you wrote it. I started as a FTE for a small software company and was contracted out to a larger one. They made the mistake of letting me know how much they were actually charging for me per hour and when they started laying off engineers rather than management i realized how mis-managed the place was. Thats when i went on my own and searched for work on my own. Co-workers is one way of finding new gigs, but the best has been actively searching through linkedin and other forums such as HN!

I have a different idea on pricing for new developers: decide what you want to really get paid (hourly rate) and if you need to "eat" some time learning, then eat it. You'll get faster as you learn more and hone your process and eventually won't need to eat any time. Much easier than raising your rates with existing clients later.

Also, find ways to reduce the amount of time you spend on non-billable tasks (time tracking, invoicing, etc.)

Networking certainly is high up there. That's coupled with having clients who love you and want to refer you. Plus if you're international, it helps SEO-ing well because I've certainly found myself searching "freelance ruby on rails developer" or "freelance ruby on rails develeper [city/country]" and found great leads instead of combing something like ODesk or Elance.

I agree with just about everything from this post, especially the emphasis on building a network. It's something that technically-focused freelancers tend to forget about, understandably. Still, it's one of the best resources for finding and maintaining gigs.

"Your goal is to become known as someone who solves problems, rather than the 'web guy'."

"It's easy! Just have a huge network of people to give you gigs!"

having a full time job and trying to launch a freelance career is not easy. its simpler to save up money and take a few months off work and work on your freelance projects like crazy. no matter how simple and mundane your regular job is as a human being you cannot realistically work for so long and expect to have a fresh state of mind to work on other projects and produce 100% quality outcome efficiently. talking from my own experience.

I agree, having a full time job and a freelance career is not easy. Having also done this myself, I always felt somewhat guilty about moonlighting. Once you decide you want to go freelance, my advice would be to start saving money so you can get a 3 - 6 months "salary" saved up, and during that time start trying to line up work and get your portfolio ready to go.

This post essentially says nothing. The tl;dr is, use LinkedIn to network and build a client base.

LinkedIn is a pretty insignificant part of the article. I mentioned using it as a proxy to gauge the size of your professional network, and to find local interest groups. Overall, LinkedIn hasn't really helped my business all that much, other than increasing my web presence for credibility searches.

I'm rather surprised that you felt that there wasn't much content. I spent around seven hours writing and editing the post and it draws on several years of in-the-trenches experience.

He's trolling.

The article was well written. Obviously not everything someone would need to know to start freelancing is written in this article, but it does present some very valuable information.

Thanks for writing and sharing.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact