About 2 years ago I began going on interviews at various software development firms in the Greater Boston Area. I was specifically looking to step down from my position as CTO into a more dedicated software development role.

After interviewing with several companies I noticed that a few of them would praise their CTO’s for being able to get into the code base and contribute. Stating that at previous companies they had worked for this had not been the case. I left feeling confused, like maybe I wasn’t really a CTO because I was actually coding instead of organizing meetings all day and discussing strategic direction.

Some time has passed since my last job search, and I’m now back in the roll of CTO again. I have decided without a doubt that a CTO that doesn’t write code is not a CTO worth having. That’s right, if getting your hands dirty and fixing those hard to fix issues are beneath you, then you don’t deserve the title.

I have come to this conclusion, by finally pinning down, just exactly what the role of a CTO should be and I believe it to be this: A CTO’s primary job role is to enable the company to advance it’s technical and business goals by removing road blocks for his technical staff (himself included). Which basically means a CTO is in charge of making developers happier and more productive. Without developer happiness productivity plummets and nothing gets done making for a pretty ineffective team.

The reason the a non-programming CTO is a joke is because he can’t possible understand the pain points of software development unless he is using the tools that the team is using (tools that require programming). This is another case of eat your own dog food. In this case the product producer is the CTO and the customer is their development team.

So next time you interview for a company and the CTO is not involved in the programming effort, take that to mean that the you will probably have a little more misery in your life than would otherwise be necessary.