The converse (and less stupid) idea is to require every employee at your software startup to do sales/marketing/customer service. There are a bunch of great examples of this, but what comes to mind is how the employees at Wufoo rotate the customer service position daily (mentioned here: http://mixergy.com/wufoo-kevin-hale/).
If code is the analogue to manufacturing in the digital age, why would one outsource the manufacturing of the new industrial revolution? It would be like Henry Ford contracting with Mexico instead of building factories in Michigan.
I assume he's talking about some specific class of company. Anyone know what it is?
And, I have personally seen it being done successfully - not in an outsouring company, but in an India-based product company.
I believe that as long as there is going to be considerable cost arbitrage to be taken advantage of, there will be outsourcing. Development / sales / marketing - anything that does not require direct visit to customer premises.
The sale force's marginal utility increased in relative to code quality.
However, all else being equal, it is probably best to hire the best developers and salespersons you can for your money.
I think this sum up the blog post? Maybe I got the explanation wrong?
Outsourcing software (or anything) is not free. Usually there is a big quality cost. Sometimes it's other things. If you are saving 40% of your costs, you might want to "pay" these alternative costs.
If (for example) Microsoft wanted to outsource their development for 5% savings, they would (presumably) end up paying a price in buggier software, poorer design, slower releases or whatever that amounts to more than 5% of costs.
Similar could be said about customer service. If customer service is only 10% of your costs and has a substantial effect on how much your customers like you and you outsource at the expense of quality to save some small percent of your total costs, you are very likely to regret it.