The CTO is the only software technician. The CTO programs everything.
- Programming
This takes the most time. The CTO wants to churn out as much code as possible. They want to make the company’s ideas tangible as soon as possible, so that they can test the validity of their ideas in the real world.
- Architecture
While architecture is always important in programming, the CTO doesn’t spend much time on it. The architecture is often drawn on a proverbial napkin - or it even only exists in the head of the CTO.
- Team alignment
Since the CTO’s team consists of only the CTO, they don’t spend much time here.
- C-level alignment
While C-level alignment is very important, it doesn’t take much time in this phase. The whole C-level team fits around the proverbial kitchen table.
- Time horizon
Very short. The CTO wants to write something today that they can test out tomorrow.
- Size of tech team
One.
- Typical phase of the company
Early startup. The founders have an idea and want to put that to the test.
Main focus of a Level 1 CTO
- Create a hypothesis of what will generate value. Bring software as fast as possible to potential users to test the hypothesis. Rinse and repeat.
Secondary attention points of a Level 1 CTO
- A Level 1 CTO wants to build as quickly as possible. They know that a lot of the code they write will be deleted sooner or later. However, they have to pay attention that the code can be maintained and adapted in later stages of the company. Modularity and loose-coupling without overengineering are key.
- Create and foster a good understanding and alignment with the CEO. Build a culture in the C-suite where trust and accountability can thrive.
- Document decisions. While documenting code is good, documenting decisions is better. “We choose solution A above B because …” will help later to understand why certain decisions were made.
The superpower of a Level 1 CTO
- Entrepreneurial mindset, passionate about turning ideas into reality and loves solving problems as they arise
- Move fast and break things: speed over perfection, can live with quick iterations and feedback from real world experiments.
- Versatile: can switch quickly between different technical task, from UI to back-end and back
- Resilient: Can live with the fact that there is no stable ground yet, nevertheless keeps focus and speed in an environment with very limited resources
- Self sufficient: can perfectly work on their own, without the need of additional team members, apart from the challenging of the other co-founders.