CTO fail: common mistakes

What makes you a good CTO? What makes you a bad CTO? I have seen examples of both and I’d like to share these adding my own insight with a little hope that I can change the world.

As a CTO my success if I can hire the best talents.

False. You can hire the best talents but if they do not shape a team that has the can do attitude, respect, trust and the willingness to deliver the product then you will fail for sure.

As a CTO it is very important to being able to build up teams quickly.

False. You need a team and you also need a living organisation. You need every organ to be in its place. Placed with care and great attention to ensure that every part works perfectly and contributes to the whole. You can not do quick hirings. You need to be very careful with your hirings and pay attention spare no time and money to find the best cultural fit (does not mean everyone needs to be the same) in to your organisation. If your engineers are know their place and importance in the big picture and more importantly they are also fit in to the culture then you are very likely to end up with an effective, productive and happy team.

As a CTO I need to settle the boundries and budget for softwares and technologies.

True. You need to provide a high level plan and create some fundaments and communicate it. You need to consider the budget that you have to buy server resources and softwares and you also need to do your calculations and adjust it time to time. Be careful not to be too opiniated though: for instance if you want to use C for your backend you less likely to be able to hire enough resources for the future and it can slow you down if you need to expand so you need to make sure that you are reasonable with the technology, resources need and time frames. Be honest to yourself. Everything can be done in C#, PHP, NodeJS, Ruby… it does not really matter. What matters if you happen to have a very good PHP team then there is no point to switch over to C#. If you do not have anything initially settled – the choice is yours – but there are a bunch of Ruby specialist that you can approach then do it even if you have a Java background for instance.

As a CTO I should hire as many senior people as I can.

False. The best is the less. Hire more junior and mid level engineers and very few seniors. Juniors are less likely to clash and also you can scale up your company with your few seniors mentoring your mid level engineers and keep them progressing. Think about scaling and do not try to fit too many seniors in to the same team because sooner or later they will clash as their seniority comes with the experience (very often with great ego and pride) and they can be too opiniated sometimes. If your excellent senior resources are balanced out between teams then they will mentor people and create new leaders and architects growing with and with in the company.

As a CTO my success depends on my technology skills.

False. You need to be a good architect although you do not need to be the best. Your best values hidden in your work in the background. You have to give the igintion and conduct the team spirit. This job can not be easily described but it consists: hiring, interviewing, understanding finances, understanding technologies, mentoring, scaling, learning and teaching. You have to practice a seemless control. People should not have the feeling that you are in control however you have to. There is no such a thing like self organising flat team. It is a lie. There is always someone in the background who does its hard work to make sure decisions will be made, budget will be arranged and things will happen smoothly.

To be continued…