During my career, I have changed place of residence few times, mostly because of various private reasons. That has influenced my professional career and gave me an edge of being able to gather experience as an employee, a freelancer and a company owner.
And exactly that last one comes in handy for a CTO. Having the big picture about the business, knowing more then necessary, understanding employees and their various motivations (or lack of), implementing most rational solutions, taking all sides of business into consideration, being swift, determined but yet careful in those decisions is what guarantees success.
Big success does not come form a good system itself. It is a good system that comes from that exceptional one among us, that has enough energy to bring positive change. If all of us would be without ambition, without fire and urge to change things toward advancement, we would still live in caves. If a great man like Nikola Tesla was happy with the system, he would not give us his remarkable achievements.
A good CTO should be an inspiration to the whole team.
Leading technical side of the company depends the most of how big the company is. Smaller and mid-sized companies often forget that fact and try to copy those who have almost unlimited funds. By doing so, they are often caught in overengineering and in the long term that comes with the price.
Good assessment should always have a satisfied customer before anything else and implementing technologies that someone else uses, will not guarantee success. On the contrary, it can easily lead to the degradation of the quality and to the increased costs for the staff. It is very easy to see the problem, only if you start thinking just a little bit out of the box.
The more complex your technology stack gets, the more layers in your development you chose to have. The bigger the development team gets, the expense and the number of bugs increases as well, which will then lead to the decrease of the quality of your product or service.
Let me be even more clear! One does not have to put Angular in the front-end, just because someone else uses it. One does not have to use React, unless it is really necessary. If you have a nicely organized, formatted and written CSS, why would you "upgrade" that good solution with Less or Sass? As a member of C-level management, one is responsible to preserve the well-being of the company and by implementing everything that became famous or popular, one is probably not doing company a favour.
IT should be a service to other aspects of human life. There is no place for larpurlartism and sometimes it makes sense to take a peek at other industries, to see if someone else maybe has a beta release in his product lifecycle. There is no quality in publishing and selling software, knowing that it has thousands of bugs and letting users and customers to find bugs. It can be done, but they will leave and at the end, what would be the gain?
IT is a very precise industry, but its products and services mostly are not that precise. When someone develops an application for the general population, like for example the one used in the recent pandemic, and then after almost a year comes with an information that the application now actually works, that can hardly be described as a successfully finished project. During all my professional career, I have been trying to contribute to build high quality products and to avoid such mistakes in software, which are as we all know unfortunately very common.
By hiring a CTO that quotes sentences from the book "How to be a successful CTO" and who does not think out of the box, you will never even ask yourself if Scrum, daily, agile, Jira, Confluence and the rest of the usual technology stack is really the only way to go?
There is another way, but to talk about that, please contact me.