I've been working with a lot of CTO's and consultants in the past couple years. One reoccurring trend I find is that success does not align with a great technologist at CTO. That does not mean a CTO should be a bad technologist or that a great CTO can't be a great technologist. However, you can have a great technologist that is a bad CTO.
A CTO's role is to:
- Understand Business goals
- Understand how to get a tech answer:
- Hire great technologists
- Understand who has a better answer than yourself
- Know how to say no to good tech and focus on business goals
A great consultant will almost always recommend the latest and greatest technology. Sometimes just so they can play with the latest tech toys. That is great for a consultant but a CTO understands how to say no.
Lets say your whole tech team knows:
- css (without a framework like bootstrap)
- Pivotal Tracker
A consultant might come in and say I can go faster if we use:
- coffee script
- sass (with twitter bootstrap)
A good CTO should sit down with the consultant and either pick one thing that adds business value or tell the consultant they are not the right guy for their team. The disruption to change so much to your team's stack might make the consultant more efficient but it comes at the expense of your team's efficiency. It might be that the consult just wants to bill you while learning one of these technologies also. Hence, it could be a lose lose situation.
Picking a consultant means picking a guy that will not add so much complexity that it kills your current team. Consultants can be great at explaining to tech value to any new technology. A CTO needs to be able to explain the short and long term business value.
All this being said the same consultant that is bad for your business today, might be great for your business after you have updated your tech stack in the future.
Don't hand your first Tech guy the CTO role!
Another thing I see is that the first tech guy on a team is given the CTO role. Please, PLEASE, For the love of god PLEASE STOP!!! This might turn out to be a good thing but do you really know if it is a good choice? Probably not! Hire a guy and promote if they deserve the CTO role. If they can't deal with other developers or don't deliver then you have a chance to hire someone that does deserve the position.
Unfortunately there isn't a position above CTO. That first hire might be perfect as a developer but not as the CTO. So please hire wisely. Good Luck!