How technical should executive management be?
You’ll find a wide range of technical depth in executives who oversee software engineering, both at the VP level and the CEO level. I find one CEO transition illuminating of one end of that range: the replacement of Eric Schmidt by Larry Page as CEO of Google.
We think of Eric Schmidt as the polished adult supervision, and people said it was time to return to leadership by a founder who was closer to the technology. So who is this “adult supervision”? Well, he has a PhD in Electrical Engineering and Computer Science from Berkeley, and if you’ve ever written a compiler, he probably made your job a little bit easier by creating lex (see his description here).
On the other hand, I’ve worked with VP’s of Engineering who I’m pretty sure couldn’t tell C code from HTML. (It did not work out very well).
What’s the right answer? History would show that CEOs who understand technology are radically more effective (see Bill Gates, Larry Ellison, Steve Jobs, Eric Schmidt, etc). I generally lean strongly towards highly technical management. Part of my argument is historical, but I also have a first principles reason: identifying talent (and non-talent).
My rule of thumb:
- A VP of Engineering can be a little rusty but ought to be, underneath the rust, pretty good (but not the best) at the most technical work that goes on in the team. Why? He needs to be able to identify talent; in practice this means discriminating between a very good and an average engineer in any team.
- A CEO spans a number of areas and has VPs in each who should be able to spot talent. But he should be able to identify problem employees himself to keep his VPs honest; in engineering, he should be able to discriminate between an average engineer and a very bad engineer. (Though this is a discussion about technical knowledge, in my opinion he should also be able to discriminate between an average and a very bad sales rep, finance person, and marketing person.)