Joel Spolsky wrote a fantastic story about his first review meeting with Bill Gates. I envy experience and I agree with most of conclusions, but not all of them. Yes, Bill Gates is a great CEO – he built Microsoft, no more recommendations needed (I’d love to see him taking control on another company). Yes, ability to talk about low-level technical details while being the CEO definitely helped him thousands times e.g. in situations Joel described. I could imagine I was one of those unprepared guys being run down by my CEO, but it’s not going to happen now… Yes, randomly chosen MBA-type manager will probably run randomly chosen software company into the ground.
Thing I don’t agree with is that non-programmer won’t really succeed leading software company or at least, as Joel writes, will look as “someone who doesn’t know how to surf trying to surf”. Leading a software company is not like surfing. It’s rather like running a school of surfing. You definitely should surf and do it well, but without some business and marketing knowledge you will hardly be successful.
I believe Bill Gates not only has great technical knowledge and great vision, but he could say a lot about running business too (and I don’t mean software business only). And this combo makes him great CEO at last.
I’ve seen in software companies some CEOs who are non-programmers. Sure, there are some technical guys around them also, but that’s quite obvious in software companies. One thing is common for those CEOs – they understand software business. Software business, not every detail of software development process. It can work that way.
On the other side you can put lots of companies (especially micro-ISVs) that fail because they’re driven by programmers – Joel also wrote about that. Some of their CEOs have both great technical knowledge and great vision – that’s for sure. Something they lack is managerial and/or marketing skills.
When choosing CEO for software company and being given a choice between one with great business and marketing record versus one with great technical knowledge and vision in vast majority of cases I’d take the first option. Of course it would be great to have one like Bill (or at least like half of him), but they don’t just grow on trees, or something.