That’s right, I prefer writing code than writing words and yet it’s been two months now that I started outsourcing the development of TaskArmy to someone in Ukraine.
I spent the first 8 months developing the website myself until I proved to myself that my idea was a viable business idea. I was then ready mentally to spend more money into my idea.
Anton is working full-time with me and I wouldn’t look back on that decision.
Why I outsourced the development
Development takes a lot of time and is too enjoyable. I would procrastinate a whole week by developing something new or by tweaking the design rather than do any marketing stuff.
I would also tend to work on the things I’d enjoy coding instead of working on important “details” like streamlining the buying process.
Focusing on the development I couldn’t see how much effort was required in marketing.
Why developers should outsource development?
A developer can talk to a developer.
Being a developer myself it is easy for me to explain what I want to a developer. We talk the same language.
One of the main risks of outsourcing is miscommunication but by removing the barrier of domain language, the risks are reduced.
I know how I would code a requirement myself and sometimes to make myself clear, I simply show him each step I would follow to code the requirement so that he can have a better understanding of what I want. He might not follow the steps I listed and I don’t care about it but what is important is that he understood what I want.
I also know where we can take shortcuts and what solution would require less time to develop. I can say “just hard code that in the view, this will be used only the admin”, he understands what I mean and I spared him 10 hours.
Benefits from outsourcing development
Obviously, since I outsourced development, I have more time and I can spend this time for marketing and blogging. I would probably not be writing this blog post for example.
Another benefit is that I am not working in the business anymore but on the business. I have a higher level view of the whole business.
Each feature I add to TaskArmy costs me money so I am much more disciplined in prioritizing the tasks.
And finally, Anton is a better Ruby on Rails developer than I am (I come from a .NET background) so his expertise is very valuable.
How I found the developer to outsource the development
This is the part where you expect to say: “On TaskArmy we have great developers…”. Well to be honest, only very few developers have listed their services on TaskArmy and at the time I was looking for Ruby on Rails developer, none was available on TaskArmy.
By the way, if you are a good developer and understand that constant communication with your client is important, please list your services on TaskArmy.
What I did is I went on Odesk and looked for a personal assistant who would help me find a developer. That’s right, the plan was to hire someone that help me hire a developer. I was looking for someone I’d pay $3/hour who would look for a developer for me.
This is the ad I posted:
Hi I am looking for someone who can speak perfect English, and who can help me recruit contractors for various areas of my business (web design, marketing, blogging, etc…)
You first tasks would consist in recruiting a Ruby on Rails developer and a blogger for example.
I actually hired two girls for $3/hour each with this ad.
The virtual assistants I hired were “IT recruiters” or “Technical recruiters” from the Philippines. I wanted to find a Filipino developer so I hoped by picking Filipina assistants it would simplify the search because they would use their personal social network. It turned out that they didn’t know anyone good enough and after trying to hire only in the Philippines without success, I opened up the criteria to accept Eastern Europeans.
I wanted to work with a Filipino because he would be in my time zone. The advantage of working with Eastern Europeans is that they are usually very reliable, they speak their mind and the time difference works well too for me (I start my day when he finishes his). They found Anton a great guy a week later. Overall it costed me somewhere around $20.
How we started working together
Like anyone else, I am not comfortable sharing my intellectual property with someone I don’t know who lives on the other side of the world. So originally I gave him an independent project that didn’t have any dependency with TaskArmy. Then slowly, as I grew more comfortable with him, I gave him more and more access to TaskArmy’s core code.
His first task on the TaskArmy source code was to write a team time zone visualizer. It was an independent tool that was not relying on any existing model in the core which made it a nice introduction to TaskArmy’s source code.
To describe the tool I wanted to Anton, I used OneNote to quickly draw a mockup:
The first version he came up with looked like that, which was spot on what I wanted:
And this is what it looks today after a few iterations:
Anyway, progressively Anton started working deeper and deeper inside the source code and recently he has rewrote part of the payment processing.
Conclusion
It is not the first time I outsource development work and it doesn’t always work. Before Anton I had hired another developer to work on the same micro project and he was not responsive enough.
The important in outsourcing is to fire fast if things are not smooth so that you can find someone better. The less time you spend with a bad performing provider, the less painful outsourcing as a concept feels.
Outsourcing also makes sense financially if you are doing some consulting work on the side. One day of consulting may cover the cost of several days (or several weeks) of a freelancer in a country with lower cost of living. It is a great way to leverage your time.
Give it a try, it is sincerely liberating!