What are the pitfalls and advantages to outsourcing the development of a start up's product. I am not a programmer, my background is in business. I am more inclined to outsource as I am not located in a tech hub, and I don't know any programmer-types, let alone the kind with the skill sets that I would want to incorporate into the company. If I do go the outsource route, I would eventually want to have all the back-end work performed in-house. Is is worth the effort to try to assemble a programming team to do the development? I would assume an investor would prefer to see a team associated with the company? Does having a 3rd-party developer detract from the viability of the company? (The one that has survived the bidding rounds thus far is very reputable) And last of all, what lines of communication/communities can I go thru to assemble a programming team. This will have to be done at some point. I am aware of E-Lance and similar cos however they seem overladen with overseas companies (only want to assemble a intra-national team that can work out of a centralized office...eventually). Another disadvantage I see going thru this route of communication is the amount of IP I would have to divulge to a large group of people that have the abilities to run with my concept. Does a community of developers specifically interested in start-ups exist?
(Disclaimer ) I run a venture development company, working with industry experts to create their vision, so the answer maybe a little baised.
Basically if you can have an in-house team of gun coders that is great, if you can't it isn't the end of the world. There are companies (like mine) which can help you out.
My advice would be to get someone who is the "key technical brain"/CTO onboard with you (or it could be you with some effort and independant advice).
The remainder can be outsourced ... carefully. You have a few options here:
With all of the options I would ensure
The possibilities vary based on your planned route for getting to your finished product.
There are lots of developers out there who love working for startups and plenty who will only work for startups. Hiring for a startup is like any hiring: your network is easiest, resumes hardest. You can do a few things to limit the field and attract the right folks if you're gathering resumes:
Elance can work for assembling a programming team, but it's not a great solution as their contract requires you keep Elance as a middleman for future work between the same two parties. It's also a poor fit because—as a side effect of the quality of work available there to developers being abysmal and the site's filtering approach being not much better—the percentage of local folks on there thoroughly committed to just freelancing is probably very high.
If you're looking for alternatives for finding outsourcing, I'd try also asking on Quora who all the great developers are who build early product versions for early stage startups. There's also a number of questions already there on finding good developers/technical co-founders.
I think it depends on the complexity of the startup idea you have.
If the technical side is not risky in itself (no technical challenges, proven feasibility) then outsourcing / offshoring can be a good option.
For a first version, the fact that a product has been developed in-house or not doesn't matter much, ask Kevin Rose who outsourced the first version of Digg.com to someone in Elance.com.
Also, outsourcing can be a lesser problem than not being able to develop the project at all if you don't have access to developers in your area.
I run the startup TaskArmy.com, and I do a fair deal of outsourcing myself. I am happy to add more details to my answer if needed.