One of the more frustrating things for me when I tried to figure out whether I want to be a CTO was reading about the CTO being an owner of the company’s “technical vision”. I had no idea what it meant and I couldn’t find a simple explanation in concrete terms I could understand.
Recently I’ve been spending time thinking about “choosing the important things”. My experience in Hello Heart and my current attempt to found a company made me realise that the choices* you make early on in the life of the company and the product have a very big influence them. For example, a company founded by a biz person and a product/UX person is going to be a very different company than one that was founded by a tech person and an NLP person, even if the problem domain and audience are the same. Similarly, if on the early days on the product you decide that the main technical issues you want to address are development velocity, user experience and high availability, you will end up with a very different architecture than the one you would get if you decide that security, operational simplicity and extensibility are your main concerns.
Putting these things together made me realise that the first and most influential jobs of the CTO is deciding what’s important: what’s important today, what’s going to be important tomorrow and what will probably be important in three years.
This is one of the more fundamental ways in which a CTO shapes the technical vision of a company.
* Hint: I am not talking about your choice of programming language. Nobody cares about your choice of programming language.