How To Become a Successful Freelance Web Developer (and Not Kill Your Career)
jamiebegin.com
jamiebegin.com
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.
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).
Next time just go on and hardcode an alert box stating that your product is for North American Citizens only, please.
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).
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.
*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.
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.
Why? I don't find this to be the case.
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.
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:
https://docs.djangoproject.com/en/1.4/intro/tutorial01/
You should do that, although it is kind of basic.
Here is a web page with some other Django resources:
http://elweb.co/programacion/want-to-learn-django-start-here...
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.
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 :)
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.
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.
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.
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.
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.
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.
- 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.
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.
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 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.
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.
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.
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'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 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.
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).
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.
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.
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...
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.
Also, find ways to reduce the amount of time you spend on non-billable tasks (time tracking, invoicing, etc.)
"Your goal is to become known as someone who solves problems, rather than the 'web guy'."
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.
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.