So where can the promotion to CTO go wrong and what are often the causes of that failure to transition from great engineer, to effective CTO or other senior tech leader role?
Here are a few observations on where the disconnects take place ....
1. The CTO role need not be precise
When programming, it either works or doesn't. There may be different languages, frameworks, algorithms and methods but it is pretty much black and white as to whether the results work!
Programming is a science in that it is truth.
Being a Chief Technology Officer is not.
Softer, management skills are not as easy to measure and define but to make a success of that move from technical to managerial you have to start judging whether something is good enough, and this may not become apparent for several weeks or even months.
2. No one is better than me at programming
Many developers we've worked with over the years are the best at their programming specialty. They know better than anyone else and often they're the key player in the team.
That's difficult to relinquish. The art of delegation doesn't come quickly.
Sometimes you have to restrain yourself from rolling up your sleeves and doing it yourself. But you have too.
Letting go of the programming reins is very hard but very necessary to delegate to the technology team if you're going to become an effective tech leader.
3. Lack of exposure to other areas
Most technical people spend their career working with other technical people. One might suggest we work in a bubble.
Arriving into senior management means removing yourself from that silo and being able to work across departments, with different stakeholders and communicating with people who are not technical. This requires a certain skill.
The language and approach of being a CTO, is likely to be very different to that of dealing with your own team so you need to become a chameleon.
4. No understanding of finances
This is more than just a budget.
An effective CTO should understand cost of employees, the effects of delays, cashflow and investment rounds.
They are not expected to understand the full details, but they should understand the language and where any red flags might be emerging.
Most of us as developers or engineers had little or no experience or exposure to this area of the business as we grew our career, let alone the mechanics and the nuances.
5. Too interested in the minutiae
A CTO needs to build an effective team they can trust and should not be distracted by the minutiae of tasks but they do need the processes and systems in place to ensure tasks are completed.
As a developer you will often keep at it until it is solved. A CTO needs to put in place the people and processes to actually make it happen.
6. Lack of people and communication skills
The developer will be used to dealing with colleagues in a certain way.
CTO responsibilities mean you have to deal with many different people, roles and challenges. Increasingly you're involved in the marketing and sales process, dealing direct with customers and feedback. This requires an ability to communicate and read a room.
Communication is not just the process of language and articulation, it's also understanding what that audience and that group of people need. Conducting a presentation rich in technical acronyms, is likely to go down like a chocolate fireguard in front of an audience not familiar with that language.
Without some people skills and the ability to communicate, a tech leader can easily alienate those inside and outside the business.
7. CTO in name only
We see this happen quite often where by luck, design or circumstance the star developer finds themselves in a quasi CTO role and sometimes ahead of schedule and without a deep understanding of the management skills required.
We call it the 'Accidental CTO'.
Doesn't mean they can't do the role, but it does mean they've been parachuted into a senior managerial role more quickly than expected.
A classic example we see often is an early stage company coping with rapid change and needing to quickly promote people who might not have the necessary leadership or management competencies in place at that stage.
New CTO required? OK, let's promote our star developer.
Can they adapt or is it short term thinking for an unhappy ship?
Are they capable of moving from technical expert into a role of executive leadership and leading the technology strategy?
From our experience, most can adapt but you need to be careful managing the process and be wary if you're that Accidental CTO about what's expected of you.
8. Lack of understanding of the resources required
A skilled CTO will hire the staff required and not the staff they like.
They will use the software and hardware that is best for the business and not their favourite and preferred.
They will regularly check whether they have the right mix of resources.
A naive CTO who decides otherwise will always be firefighting.
9. No experience of management structures and norms
Now this could be a good thing. In some companies you need to kick into touch their norms and reporting systems and endless meetings.
But for many who get promoted quickly it can be an intimidating environment even just attending their first board meetings.
Understanding how to interact with fellow executives, the different pressures they're under, and the basics of listening and collaboration are not always skills that come naturally to many developers.
What is the power structure in this company? Who are the hawks and who are the doves?
How do you ensure you get as much as you want from these senior powerplays?
What role and say does a chairman, NED or investor director have?
How do you manage the key relationships, such as the one with your CEO?
A basic understanding of these political nuances is often crucial for a new or inexperienced tech leader to understand and negotiate.