Tim on Leadership

Musings on Management and Leadership from Tim Parker

CTO/VP as Coder?

It's an old debate and one with no real answer.  Does someone who leads a technical group, such as R&D or Software Development, need to be a coder?

In one sense the answer is "no".  Someone who leads a technical group doesn't code on a daily basis, but spends more time in meetings, managing budgets, people and processes, and dealing with communications issues both up and down the chain.  All that requires is project management skills, the ability to convey information clearly to different audiences, and deal with people reasonably well.

Yet in another sense the answer is "yes".  Without a fundamental functional understanding of what the technical resources are talking about, there's a gap in the manager's knowledge of what's going on, why projects take as long as they do, and why things "go wrong".  It's easier to understand what the folks who work for you are talking about when you talk the same language.

That doesn't mean the CTO/VP or even a Director has to code, but it sure helps if they know what is involved and what the issues are in software development, testing, and deployment.  A basic knowledge of the underlying code issues is, to me at least, one of the keys as to why I am successful in my development teams. 

I've worked for non-technical bosses, and some have been good and some have been bad.  On the whole, it was always more useful to be able to "talk techie" with them, though, so they understood issues and projects.  It can be argued that non-technical bosses can abstract what goes on in their departments and hence can avoid getting bogged down in details, and it is true that non-technical bosses are often better people managers, but I don't really buy all that.  In the end, when I talk to someone up or down the chain, it's nice to know they understand the technical talk.

For those who are curious, I started coding in 1975 on a GEAC mainframe.  I wrote my own version of CP/M was I was 18, and sold it to Commodore (then a big computer company!).  I write C compilers and a UNIX port for Wang minicomputers.  I wrote large database applications (such as a Multiple Listing Service for Real Estate Boards) and small utilities (which are still sold on one of my sites).  I still do code, as stress relief, as I find there's a simplicity and elegance in coding that can't be discovered in most other hobbies.  My coding is nowhere near as good as it used to be when I did it on a daily basis, but I can still find my way around a compiler. 

Personally, I prefer having a boss who can code!