I am a developer, yet I outsource the development of my startup

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:

image

The first version he came up with looked like that, which was spot on what I wanted:

image

And this is what it looks today after a few iterations:

image

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!

  • Pawel Pabich

    Great post. Anton was the first one recommended by odesk? If not how did you filter out the other candidates?

    • Aymeric

      Hi Pawel,

      No Anton wasn’t even in the list of candidates in Odesk. I was discussing with another candidate when I told him that I felt he didn’t have the experience required to work on my project.

      He then mentioned his friend Anton could help. So I asked him to give me his details and that’s how it started.

      The two assistants didn’t only look at Odesk by the way. Th

  • Martin

    Nice post, Aymric. Never thought of outsource from the window you described.

    I’ll definitely try it if I come across to an idea. Surprisingly, the cost is less enough to ignore working overtime ;=)

    • Aymeric

      Thanks!

      A lot of people don’t consider outsourcing as a viable solution.

      To me, it is a no-brainer, especially if I can get consulting income on the side (if I had no income at all, I’d probably do it all by myself at the start)

  • Jeff Kolesnikowicz

    Curious, did you read the 4 Hour Work Week? Your plan seems modelled after it; outsource everything, free yourself to work on other parts of the business.

    • Aymeric

      I did read the 4 hour work week and I loved it. I keep recommending it to people who are thinking of starting a lifestyle business.

      But I wouldn’t say that I modeled my company structure based on this book. I have always been a big believer in outsourcing and it only came naturally to start outsourcing more and more.

      Outsourcing as much as I do in my company doesn’t happen straight from the beginning of the company. I first “felt the pain” myself before understanding it needs to be outsourced.

      I am still looking for bloggers/writers to outsource even more for example because this is becoming increasingly a bottleneck in my company.

  • darren

    If you love developing so much why didn’t you do that and outsource the marketing and selling aspect?

    • Aymeric

      Because I find it harder to outsource marketing.

      For example, where could I find a blogger that is so good that he can write an article as popular as this one each time? (> 2000 views).

  • Honee

    I totally agree with you. It would truly be advantageous to outsource some of the development or even the whole development to save you time and money. As you long as you are good in managing people and you tap on the right and quality people, then it’s not hard.

    Here in the Philippines, there are a lot of success stories where development is outsourced. I’m just sad to know you have not found a good development team to tap here in the Philippines.

    One tip, it’s best to hire an entire team on the same country. Takes away the hassle of micro-managing people. :)

  • David

    Hi

    Nice article, how did you define the requirements of the person you were looking for the technical recruiter to be able to find the right person? Did you just give a list of skills and they matched? Does this mean you got a short list of 20 or you let them narrow it down to one or two?

    Thanks for a cool article.

    Regards
    David

    • Aymeric

      Yes I gave a list of skills that would be required in the project and also a list of countries for timezone and culture affinity.

      I also mentioned I only wanted people with good ratings in odesk/elance/freelancer.

  • Sicorra

    Hello,

    I recently setup a profile to out source my services on Task Army and then I promoted Task Army on my blog to quite a few followers. But I am wondering how you market Task Army?

    I think it is a brilliant concept, but how do you drive traffic to the site and how do you help to promote the services of the people that have created profiles on the site?

    I would have contacted you through that site, but I noticed that you have an Admin person answering the help questions and I would rather hear back from you personally as it is your business.

    • Aymeric

      Hi Sicorra,

      By marketing TaskArmy as a website, we help drive traffic to the individual service pages. If customers consistently rate your services positively, your services will appear higher in the search results in TaskArmy (increasing your visibility). Finally, if we feel TaskArmy’s visitors could benefit from your service, we might consider featuring it in the homepage.

  • Brian Cardarella

    That must be a difficult thing to do, as a developer myself I would find it difficult giving up that control. But if you find the right working relationship I’m sure it can work well.

    • Aymeric

      It is indeed. But like the book E-Myth says, there is a moment in your businss lifecycle where you have to go from technician to manager and then to business owner.

  • ThinkMac

    Hi, based on your description, are you from United States? I don’t quite such a good experience with odesk or elance. For one, you get a ton of bids from incompetent developers asking you to make a down payment before they even start coding. For two, they tend to prefer hourly rate. Now, at least in U.S., you can really only outsource to international with a “fixed” cost. If you start doing hourly rate, it goes against the labor law in U.S. Thus, I constantly question the legality of odesk and elance.

    Legality aside, it is great that you were able to split off part of the project and outsource it to Anton to build up trust. Still, it seems that you went through a number of iteration before arriving at the final product. So how did you go about negotiating the price to improve the code? Are you doing hourly rate then?

    Another key question has to do with source code control. It is true that being a developer, we can break down much of the barrier in terms of communication. However, when it comes to source code control, how do you limit access to only parts of a project, and not the whole thing? Most of the systems such as SVN or Git don’t really let you easily split off projects into little parts. And if the freelancer is the one maintaining the source tree, it now comes down to how frequently I can access, code review his/her code. From the freelancer’s perspective, he/she may also worry about not receiving money if source code is code reviewed early. Anyway, trust building is hard with remote worker, especially one you never met face to face.

    Whenever a freelancer comes to you and states that they are a team of developers working for you, I definitely take it with a grain of salt. They can say they have 5 people working together, but then, it could just be one person. You just don’t know who has access to your source code or what not.

    I am not trying to spread the fear here. Obviously, there is a lot of benefit to offload your work to someone else so you can focus on something more important, but I have yet to find the holy grail to successfully outsource development to someone I haven’t met face to face.

    • Aymeric

      I am based in Australia.

      Yes I pay hourly. Although as a business owner, it would make more sense to pay per project, I am a freelancer myself and I hate fixed-price projects. So as a way to stay true to my own feelings, I prefer to pay someone hourly.

      > From the freelancer’s perspective, he/she may also worry about not receiving money if source code is code reviewed early.
      I have never had this issue.

      Originally, when testing the developer, I try not to give access to the source code. This is why I try to find a side project that is code independent from the main one.

      > Whenever a freelancer comes to you and states that they are a team of developers working for you, I definitely take it with a grain of salt.

      Yes I don’t like working with teams, I prefer to work directly with a freelancer.

      > I have yet to find the holy grail to successfully outsource development to someone I haven’t met face to face.

      You have to learn to let go. Don’t start with software development, it could be costly. I suggest you find a virtual assistant for $5/hour and you start outsourcing admin and marketing tasks. Outsourcing is something that you need to learn.

  • vadim oss

    Aymeric, sorry about the confusion here. Nope, i said “rights” as it’s different from “responsibilities” . I am coming from a dba background (ha , i am not a developer) that’s why the language deviates here:) You didn’t just give Anton responsibilities, you give him all rights to mess around with the most precious part of your product – the source code. It’s not an easy task to do.

    • Aymeric

      Oh I see. Yes you are correct it is hard.

      This is why I tend to give a side project first to avoid to have to give full access to the source code, and I use Skype to be able to see the developer “face to face” so that I can detect any weird behaviour or personality trait.

  • vadim oss

    Hey Aymeric, great post! I am glad you liberated yourself! It sounds refreshing and reminds me a lot of my own experience. I think your point is more about ability to “delegate your rights” vs “outsourcing development”. This is much of a broader term and this is exactly what you accomplished. Someone immediately asked you about losing control – right, this is exactly what i would ask a year ago! Delegating your rights is all about giving up power to others to perform on your behalf. You can code and it’s counter intuitive to give up this task in favor of something that you may not be as good in, but something that your business needs the most. Once you learned how to do this, it’s liberating! Because you can perform on a much bigger scale observing the process as a whole vs through a developer’s eyes which could be limited. One more thing everyone should keep in mind and follow your advice about firing right away if there is no connection. You gotta be lucky to find right away someone who is a really good developer, responsive, organized, able to sacrifice his/her personal schedule to intersect with your timezone etc etc. It takes many tries and fails. We built a great team and it’s outsourced. There are some pros and cons in having people across the ocean but as long as you are down to earth with expectations it works great. Good luck with TaskArmy, it’s certainly a great concept!

    • Aymeric

      I am not sure I understand what you mean by “delegate your rights”, do you mean something like “delegate responsibility”?

  • Phil

    Where can I find information on the rates that I can expect to pay developers in Eastern Europe? Do you pay an hourly rate? Or per project?

    • Aymeric

      I pay an hourly rate as I prefer this as a freelancer myself. In Eastern Europe you can find someone great between $12/h and $17/h.

  • vadim oss

    Yup, there are a few steps that i always follow

    1) always test before hire! Give them a test project to see how they code. i normally give a page mock up (without any reference to the actual product) or some simple task to code that i could use in the future
    2) talk on skype or google hangout. Many remote consultants prefer using messaging instead of video or real time conversation. I guess it’s ok either way, but messaging normally takes some extra time and trust building is not an easy task to accomplish. My requirement is to always have a conversation before hands. If there is a language barrier it won’t go away once contractor is hired. You want to know this ahead of time.
    3) work directly with a consultant, not an outsourced team. this way they feel more accountable and communication is more personal.

  • David Albrecht

    I’m a high-skiled developer. Sometimes people ask me why I’d want a cofounder for a company if I could “do it all myself”, but it turns out, holding an entire business in one’s mind — product issues, promotion, finance, recruiting, vendor management, and 100 other things — is just too much for one person. I think you’re better off wearing the “entrepreneur” hat, and worrying about the overall functioning of all the parts, than trying to work both IN and ON the business at the same time.

  • dodgy coder

    Great story. Being in Australia, did you find the need to outsource to another country due to the (globally) high wages of Australian devs and/or the skills shortage here? Also, do you have a part time job yourself as a developer or is your startup now a full time project for you?

    • Aymeric

      I do consulting to help bootstrap my projects.
      It makes sense for me to outsource to a country where developers are cheaper for the following reason:

      If I charge $100+/h when I consult, a developer I pay $20/h could be 5 times slower and he would still be worth hiring.
      If I hire in Australia, if I pay a developer $70/h, the developer can only be 1.4 slower. I believe that I am a productive developer myself and I would find it very hard to find a developer that is only 1.4 slower than me at such a rate.

      Additionally, I actually embrace timezones because I can work with my contractors before and after Australian work hours, before and after I have worked with my consulting clients.

  • exim

    Regarding you consulting gigs. Could you please write some important points? i.e. as a developer, how to divide line between consulting and actually implementing the system, etc.. Do you agree a priori the exact list of tasks you’re going to do, and do the clients understand that you’re not going to develop the actual system?

    • Aymeric

      I don’t outsource my consulting gigs. I outsource my startup development work.

  • exim

    Sorry, I actually asked about your consulting experience, not relevant to this article.

    Regarding to this post, one note I actually posted on HN:

    >freelancer in a country with lower cost of living

    Actually, there are countries with a similar or even a more high cost of living compared to USA, but people are used to low salaries. This is especially true for [Eastern] Europe.

    • Aymeric

      > how to divide line between consulting and actually implementing the system, etc..

      I work three/four days a week for clients and the rest I work on my startup.

      I work at a client’s office so it makes it easy to divide the work I do for a client and for my own startup.

  • Andrew

    I’m glad I read your HN post this morning, Aymeric.

    It just nudged me enough to finally start outsourcing. Since you’re so generous with your time as to answer questions, can you please tell us how do you manage your own projects and track your workers?

  • Daniele

    i’m not sure that advising to hire devs for 4$\h is a good idea….not because they can’t be nice, just because this break the system….and the system already has problems.

    • Aymeric

      I am not advising anyone to hire devs at $4. Virtual assistants at this price maybe, but not devs for sure.

  • Alvin Ang

    Hi +Aymeric, thanks for putting up this post.
    I am a strong believer in outsourcing and have tested more than 50 outsourcers on odesk so far. I could not agree with you more than outsourcing projects for startups or other repetitive task is very helpful.

    I checked out your site, TaskArmy and am curious as to how did you find those outsourcers. It seems like your model is a little bit different as you post outsourcers that you trust – is that the case?

    Would like to test out your platform and just signed up for it. Looking forward to hear more and will check out your blog post on how to work with a remote developer.

    One last thing, do you use any software etc to track outsourcers? I use basecamp – trying to see what else others use. Thanks!

    • Aymeric

      > It seems like your model is a little bit different as you post outsourcers that you trust

      Almost all the freelancers on TaskArmy have been approved manually by me, recently someone has joined me to help with TaskArmy and have been taking care of that for me.

      > do you use any software etc to track outsourcers?

      Yes I use my own product for this: http://weekplan.net

  • Geedubs

    Hey Aymeric,
    Quick question, so where did you look for assistants? I am in pre beta testing right now and I dont know where to focus, marketing it to my target niche or get a more stable product. Also, I feel like I’m trying to instinctively stop myself from outsourcing cuz of trust issues, to give my codes/ideas to people I haven’t met before, how did you overcome these barriers (besides giving them side projects, did you condition your mentality about outsourcing to trust them after they do such tasks?)
    How bout site designs? I’m currently using twitter bootstrap to get the design over with but I’m not too excited on how it looks like atm. It can be a lot better basically.
    Thanks for the post btw
    -G

    • Aymeric

      > where did you look for assistants?

      Check out this article I wrote on this topic: http://47hats.com/2011/07/outsourcing-101-for-startup-founders/

      > how did you overcome these barriers

      I started small. I didn’t outsource dev when I started. I just outsource some admin and marketing tasks. And then slowly I got used to giving up control and accepting to let go of more gradually.

      > How bout site designs?

      I still struggle with outsourcing design. Currently I exchange my programming skills for someone’s design skills. It allows me to gain access to top notch designers.

  • Dorine Flies

    Micro projects are ideal for our less experienced programmers within our respective countries, in England we have about 1 million NEET (Not in Employment or Education Training) aged 16-19. Instead of outsourcing, how about finding someone local still at school/college that can do programming and getting them to help you, by so doing passing some of your skills on to your local tech community?

    If all we do is outsource what will happen to our own next generation of software engineers?!

    We could easily “Choose” to outsource but we refuse, instead we took 2 young lads strait out of school who could not afford to go to University and got them to work on EPIK, that’s 2 new apprentice software engineers we created in Kent UK and changed lives just by being willing to share what we love and know, software engineering!

    • Aymeric

      I am a citizen of the world. I am French but now I live in Australia. Helping someone in the UK is no better than helping someone in the Philippines except that my dollar has a bigger impact in the Philippines.

  • braunbaer

    how did you colaborate with anton? did you use svn/git , do you have something like a staging server? or does he push via ftp?

    • Aymeric

      The source code is on bitbucket. He pushes the code to a dev branch and I merge his changes to master and deploy it to heroku.

  • Salim

    Thank you Aymeric, I am a startup and felt very happy to read your post, because I am a senior developer, and I decided to be a freelancer, since then I started to outsource all my development works 6 months ago.

    Now I am struggling to fund my ideas with outsourced projects. Can you please give me some pointers to earn few dollars by consulting that could help me to bootstrap?

    • Aymeric

      > Now I am struggling to fund my ideas with outsourced projects.

      Is your question about how to get more work as a freelancer or is it how to get more work that you would outsource to someone else?

  • Javi

    Hi,

    I understand that you are just following a trend that is unstoppable, and you are very lucky to be able to make some profit of it, but globalisation only provides, in the long term, unemployment and lower salaries. Just think of it as an osmotic process. I bet you that in ten years you are unable to make $100 an hour in Australia, or anywhere in the first world, as salaries will go down, unavoidably. If you don’t hire your neighbour, he will have no money to buy your product. It is as easy as that, and the world is big, but not infinite. Someday, you’ll get to see what I mean.
    Feast today, famine tomorrow. Good luck.

    • Aymeric

      What I think will happen is that salaries will tend to become equal across all countries. No more inequality between the Australian and the Filipino, which isn’t a bad thing.

  • Pingback: Tasks a virtual assistant can do for an online entrepreneur | Aymeric