8 ms·
I am a developer, yet I outsource the development of my startup
- alttab 14y agoI can see why this wouldn't directly apply to most people: 1) Most bootstrappers don't have the money to pay someone else full time. 2) Most bootstrappers don't have enough experience to know what to build themselves, much less be able to communicate to someone else to do it. 3) Most developers without years of experience are overconfident in their ability to communicate and manage people. Glad it has worked for this guy, though.
- aymeric 14y ago1) Yes you are correct, I am lucky that I keep my expenses low and that I can charge a good rate to my clients. But as it has been pointed out many times, consulting while bootstrapping is a big distraction. But for me, it is also a way to socialize and stay sane by reminding me that I am still an able developer even when my startup is not doing great. 3) Yes, this is something that you learn overtime. Start small, start now :) I have written this article that presents a way to start outsourcing for a lower cost than development : http://47hats.com/2011/07/outsourcing-101-for-startup-founders/ http://47hats.com/2011/07/outsourcing-101-for-startup-founde...
- danso 14y agoVery cool, I appreciated especially the detail that the OP goes into. I also liked the way he phrased the problem...he isn't outsourcing because he hates developing, but because he loves it too much. Never thought about it that way but on reflection, that is why I haven't outsourced the things I like to do.
- aymeric 14y agoYou still need to have fun though, don't outsource everything :)
- dustyreagan 14y agoI wonder what the general opinion is on legal protection (such signing a contractor agreement) when working with someone in another country. I figure it must be hard to enforce, and you'd mainly be working based on trust. But, it seems like having some sort of legal agreement in place, regardless of how difficult it would be to enforce, would be prudent. Anyone have experience with this?
- pestaa 14y agoI have developed for foreign companies both with and without a contract. I can see no way either me or those companies would have pursued the agreement legally. Maybe because the companies were in fact startups. However, I prefer to work under the terms of an agreement, mainly because the employer shows interest in taking the time to formally define his expectations and attitude toward developers.
- andrewcooke 14y agoI'm in a similar position, but have never worked without some kind of contract. Even if it's not binding, it describes what people expect and so gives guidance on what to do. I've never broken a contract and never had one broken. The one thing that has worried me is being asked, after signing a contract with a company in at "at will" state, to agree to a "gentleman's agreement" to give a month's notice. If that's what they wanted, why didn't they put it in writing? More usefully, for the OP, if you're a foreign contractor by far the biggest hurdle is trust. For finding a job and for making that job work. Anyone with an established reputation / identity is going to care - likely more than you - that things work out. On the other hand, I guess, people like that also don't have the kind of cost difference you might be hoping for...
- TheBiv 14y agoI have had experience in this, and you're right about how difficult it is to enforce but in my experience merely having a document to reference and threaten with legal action is enough to scare most fear away. Just don't lean on your agreement, lean on your payment. Begin with simple tasks, and the most you would be out is $20-$30 and if you begin to show the outsourced developer that you will be bringing them constant work then you will be a god-send. Do not start a project and wait until the end to point out that something is going wrong with timing/code/payment/etc.
- erichmond 14y agoDevelopers understanding the importance and value of outsourcing development only benefits the entire startup scene.
- vibrunazo 14y agoI've considered outsourcing part of development before. But always gave up after thinking how hard would be to find someone who is actually good. And to be honest, after reading that the author had to first hire two girls just to look for a developer. It doesn't really gets me any more excited. Just thinking about all the useful developing time that I'd wasting looking for a good developer. It just doesn't seem worth it. The author having found a great guy after 1 week for only $20 sounds to me like he got lucky. And that's not considering the side tasks he gave to the developer just to test him. And the other guy he hired before but didn't like. Summing all that, I'd assume that on average it would take at least two months just looking for someone good and finally get started working on a real project. Does anyone else got similar good experiences like the author and could confirm that it's actually not that hard? Or did the author just get lucky?
- TheBiv 14y agoHowdy, I am a developer (PHP, .Net, Ruby) and I have had similar experiences as the author, but I think that he should have highlighted the part where he says "fire fast". That is the best advice that he could ever have given. Let's face it, the majority of web applications today are not a technical challenge that have never been solved before. Your main advantage will be to take the requirement and break it down into its lowest parts and then hand off those parts to an outsourced developer and if he/she does not deliver exactly to your spec, then end the relationship. Period. There is a certain amount of luck to it, but just as the author suggests, I recommend first having the developer create a very simple application with requirements that you define and estimate how long it would have taken you (probably no more than a 5 hour task) and if he/she can deliver, then you've got yourself a winner and you can focus on the business and not javascript errors.
- dmragone 14y agoAnother key here is breaking down the specs. If you're clear in your communication, you can get good work. But being 100% clear with exactly what you want the finished product to look like is critical.
- gregcor 14y agoVery clever post, but this is little more than very well crafted marketing material. This IS his marketing effort, and for some reason I'd be surprised if he didn't use outsourced labor to build his outsourcing site. He wants this arrangement to be successful, and he's going to blog about its success whether or not the code is any good at all.
- _delirium 14y agoI hadn't seen that initially, but I agree that makes it seem a bit suspicious. A testimonial to the benefits of outsourcing by someone running an site advertising "frictionless outsourcing" is not exactly a disinterested analysis; sort of like a whitepaper on outsourcing from Accenture. Doesn't mean it's wrong, but does, I agree, mean that he probably intended the writeup to be positive, even before starting.
- aymeric 14y agoWhat do you think of the founder of Visual Website Optimizer when he writes awesome articles about A/B testing or from the founder of GitHub when he writes about how software development is done at GitHub. The books "Getting Real" from 37Signals and "Crush It" from Gary speaks about the benefits of educating your customers. I believe it is a great way to market without feeling like a spammer.
- deleted 14y ago[deleted]
- aymeric 14y agoI have developed an outsourcing marketplace because I found a "niche" where I think I can add value, I am a mix of an entrepreneur and traveller, this helps me understand why people in other countries can be very talented and yet very cheap. I believe entrepeneurs misjudge outsourcing and my mission is to help educate them on this topic. It is only normal that I write blog posts about outsourcing. I am not expecting to get rich overnight by being #2 on Hacker News. Did you get any value out of this article?
- jzukoff 14y agoI just have to question the quality of the code one risks receiving when outsourcing; sure you can get lucky and find a great guy but in all likelihood it would take a few iterations to find someone worthwhile. All the while you'd be spending time and money finding a developer & losing precious time working on the product at hand.
- TheBiv 14y agoThe quality of the code is up to your requirements as a developer. Have the outsourced developer code exactly to the requirement and accept nothing less.
- jzukoff 14y agosure to a certain extent, but you could have all the requirements in the world and not have the outsourced developer ever turn in "quality" code, or if anything take way longer than it should take.
- aymeric 14y agoYou can regularly do code reviews, and educate the developer to write the code using your conventions.
- Sambdala 14y agoFor any project that you want to pivot or extend substantially beyond your first iteration, this seems very risky as you might end up with code that has bad commenting, indecipherable, or needs to be completely rewritten before you can either work on it yourself or pass it on to another developer. I would imagine, in most cases, building the MVP yourself and then bringing in an Odesk developer to add functionality is likely better in most cases.
- aymeric 14y agoYes, my project was already mature. But keep in mind that it is very easy to do code reviews nowadays. GitHub or BitBucket give you a nice interface to follow your developer commits. You can comment on them early on to educate your developer on your coding standards.
- vitomd 14y agoI am a freelancer developer . 50% of my work come from social networking (twitter, IRC, blog). And the other 50% from referals (the client promote my work with his friends ). So if you want to find a good developer, follow developers on twitter, follow his blogs, ask questions, research github and chat with them. I am sure that you will find very good developers.
- mzarate06 14y agoA developer can talk to a developer. Most of the failed outsource attempts I know of are one way or another due to non-technical team members attempting to lead technical teams. That a developer could lead another developer, or team of developers, down the right path sooner, more efficiently, and for a longer duration, makes perfect sense. In practice, it's worked brilliantly for the teams I've worked with. Even still, it takes a special kind of developer to successfully outsource development work. It's not sufficient to simply push work over a wall and accept whatever comes back. Things like well defined requirements, frequent code reviews, detailed mockups, and clearly stated user stories are critical, b/c when you outsource work, the default regresses from what you'd normally expect to substandard work. But, that's not always due to the outsourced team. Often times its on the hiring party to identify what they need to do better. Great results start with great teams, and part of being a great team is understanding that accountability for the overall result flows both ways.
- aymeric 14y agoOutsourcing is a learned skill, definitely. I didn't start with outsourcing a full blown startup project. I started with small admin tasks using a virtual assistant I'd pay $5 / hour. It helped me understand how to be clearer via emails, what processes to use to gain visibility on progress without micromanaging. Also I am a seasoned traveller and I think it helped me understand cultural sensitivities. An Eastern European contractor usually behaves differently than a Filiino or an Indian. They tend to be more direct in their communication style, to the point of sounding rude sometimes. Once you know that, it is easier to tolerate it :)
- kika 14y agoThis rudeness is usually just a result of not being able to adequately translate from their native language. In Russian for example, many rude words are not actually rude. But their translation into English are, but many non natives are not aware of this. Do not tolerate, just ignore :-)
- nlh 14y agoI'll share a similar (positive) experience I had a few years ago. I'm not quite what I'd call a developer, but I'm a company founder who's "code savvy". I made the decision to outsource the development of a moderately big PHP project a few years ago -- I went through a LOT of profiles on oDesk and finally settled on a guy (who billed about $30/hr, which was on the high end for non-US guys on oDesk). He was _terrific_ -- we were basically on IM with each other constantly, and he was very open with regular code reviews and feature checks. He added a ton to the project and it worked out way better than I could have guessed given the stigma outsourced development has. The key, I think, was as other folks have pointed out - that I speak the same technical language and wasn't throwing big meaningless features at the guy ("I want it just like Facebook, but for pets!!"). My only frustrations were things that, unfortunately, can happen with outsourced work -- timing. My guy was an A developer, but a B/C time manager. So the project took about 2x as long as it should have. But as they say -- quality, price, speed: pick two.
- aymeric 14y agoYes, I don't set hard deadlines in my business so this drawback wasn't a big deal to me but if you outsource, you can expect things will be slower than if you'd do it yourself.
- maratd 14y ago> My only frustrations were things that, unfortunately, can happen with outsourced work -- timing. My guy was an A developer, but a B/C time manager. So the project took about 2x as long as it should have. So technically, he billed at $60 an hour. And that is the issue with outsourcing. A local guy in your office might have gotten things done in half the time and cost you just as much. There is another issue with timing ... and that's the time zone differences. There will always be a delay between a request and the work actually starting. If the time zone difference is large enough, you'll be forced to work by email. If there's an emergency, well, you get the picture.
- zura 14y ago>So technically, he billed at $60 an hour. Not necessary. It is more like he billed 20hr/week rather than full 40hr/week. Working from home "full-time" is extremely hard, especially when you have a family, little children at home... I'd say 40hr/week at home is equivalent to 60hr/week at office, if not more.
- mellon 14y agoDoes the idea of paying some guy $20 to complete a job that you would charge someone else magnitudes more for not make anyone else feel guilty?
- sanj 14y agoBrilliant. I did the same thing -- http://outletmapper.com http://outletmapper.com Some learnings: 1. It really does free up your head to think about harder issues (read: getting in front of the right market) if you're not distracted by code. For me, code is "my happy place", so it is too easy to spend too much time there. 2. I asked hard questions when picking someone to work with. Not just "have you used MapKit" but "how would you do hit detection inside an arbitrary polygon efficiently -- on iOS?" 3. Keep feedback to the right level. Sending back a stack trace and commenting on an edge condition was fine. Somehow sending back a patch seemed over the line. 4. The product will only be as good as your specifications. Get them right. Build test cases. Build a set of better test cases that you use -- that you don't share. 5. Get it right before paying someone. Paper, PPT slides, HTML demos all help to get the ideas baked before your money is pouring out the door. 6. If you're in the US, hire US. Why? You can have them sign a contract that is actually enforceable.
- aymeric 14y ago#4 How detailed are your test cases? Do you have a sample document, I am interested to have a look at it. #6 If you're in the US, hire US. Mmm I disagree with this. I think the risk that someone decides to steal your idea or code and go run their own business are fairly low. I accept to take this risk to be able to reach developers that I will pay 4 to 5 times less than the local developers in my country.
- sanj 14y ago#4 I created an artificial outlet mall data file with all of my weird edge cases. #6 I don't want my job outsourced. That starts at home. More generally, when I'm in a position to be an employer, I try to be of the sort that I would want to be employed by.
- mkramlich 14y ago> I accept to take this risk to be able to reach developers that I will pay 4 to 5 times less than the local developers in my country. And you'll typically need 4-5x as many of them, and/or they bill 4-5x as many hours. This is not theory. I've seen this happen in reality, over and over again. Does this happen in all cases? No. But I've seen it happen enough that I make decisions based on it. And look at Mythical Man Month for a primer on why larger teams tend to be worse than smaller ones (worse efficiency, more communication overhead, more cheese-moving, etc.) Having flashbacks to the worse quality startups I've seen that had 5+ person teams in Uruguay, Pakistan, etc. when they could have had the same work accomplished by 1-2 more elite, and local, same timezone, same culture/language, more "expensive" (nominally, but not overall) Americans or Europeans.
- mmahemoff 14y agoWith outsourcing, it helps a lot to break things down into small steps - it cuts out a lot of the risk upfront if you can build a complete "Hello World" early on, for example. You'll find out right away if the contractor can program, deal with version control, build automated processes, etc. And this is where it helps if the client is a developer. A developer who understand agile processes should be well placed to break tasks down into vertical slices in this way. On a related note, I highly recommend Trello for co-ordinating with remote workers. I just invite them to a board and send a "welcome" notification to them from a special "Message Card". They immediately get how the whole thing works even if they've never seen Trello or Kanban before, and you can spend most of the time co-ordinating on tasks by messaging on their cards. This is from my experience with researchers/admins and I'm planning on the same for working with a developer.
- mmahemoff 14y agoThe title should probably mention this is a 2011 post.
- dustyreagan 14y agoWhy? The topic isn't time sensitive.
- mmahemoff 14y agoIt's not especially time-sensitive, but everything is time-sentisitive to some extent. I think I'm like most people here in assuming by default anything here has just been posted unless there's a year attached.
- damian2000 14y ago"Being a developer myself it is easy for me to explain what I want to a developer. We talk the same language." I've always thought that myself - in terms of outsourcing programming - the experienced developer can actually make better use of other devs more than anyone else.
- xpose2000 14y agoSorry but I disagree with this post completely. In fact, I hate articles like this. A real developer who loves his project would never outsource major aspects of the project. One might outsource the design, only because its incredibly difficult to create a great UI and have the know-how to code it as well. One might outsource the slicing of a layout to CSS/HTML or something simple like that while dealing with IMPORTANT issues such as database architecture, setting up the server, etc. To suggest that you want to concentrate on the "business aspect" simply means that you don't want to do the hard part. By outsourcing, the article states: "I have more time and I can spend this time for marketing and blogging". ... Right. Because blogging and marketing is so very tough? The truth is that you USED to be a developer. It sounds like you've realized this and outsourced the project to an actual developer. If that's the case then you've made a wise choice. In any case, best of luck to you. Edit: It sounds as though I am belittling other people's jobs on a project. Sorry, I guess to some degree I am? I agree that I am a bit foolish to say that. I don't mean to create any type of hostility in this thread. (Regardless I will keep my full comment here so this thread makes sense.) My main point is that the author refers to himself as a DEVELOPER. Therefore it does not make sense to me to outsource his own specialty.
- coryl 14y agoThat's kind of bullshit, you've focused more on what he decides to call himself rather than what he has accomplished. Are Eric Scmidt / Larry Page are no longer "real engineers" because they manage, and not code anymore? And yes, blogging and marketing is very tough. User acquisition is tough. A good on-boarding process is very tough. User experience is tough.
- dools 14y ago> A good on-boarding process is very tough a-fucking men to that!
- mark_l_watson 14y ago+1 I had the same reaction.
- 14y ago
- damian2000 14y agoPart of me thinks this guy is a bit of a tight ass for choosing the absolute cheapest places to outsource, i.e. Philippines* then Ukraine, but then, that's just how global manufacturers work anyway, and why should coding be any different. According to this infographic: https://www.staff.com/blog/web-developer-salaries-infographic/ https://www.staff.com/blog/web-developer-salaries-infographi... Philippines has the cheapest web developer salary in the world at an average of US$6874 per year.
- aymeric 14y agoKnowing that the talent are equivalent, why would you pay $60/hour when you can pay $15/hour?
- dools 14y agoThis is really similar to the story that Ruben Gamez tells in his mixergy interview about Bidsketch. He started off building it in Grails (IIRC) but later switched to outsourcing to a Ruby dev. He was then able to focus completely on the marketing side of things. I think that one of the biggest problems that developers have when launching a business/product is that we know how to code, so we assume we should do everything. I see this repeatedly with friends of mine who have an app idea or an idea for a website that they could get made for a couple of grand but insist they need to learn to do it themselves even if they're not already app/web developers. People that can't code lament it - they look for technical co-founders and whatnot but the stories I hear from non-technical (and technical!) folks who either choose to (in the case of techies) or are forced to (in the case of non-techies) outsource development they generally get something released at all where as many of the technical people that I know personally are paralysed by the initial time investment required to learn a new technology and being unable to balance that with their full time job elsewhere.
- therandomguy 14y agoOn the other hand I'm stuck in outsourcing hell with http://classfrog.com http://classfrog.com It has been close to a year and we are not even close to launch. It would have taken about 2 weeks for me to do it myself. But I'm in denial.
- ilamont 14y agoWhat are some of the problems you encountered? Why not cut the strings now and finish it on your own?
- zura 14y ago>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.
- SudarshanP 14y agoThis guy is dogfooding outsourcing. He is outsourcing Taskarmy.com which is related to outsourcing itself. So on the one hand it is an awesome exercise... On the other, he is saying "nice things" about a concept he needs to "sell". But as he himself says, certain things are hard to outsource. For Example the particular blog post itself. Outsourcing the webdesign and the code behind the site would have been a lot more easier. So in a strange sense, even a skeptic has to agree with his point... A site like Taskarmy can fail due to bad technology but will not succeed due to its technical prowess. What he needs to figure out is how to connect the buyers and the sellers and make them stick around. All the CRUD that goes into his site will not be the secret sauce. The only possible real secret sauce is probably a method to connect the buyers and sellers using an algorithm that beats the competition heads down. In such a case it makes sense for him to keep the "secret sauce" to himself. Everything else is a commodity until he becomes a huge player. If one is at twitter scale, even status messages become "rocket science" and cannot be outsourced.
- pjmlp 14y agoBeing forced to work on a big consultancy company, specialized in outsourcing, makes me sad reading this type of blogs. If you want to outsource development, at least keep it inside your country. Outsourcing to countries were cheap work and poor working conditions rule, just leads to exploitation of people. Sadly very few, get to improve their life conditions. I for one, wouldn't like to have my company's success tied to such situations.
- trafnar 14y agoDo you think these foreign workers would be better off without these programming jobs available to them?
- pjmlp 14y agoI really don't know. Sure these programming jobs open doors to them, even if they have to work sometimes 12 hours a day, with no vacations, no available compensations, no ability to have an union defending them, and earning a lot less than the companies that explore them should pay as a salary. On the other hand lots of people are not able to get a job, because they just work 8h a day, have vacation rights, insurance, and an union that defends workers from corporation interests. Not to forget what is very important to business, they cost 5x the "price" of poor workers. My dream is that the work conditions in poor countries improve to the point that exploring poor countries workers is no longer viable. This is the point of view from someone that works in the off-shoring industry.
- ikonst 14y agoI'm surprised nobody yet mentioned this is a trivial case of a developer who matured enough to be more valuable as a manager. Once you see beyond the odd difference (it's a startup, and he's supervising a guy in Ukraine), it's all the same you see in most developers' careers as they progress. Some developers won't heed the call and prefer to stay "close to the metal" cause they enjoy it more, and some are genuinely bad at managing. However, very often an experienced developer will benefit a project much more when he can afford to look at the grand scheme of things.
- JVIDEL 14y agoBeen there, didn't had an awful experience but it wasn't good either, the guy I worked with was a D time manager but I was able to agree to a fixed fee. Still, a 2 month project became 6 months of constant delays. Can't say being a dev helped, in fact I think being a designer or a biz-dev guy would've been better since we tended to discuss a lot about what to use here and there: the guy was a better coder but I had more experience, and so while he always went for the "just works" solution I for obvious reasons tended to go to the solution that was more future-proof and less of a pain to upgrade. Non-devs would just say "I want X" and then get something like X, but be ok with it.