What makes a good CTO?

Posted by & filed under , , .

I have been a CTO myself a few times and worked for some of the greats (and learned!) so I get asked often about what are the traits of a good CTO, be it by the companies I’m advising privately and also through Endeavor mentorship sessions. If you are a co-founder looking for a CTO or your startup has grown to the point where you now need a CTO, the following points should hopefully help.

Understands the Business Needs

A lot of people forget the CO part of CTO: a good CTO is an executive who specializes in technology. They know the business needs , the business plan, and employ technology to achieve it. This has also the flip side that a CTO must be involved in all strategy planning and decisions so they have good coordinates for making decisions regarding engineering roadmap. Especially as the engineering roadmap really is the product roadmap — or at least it has to be a consequence of and aligned with the product roadmap.

As a consequence of the above: your most talented engineer, your team “tech guru”, is not in most cases the best candidate to be CTO; they are probably a good candidate for Chief Architect.

Thinks Big

A CTO doesn’t focus on the short term and minutia but on the big picture. This means keeping an eye on the horizon and planning for what is ahead. It can seem tempting for instance to focus on optimizing some component or platform to the max and decreasing the infrastructure costs for it, but a good CTO knows when to apply the 80/20 rule and direct team time and efforts to enabling the business to move faster when needed; in the case just listed above for example, sure you can save a couple of 1,000s dollars a month by optimizing code but maybe the business is better of spending that money in favor of launching two other products which need engineering muscle. Thinking big and looking at the whole system not just the details of the cost of a component allows a good CTO to support the business much more effectively.

Balanced Decision-Making and Trade-Offs

Most engineers love building, but a good CTO knows how to strike a balance between when to build and when to buy, when to incur tech debt and when to pay it off and also which is the type of tech debt you cannot afford. This is a corollary of the “think big” trait, but it’s often forgotten, especially when it comes to tech debt and building in house. Paul Graham’s advice of doing things that don’t scale hold up here, with a slight nuance: often engineers will be tempted to build, but if you apply Paul’s advice, it might make more sense for some parts of the system to be bought initially rather than built; when it comes to the point that you need more than what the vendor offers then you can start looking to build it in house. Similarly, tech debt is often either ignored entirely or addressed too actively, and resources are misused for this. A good CTO knows the famous quote: “Software being done is like the lawn being mowed” and they know to constantly revisit implementations and improve, but do so while striking a balance to steering the ship forward.

Team building and mentoring

Coaching, mentoring and building a strong team is one important aspect of a CTO job. A good CTO builds a strong team around and uses each opportunity to share their knowledge and experience. It is the engineering team that the CTO builds for you who will implement your platform, and that’s why it is the CTO job to build and develop this team.

See also my previous thoughts on technical vs people leadership; part of CTO job is to help his team make these decisions and help them choose the right path for their “next level”.

Consequence: A good CTO spends time mentoring and delegating to the team and plays on the team strengths- by contrast a not so good CTO holds all the decision making for themselves and uses the team as mere foot soldiers who just execute orders

Establishes Tech Culture

In line with the above, together with building a strong team comes building a strong culture, and the CTO is the one who will establish the tech culture. Ben Horrowitz rightly pointed out in his book “What you do is who you are” that there are a lot of companies out there with great culture who end up nowhere, but he also acknowledged that culture is the mechanism that can push you forward and amplify your efforts. The CTO is the one who needs to build a culture of team work, foster collaboration in between teams and individuals and allow innovation to surface, they have to inspire the team to take pride in their work and create world class technical solutions. This culture when aligned with the business goals (see above) will lead to success, to opportunities for everyone in the team to play on their strengths accelerate your business development. It will help increase retention and attract the right kind of talent

Has A Rich and Diverse Technical Background

By definition a CTO must have a technical background, but what kind of background is also essential: someone who has been coding all of their life will likely be tempted to keep doing so in this position, and forget about all the other components listed here. Also, experience is essential but you have to look at the type of experience also and aim for diversity in this experience: Reid Hoffman says in his book “The startup of you” that “20 years of experience in the same job is really 1 year of experience repeated 20 times“, and so when choosing a CTO you must take into account the type of experience they have.

A lot of companies like to develop and select from within — and that is a great way to develop talent, however, if your CTO experience has been only in your company they will be limited to only the challenges your company faced, when your business changes direction or you add new platforms to your portfolio, or you acquire new companies and products, are they going to be able to deal with these new situations effectively?

Communication Skills

The CTO has to communicate not only with the engineers, but with all the other sides of the business and even more, to your clients and your investors. For this you need to be able to translate business requirements to engineering, translate engineering issues to the business , build alignment with the engineering roadmap with the other C-suite colleagues and across the business. A CTO needs eloquence and conciseness in communication. The CTO is the face of your engineering so it is the job of the CTO also to evangelize your company to the outside — be it at conferences, industry events, or in front of clients and investors.

Collaboration

As I mentioned before, the CTO needs to constantly be in touch with all the other sides of the business and collaborate with all of their peers. A successful engineering team does NOT work in isolation from the rest of the business and it is the job of the CTO to ensure there is a constant communication and collaboration with all the other parts of the business. You could have the world’s best engineers in your team but that doesn’t sum up to anything if your CTO doesn’t listen to the business needs, to the clients and doesn’t collaborate with his counterparts to make sure the ship is heading in the right direction.

Personality And Charisma

The CTO, as I mentioned above, is the face of your company — same, in fact, as the other C-levels. Choose wisely about what you want the face of your company to look like when it comes to technology. The CTO will have to sit in meeting with investors — do they inspire belief in your platform and technology? The CTO will have to sit in meeting with partners and help the company figure out ways to interface and collaborate with these partners — are they able to articulate the needs and impress your potential partners so that any such partnerships are executed with as little friction and delays as possible? Also, the CTO will be involved in interviews when hiring: can they inspire future colleagues, be they part of the executive team or engineering?

Is Up To Date With Tech

This one as much as it’s obvious is often missed from what i have observed! New technology is born every day in the rapid changing field of computer technology and the CTO must be up to date with this to evaluate what could help 10X your business. I’m not talking about adopting new tech for the sake of it (though there success stories here too such as Netflix for instance which is known for doing regular re-writes and re-architecture every 3-4 years) but if your technology is stagnating that is normally a sign that your engineering team is only doing what they are comfortable with and not looking instead at what is good for the business.

The CTO should constantly look at what is the thing that can accelerate your business, and your speed of delivery, and that means pushing new tech in the stack. Sure, every such change will come with a learning curve but if the reward outweighs the price you pay in your team discomfort during adopting it, then it’s a good investment. (Not to mention it also has the nice side effect of developing your tech talent and enriching their skillset, which in turn helps with retention and talent attraction.) I’ve seen for example way too many teams pushing out php/LAMP-based solutions based on the assessment that there’s no need to change it because “it works”; but often the aspect of struggling to hire for this skillset, and the limitations it brings are overlooked – see the point above regarding thinking big too.

Conclusion

It is very easy to rush to a decision and be blinded by strong coding abilities or technical architecture or simply just history of an individual in the company, but choosing a CTO has (at least) these few coordinates one has to consider. Same as with all the other C-level staff, choosing the right one can be like attaching a rocket to your team and product, whereas the wrong decision will feel like applying the breaks; the above should help in making that decision.