This week I’m launching a new ebook called 30 Days to Become a Freelancer. As part of its launch, I wrote about my path to becoming a freelance developer and the missteps I made along the way.
My start in freelancing was an interesting one.
My wife and I moved from California to Oregon in 2007. As part of that move I sold my Jetta. The plan was to use that money to buy me a road bike or use the mass transit here and commute to work. But after arriving I had a different idea.
Instead of looking for a job and going through the whole interview process, I wanted to try to start my own consulting business.
In the spirit of fun, I made a bet with my wife.
I would take $450 of the proceeds from my car and use that to bootstrap my business. If after three months I didn’t earn back that $450 plus some, then I’d stop and find a job.
I didn’t even need two months.
When Little Stream Software was founded, I had over two years experience with Ruby on Rails. Rails itself wasn’t even three years old.
And Rails was hot. Rails developers where getting hired everywhere.
But I screwed up in my early freelancing days. Instead of going to the people who where looking for Rails help, I went looking for clients everywhere else.
Odesk, Elance, Craigslist, forums.
In my defense, I didn’t know what I was doing. I was stumbling around trying to figure everything out.
Luckily, I found a few clients who had work for me. But it was in PHP.
(I don’t have anything against PHP. It’s a good tool but I’m not an expert at it and at that time the rate differences between a PHP developer and a Rails developer were about 3x.)
Those first few projects were a success and because of my style of working (and my good looks :) ) my clients re-hired me to work on additional PHP projects. Gradually everything I was doing became PHP development.
(Though I was using many of the concepts from Rails. Let’s just say I created a few WordPress plugins that had a router, model, and controllers…)
At this point, business was okay. I was profitable and I had happy clients. But the work wasn’t enjoyable and I felt a longing for Ruby on Rails.
I kept marketing myself as a Rails developer and by happenstance I got a referral to a Rails project.
The problem was during this time Rails was going through a lot of changes really fast. In the few months I was working in PHP, Rails moved on and I didn’t keep up to date on my knowledge and skills. So before I could start that Rails project with the new client, I had to retrain myself in Rails.
From that project and a few following ones I slowly got back into Rails and phased out my PHP projects. Finally, a year later I finally got to where I was working full-time on Rails projects.
Which was where I wanted to be when I started.
Even with a hot market for Rails talent, because I didn’t know how to talk about my skill (Rails) and who my potential clients where, I ended up losing a year of my business. The year wasn’t a total loss, but if I knew how to start I could be at a completely different level by now.
P.S. Starting to freelance can appear easy, especially if you know how to do the technical parts already (e.g. Rails, PHP, copywriting). But like my experience, there are a lot more non-technical areas that you need to know in order to start freelancing on the right foot. Your best bet is to learn by someone who has already done it, which is why I wrote 30 Days to Become a Freelancer.