Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
I am a developer, yet I outsource the development of my startup (gaurat.net)
230 points by dustyreagan on June 10, 2012 | hide | past | favorite | 112 comments


I'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.


> 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.


The vast majority of projects are underestimated; that's a truism of software development. If the outsourced developer was good in all other respects, I don't see any evidence to suggest it took twice as long because he was outsourced.


I work remotely, and I have to disagree with your points:

     So technically, he billed at $60 an hour
Remote developers often do not have the same benefits as local employees. They do not have the same protections found in employment contracts, they do not have healthcare benefits, they must also buy their own hardware and office equipment and other requirements. Not to mention that if the work is contract-based, they must also do a little marketing.

Even if your assertion is true, $60 is dirt cheap.

     A local guy in your office might have gotten things 
     done in half the time and cost you just as much.
While it is possible to find local talent, the pool of good developers is limited, while the demand is really high. Indeed, local talent has the advantage of being local. However, I would rather work with a remote developer that can get problems solved, than with a hypothetical good local developer that I don't have, or with a local developer that creates more problems than it solves.

     There will always be a delay between a request and 
     the work actually starting
Yes, but in my view, that's a really good thing. As a side effect: (1) management is forced to cut the crap and make specifications as clear as possible + (2) it means that I have a lot of time in which I can concentrate on solving the hard problems, instead of lamenting about the color of a link or have meetings about the next meetings we'll have.

Even when working with local developers, it's always a good idea to NOT interrupt the workflow of developers, unless it is an emergency. If you have to fix the specs, or set out new directions, and you need to do that often, that means you suck at being a manager. That's why Scrum sprints take 1 or 2 weeks during which the developers manage their own schedule, and if something happens that changes the priorities / specs, then the sprint must be restarted (throwing away unfinished stuff, starting from scratch later) ... that's a little extreme from my point of view, but there are good reasons for why some people prefer this.

There are also good tools for managing remote developers, tools such as bug and feature trackers, tools such as Git or ReviewBoard, etc... Really big open-source projects, such as Linux, scaled like crazy with contributers from all over the world. So I really can't see your point.

     If there's an emergency, well, you get the picture.
Personally I'm on call 24/7.


Remote Worker != Outsourced Worker. I didn't touch on the many reasons why, but I would certainly entertain the idea of hiring somebody remotely ... but never remotely on the other side of the planet.

> Even if your assertion is true, $60 is dirt cheap.

60 x 8 x 5 x 52 = 124,800

That's a funny definition of dirt cheap.

> While it is possible to find local talent, the pool of good developers is limited

Not in a major city, especially if you know where and how to look.

> Personally I'm on call 24/7.

Except when you're sleeping? And if your time zone = my business hours, that's a problem.


    60 x 8 x 5 x 52 = 124,800
    That's a funny definition of dirt cheap.
No, it's perfectly accurate, unless you think that the cost of a developer is measured by his net revenue only.

I don't know the tax policies of every country, but the real cost of a developer will be at least twice his net revenue.


> Except when you're sleeping? And if your time zone = my business hours, that's a problem.

When I work with a company that it's on another timezone. I change my timezone myself to be awake and working when everyone else is working in the office. Even if it means I need to work from 10pm through 6 am.

I'm a remote worker that usually works with companies from the other side of the world and usually travels once or twice a year to do in-location jobs. But that's only when they pay is good enough / I'm interested in working with the people that hire me.


>> Personally I'm on call 24/7.

> Except when you're sleeping?

24/7 is by definition when you're sleeping. As in "call me when I'm asleep, and I'll get up and take care of your emergency".


No vacations? Family time? Socialising? You never drink? Ever??


I'm the one that made that comment. I do take lots of vacations and have a really healthy life outside of work. And I sleep well at night too.

But I always have a 3G-enabled phone near me and I always keep a laptop around. I also have monitoring in place that alerts me in case shit happens before my managers even notice.

This is not about being available 24/7, but about being available when needed. That's in case of emergencies, which by definition are exceptional.

Also, if your customers are suffering because of a problem, good customer service means waking up and fixing the problem at 00:00, regardless of your location.


The point was much more specific. He's saying the guy worked slowly, and everything he did took 2x the expected time.

If his rate was $100, it's really now $200. If $200, now $400. (For comparison with another remote worker who works at full speed.)

the actual rate (high or low) wasn't really the point. It wasn't a statement of whether it's expensive or cheap, just an observation that someone who works at $30 "twice as slow" (i.e. half expected speed) is equal - in terms of $/feature - to someone works at $60 at full speed on a like basis - even if that basis is also remote.

(Also, even though $/feature is the same between the two, it's worth bearing in mind that the cheaper guy still takes twice as many days.)


Exactly. In fact they are worse instead of "equal" because although you pay the same financially you're waiting for your product for twice as long.


>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.


> A local guy in your office might have gotten things done in half the time and cost you just as much.

Are you implying than developers working on site are never late? This is far from true.

Edit: To the downvoters, please explain, I may be misguided.


> Are you implying than developers working on site are never late?

I'm implying that when you factor in the lack of time zone differences, communications issues, and the increased efficiency of having your employee in the same office as you, then you'll probably get the work done in half the time.

I didn't even touch the fact that your options domestically are far more expansive if you want to hire a high quality developer who will get the job done in a fraction of the time, producing maintainable, high quality code.


>I'm implying that when you factor in the lack of time zone differences, communications issues, and the increased efficiency of having your employee in the same office as you, then you'll probably get the work done in half the time.

Even that's only the case if your office is designed for software/creative work. If it's a noisy, open-office plan full of interruptions and distractions, it's no guarantee that on-site software developers will be more productive than someone working remotely from a library or home office or the like.


"So technically, he billed at $60 an hour"

He billed $30 an hour. He was an A developer. If you hire locally it doesn't mean you will get an A time manager too.

Also, just because you feel a project must be done in x weeks it doesn't mean you are right. If you need a lot of custom work, then nobody knows for sure how long it takes until somebody actually does the work. If you want something standard (wordpress installation) then it will be delivered in time.


"So technically, he billed at $60 an hour"

I would say the cost goes way beyond that... the cost of doubling your time to market can be brutal. Not to mention extra strain on other resources (including your own time) having someone consistently missing deadlines.


One additional concern on this: the cost is hidden.

My current company sometimes misses this issue. The developer you've outsourced to can take 1.5x but if that slows down not just his items but dependent work, the cost can be very difficult to determine.


This is exactly why the outsourcing craze fizzled out for the most part. I remember when I was in school for CS in 2002/2003 there were people who would tell me that I was earning a useless degree, as all programming jobs would end up overseas.

The bottom line is that outsourcing looks great on paper but then just murders you with hidden costs. Delays to market, code maintainability, number of bugs, etc all go the wrong way once you outsource, but none of that is quantified on any C-level report.


Outsourcing has not fizzled out - I still see plenty of it ongoing


> So technically, he billed at $60 an hour. And that is the issue with outsourcing.

I would disagree with that as a general point and certainly as it being something specific to outsourcing.

Bad time management seems to be a common trait in technical people (I know it is one of my key failings) both in terms of simple punctually and in terms of estimating time/effort requirements - this is something you will run into even with a local developer (though the issue will likely be more visible and so perhaps caught and mitigated earlier) and this is why project managers and such exist. It is a different mind-set sometimes.

Also, almost all software projects are not well estimated. Features are missed from the initial spec, testing time is not fully accounted for, "last minunte" revisions are made as issues and new ideas come up during the development time (unless a full spec freeze is insisted upon), and so forth. A project taking twice as long (wall-clock time or man-hours time) as originally expected is not all that unusual.

The PP seems perfectly happy with the work done and the time/effort/cost it took, so I assume there is no accusation of swinging the lead or the underestimating being something that was due to general incompetence.

Outsourcing can work very well for some projects, particularly smallish ones, but you need to be very careful to manage things appropriately or the costs can quickly run away from a manageable place.


Don't forget the time delay of finding someone local. You could easily spent weeks rummaging through responses to Craigslist ads, interviewing, verifying competence, etc.

The nice thing about outsourcing services is they tend to give you tools to screen along with a deep bench.

If a project is big, sure, look for someone local. But if its medium, I'll add oDesk/RentaCoder to the mix every time.


Agreed; but with freelancers search engines like http://jobreapr.com/ there are damn cheap developers with fixed prices to try. YMMV


From my personal experience, the stigma outsourcing carries is not per se due to outsourcing itself. I work in a non-tech company and work a lot with our internal IT on both internal and external developments. And one thing they have in common is that the actual testing is done once the development is done. And there I don't see any difference between internal and external dev.

What is sure on the other hand is that if dev is outsourced, and I mean like in we buy it from someone who has some code crunchers on the other side of earth with a liason (again subcontracted) aat our place, is that internal developers have some acquired knowledge of processes and the business.

My personal opinion is, if you find some way to conduct tests and reviews during the development, your product will be less-bug ridden, more userfriendly and ready faster. And if you can pull this, it doesn't matter who does the development. Again, time and distance play a role, but that's not exclusive to outsourcing.

What non-tech companies usually do on the other hand is providing some specs, give them to some external big-name, hope everything goes fine and then conduct some final tests under high time pressure two weeks before go live. And when that doesn't work, they blame outsourcing while it's actually the process that is broken.

But that's actually good news for all the start-ups out there!


Yes, 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.


I'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?


Howdy, 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.


Another 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.


I usually try to draw mockups to describe the work. I have a tabletPC so that helps. Also, for really technical stuff, I tried to put myself in his shoes and describe how I would approach the problem.

There is a fine line between clarifying and micromanaging though.


Yes fire fast. Recently I tried to hire someone. He was a good communicator but he was just not technical enough. So I let him go and two days after I found the right person.


Like anything else, the more you do it the easier it gets. I have two part time developers working for me (one from Nepal and the other from Ukraine. They're both great. Much better than the 80-90k/year developers I worked with when I had a day job.

Initially I start by posting the job, then filtering in stages before asking them (and paying them) to complete a small 1 to 2 hour coding project. The coding exercise can be done many different ways but the purpose is to evaluate problem solving, code quality, knowledge of libraries, code structure, etc. It's amazing how much insight you can gain with something like that.

More importantly, having them work on something real helps me further evaluate communication, responsiveness, and other attributes I look for in a good dev.


Yes, and their test work is useful too.


I agree, but would add "evaluate their communication skills" to that.


I don't think I got lucky. I went through this process three times now (looking for a developer for c#, another one for ruby on rails, etc...) and the amount of people looking for work online means that if you filter well, you will be able to get the quality you are looking for.

The rewards of finding the right developer far outweight the upfront cost of looking for one in my opinion, but it depends how long you are planning to be in business for.


A 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.


Outsourcing 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 :)


This 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 :-)


Brilliant.

I did the same thing -- 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.


#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.


#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.


> 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.


This 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.


Very 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.


I 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?


I 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.


What 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.


I 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.


1) 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-founde...


I 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?


Hey, I've been doing some gigs in oDesk and when you're working on an hourly billed project it's quite safe. They have a piece of software you install that randomly takes print screens while you're working, and makes sure you're active by measuring keystrokes and mouse clicks. You also do daily reports and so the guy who is paying you basically knows everything that is going on. If things eventually don't check out they can appeal on the payments based on the activity and end result, but I have no experience with that.


To me that environment sounds awful. If getting up to think hard about what I'm developing would tend to get me dismissed from an oDesk project, they're implicitly selecting for willingness to just sit and type relentlessly even when that's not in the best interest of the project. It might be appropriate for data entry, but creative work with complex requirements is not well served by a WPM metric.


You are not paid based on these metrics, they are there so that the employer can have an idea of what's happening. I'm sure everyone will be very pleased when you deliver a project update on time even if you record 0 key strokes.


I 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.


ODesk has some default protections, but I think it's safest to execute an additional contract for a development job. IANAL but my own approach is to at least include explicit terms in the contract. I don't believe oDesk's default terms cover as much on IP protection as a contract like this. For example, depending how hands-on you are, you might need to specify the contractor needs to get your permission to use any GPL or similar licenses.

I forked a consultancy agreement on Docracy [1] recently to specify any notices take place over oDesk, then requested the contractor agree to it via oDesk's messaging system.

https://www.docracy.com/5642/consulting-agreement-for-hourly...


I 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.


I'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...


If you go via oDesk, each contract automatically incudes an NDA agreement.

What kind of protection are you talking about?


The typical things, IP protection, confidentiality, code ownership rights, payment terms.

Do you use oDesk for all your development work? The "timeclock" feature they have seems valuable. Is it worthwhile enough to bring an outside developer, one you haven't worked with before, into oDesk to work together?


Probably not. I think it depends on where you find the developer from. If it is a recommendation from someone, you might not need to get yourself protected via oDesk.

I think it really depends on how comfortable you are with taking this kind of risk, and how much effort/money you want to put into mitigating them.


For 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.


Yes, 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.


Very 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.


You still need to have fun though, don't outsource everything :)


Sorry 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.


I'm really wondering if your post is sarcasm. But I'll bite. To wit:

>A real developer who loves his project would never outsource major aspects of the project.

Excuse me, but that's just the 'No True Scotsman' fallacy. You don't get to decide what makes someone a 'real developer. http://en.wikipedia.org/wiki/No_true_Scotsman

>while dealing with IMPORTANT issues such as database architecture, setting up the server, etc.

The primary focus of the founder should be to get paying customers. These paying customers could care one iota about Codd's 12 Rules, 3NF, and Chef/Puppet configuration. If you truly believe that those things are more important than getting paying customers, then you, my friend, have a hobby, not a business. The IMPORTANT thing is "getting them to sign on the line which is dotted." Not mucking about at the CLI.

>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?

Sigh. The common engineers fallacy of thinking that creating is enough. It is not. Steve Jobs was a salesman. And I can assure you that marketing is not as simple as throwing up a wordpress blog and a facebook page. It takes real work. Which I suspect you would know if you'd ever done it.

HN: You don't get rich by agonizing over data structures and algorithms (unless you're Google). You get rich by leveraging resources so the multiplier effect works to your advantage. If the most efficient path to getting paying customers is to outsource, then do so. Kudos to OP.

</rant>


Excellent viewpoint. The business aspect and getting paying customers is important. A marketers job is important as well. I don't mean to step on toes. However, keep in mind that the author of this post refers to himself as a developer.

It's like Steve Jobs saying he is a great salesman but wants to outsource selling his vision. It makes no sense to me.

Therefore that is why I wrote what I wrote.


Thank you. However:

>author of this post refers to himself as a developer.

It doesn't matter what he calls himself. If you can pass FizzBUzz, you're a developer. Maybe not a John Carmack, but a developer nonetheless.

There is no sacred law written on tablets of stone and handed down from volcanic mountains that states "Developers who found startups must code or face eternal damnation." Rather, there is a holy precept that does state "The founder (whether a dev, UX guy or bizev guy) shall find the most efficient path to profitability, or be condemned to the lake of failure."

So if a founder is from a UX background, but in his particular context, it is more efficient (faster to profitability) for him to outsource the UX and read 'MBA for Dummies', I would argue that that is the rational course of action.

Again: Your priorities as a founder are not whatever background you are from. Your priority (and you must accept it :)) is to become profitable. When that is achieved, THEN you can go up the Maslow Heirarchy of business-actualization.


Again, you are repeating this idea that all these other non-coding skills can be mastered on a whim. If you truly need an MBA type doing MBA things for your company, then you should go get one. Lord knows there's a zillion of them out there, almost all of which have a better resume than "I read MBA for dummies".

Or to put this differently. If I was working for some larger company as a developer, and I went to management and said "I have decided that I want to quit development and work in marketing", they would turn me down. And rightly so, because A) it would be bad for the company to lose my development skills, and B) there is no reason to hire me as a marketing person when there's many more out there far more qualified and experienced in marketing.

So...if this would be quite clearly the correct course of action if I worked for someone else, why would I not follow the same thought process for my own company?


I disagree. IMHO, there is no better person than the founder to market your startup passionately.

I am not saying MBA skills are not valuable. But what is more important is ability to write pithy blogs, write tons of emails to your potential customers, investors and do lot of other routine activities to keep your startup afloat. None of this requires MBA as such in the initial days.

Your passion, reading some of the best blogs out there on specific topics is more than enough provided you take all the advice as just that 'advice' and tweak it to apply as per your situation & needs.


> IMHO, there is no better person than the founder to market your startup passionately.

Exactly my feelings.


Others have put this differently. But my experience working at a startup before and watching both the founder and marketing manager tells me there's a difference in startups. Atleast the one i was at. The founder had a vision that was pretty impossible to transfer to someone with all the nuances and subtle differences. And when someone(experienced too) else was marketing, he missed out/dropped out all those subtle differences, and was just practicing his Always Be closing principle. Maybe all startups don't have the same quality/problem. Maybe some startups are very fine calculated risks, that can and do manage to transfer/communicate their vision easily.


None of this addresses the fact that the author has set up his company such that the person doing the marketing/blogging/sales/etc has zero experience doing any of those things. By attempting to do them himself the author is completely disregarding their value!


I find harder to outsource marketing and blogging than outsourcing software development. This is why it made sense for me to do it myself. For example, I don't know if I could have found a writer that could have written an article that has brought 16000 readers so far.


This seems ridiculous. This belief doesn't scale past a few programmers/employees.

If you are "doing it right", your time should be worth far more than a programmer's salary.

I run several websites/businesses. At one point I was doing all the coding, marketing, blogging, customer support, etc... I was crazy busy. Over time I've managed to hire for most of this, so I can work on bigger picture, managing what is to be done, architecture issues, and a lot more.

Every few months I try to reasses what things I'm doing that are not worth my time. Programming was one of the first to go. It's so incredibly time consuming and I can hire someone better than me.


You're doing it right, and that's exactly where I'm headed. Mind if I email you?


sure!


> Because blogging and marketing is so very tough?

I agree with the rest of your comment, to an extent, but I strongly disagree with this line.

The act of blogging is easy, sure - it's just typing. The act of marketing, or at least some subset of it, can be easy, I'm sure. Doing these things effectively, so that they actually drive business, is hard.

Dismissing blogging and marketing by sarcastically saying they're "so very tough" is the same sort of bullshit that we get pissed off about when people say "I have this great idea for a website/app, all I need is a coder!"

You're dismissing an entire profession without regard for the hard work that those in that profession put into their jobs.


I see your points here and understand your frustration. Marketing / blogging are still important to the success of a project.

Though in order of importance, I feel it's behind the actual codebase. For the author to suggest that it's okay to outsource development to have more time doing marketing and blogging when he refer's to himself as a developer is just plain ridiculous.


I didn't say I didn't understand your point. I get where you're coming from, and I don't necessarily disagree. I just didn't like the sarcastic dismissal of an entire profession.


That'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.


> A good on-boarding process is very tough

a-fucking men to that!


A real developer who loves his project would never outsource major aspects of the project.

Obligatory: http://en.wikipedia.org/wiki/No_true_Scotsman

Secondly, I'll posit that a "true developer" (whatever that means) certainly might outsource "major aspects of his project," if he's trying to make a successful business from his project, and he needs to dedicate bandwidth to other areas of the business. Creating a business is more than just writing code.

As the old saying goes "The scarcest resource in a startup is founder bandwidth." If you can amplify your bandwidth by doing some tactical outsourcing, then you do it, as far as I'm concerned.

In fact, this post got some gears turning in my own head, and has me considering whether or not Fogbeam Labs could justify outsourcing some development work, to help speed things along. All three of the founders still work dayjobs at the moment, so a little additional development help could actually be a good thing. I'm not saying we will do it, just that I'm seriously considering the possibility for the first time.


I think you're underselling the challenge in the parts of the business that aren't coding. Which is exactly why this guy's decision is such a bad one.

He's basically said "I have skill set X, which I'm trained in and have been honing for years. For my company, I need skill sets X and Y. So I'll do Y and find someone else to do X."

No matter what X and Y are, that's just the wrong way to solve that problem. The key issue in this case being that he is assuming the marketing/user acquisition stuff is so easy that he can just pick it up on the fly with no prior experience.


No matter what X and Y are, that's just the wrong way to solve that problem.

I don't know, If I can't do Y how am I going to hire an A player at the Y game. Being good at X means I can evaluate others in skill X.


OK, but here are your outcomes if you are good at X and need X and Y:

You do X, hire Y - You have one skilled person, one question mark.

You do Y, hire X - You have one unskilled person, one question mark.

Seems pretty simple to me that the first is better. I suppose that you could make the argument that Y may be easy to pick up, but if that's the case it should be all the easier to just hire someone else with a proven track record.


Just to elaborate what i think stonemetal's point is that. You are good at X. you hire someone to do X. prob. of X being useless <<< prob. of y being useless(if you don't know y and hire for Y)


My thought exactly, those two question marks aren't equal. One I am capable of evaluating, both before and after I hire for the position. The other I am incapable of evaluating both before and after I hire for the position.


Time is the real currency.


+1 I had the same reaction.


On the other hand I'm stuck in outsourcing hell with 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.


What are some of the problems you encountered? Why not cut the strings now and finish it on your own?


This 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.


I 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.


I'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.


Part 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-infographi... Philippines has the cheapest web developer salary in the world at an average of US$6874 per year.


Knowing that the talent are equivalent, why would you pay $60/hour when you can pay $15/hour?


With 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.


I 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.


The 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.


sure 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.


You can regularly do code reviews, and educate the developer to write the code using your conventions.


Developers understanding the importance and value of outsourcing development only benefits the entire startup scene.


Been 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.


>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.


"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.


Being 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.


Do you think these foreign workers would be better off without these programming jobs available to them?


I 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.


The title should probably mention this is a 2011 post.


Why? The topic isn't time sensitive.


It'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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: