The assumptions that programmers are there to lead the way, and the rest of the organization is there to make sure they can do so is flawed, IMHO. Microsoft didn't get to where they are today because Bill G. is a great programmer, but because he is a great businessman. The fact that he's a hacker certainly helped a lot, but without his business sense (and a few lucky breaks) he wouldn't have gotten to where he is today.<p>The thing is that <i>what</i> you build is probably the most important decision a company makes, and the answer to that question is not something that programmers are uniquely qualified to answer. As a matter of fact many programmers live in a world that is quite different from normal people, and don't understand the fears, desires and motivations of normal users. Which you need to do if you want to answer the question of what to build.<p>Yes programmers are good at building things, and to use the yacht metaphor from the essay they should be in the engine room making sure the darn thing just runs. The one at the helm should be someone that understands business, people, marketing, and preferably technology.<p>Programmers don't need an implementation layer, they <i>are</i> the implementation layer.