I've worked in one growing small company, and one internet giant. From my limited experience I've noticed that as companies get bigger:
- they gain engineering throughput. Given enough time more stuff gets done in the larger company.
- they gain latency. It takes longer to get a single feature out.
- they lose creativity. Solutions tend to get more boring, and exciting new things get swept under the rug. Powerful levers that allow single developers to be highly effective become frowned upon.
The key things appears to be the way a simple question is answered: "We need to implement X and there are two ways; the risky design that requires a small number of developers, and the safe way that requires a large number of developers. Which design should we chose?"
Every manager I've ever worked with wants to chose the safe route because it's safe, but only those in large companies can afford the number of engineers.
I had two thoughts when reading this:
1) Mythical Man Month...
2) If I was Apple would I have released the SDK with iPhone 1.0? Probably not. iPods became a market leader without a killer (externally developed) app. Why spend the effort to package-up the SDK, when it's not going to be key to your offering?
2 comments
[ 3.4 ms ] story [ 9.9 ms ] thread- they gain engineering throughput. Given enough time more stuff gets done in the larger company.
- they gain latency. It takes longer to get a single feature out.
- they lose creativity. Solutions tend to get more boring, and exciting new things get swept under the rug. Powerful levers that allow single developers to be highly effective become frowned upon.
The key things appears to be the way a simple question is answered: "We need to implement X and there are two ways; the risky design that requires a small number of developers, and the safe way that requires a large number of developers. Which design should we chose?"
Every manager I've ever worked with wants to chose the safe route because it's safe, but only those in large companies can afford the number of engineers.