A CTO Organization in Notch: Why Now?

Introducing a new tech organization and role into a technology company is not exactly a novel move. But, it’s a message of dedication from leadership. A message to all current and potential customers that we mean to assume leadership in adopting new technologies. As well as look beyond their current needs and help them achieve higher value in their business through technology innovation.
It’s also a message to all current and future employees that we will intentionally focus on challenging, highly demanding projects with technology stacks and environments.
But also focus on helping them achieve great careers and satisfaction with a measurable sense of progress.
I’ve been with Notch since the beginning and I started as a software engineer, later became Head of Engineering. I know this is not the same company it once was. When I started, “we” was the two of us; now, there are two hundred people.
We’ve grown from a small but effective body shop to recognized experts in multiple technologies. We help design and deliver hundreds of digital products for our global clients. To drop a notch from big marketing words, we are not few anymore, so we felt this was the right time to introduce this change.
A test of our culture
In 2019, we were pretty vocal about not having a CTO. But four years is a long time, especially when we talk business.
We said that not having a CTO is a test of our culture. It proved we could communicate on all levels and listen to all the voices. We believed it would have been a waste of talent to take away this responsibility from the team since the pressure is on every team member to bring technology guidance to Notch. And we stand by that decision.
But, as someone who watched Notch grow and also grew with it, and now taking a step together as a company and taking on a role as a CTO, this is why our attitude changed four years later.
Changing our attitude about CTO
We have all experienced how fast innovation is. Technology is getting increasingly complex, and sometimes we are surprised by it, and our actions become reactive instead of proactive. We can’t allow that anymore.
Now we’ve grown as a company, the technology landscape is increasingly growing, so we can’t chase everything anymore. We must figure out where exactly we want to move, select the technology directions we want to endorse and choose the right partners who share our values and skills. Those will be one of the new organization’s missions.
Earlier this year, we decided to introduce a CSO role into our company. His task is to plan ahead and make our business more resilient. The same goes for the CTO role – we don’t want to take away responsibility for influencing changes from anyone. On the contrary, we want to maximize people’s potential to be recognized and put their ideas in the spotlight, but with direction and clear vision.
Despite that, there are some responsibilities that one person must bear, in this case, CTO.
We made a decision to invest a substantial sum of money in R&D. There are some expectations that those activities will yield positive results. Someone must manage them and be accountable if they don’t yield anything. That someone is a CTO.
Notch organization now
The idea is not to put a few people inside this organization, give them specific tasks and expect them to execute.
The idea is to put people inside this organization who are principals and act like facilitators for all the agreed proposals and actions defined by them and company strategy. In that way, they influence the engineering department mainly while helping other departments and taking direct action only if needed.
Here are some programming structures which can be helpful to describe Notch structure metaphorically in a way familiar to developers written in self-explaining code etiquette, so others can understand also:
// Interface as in this is the direction where we strategically will move
this year and this organization's mission is to take care of implementation
public interface NotchStrategy {
...
void expandInnovationInPortfolioAndCompetencies(BigDecimal money, Vision clearVision);
Culture nurtureCompanyCulture(Energy employeeEnergy, Motivation employeeMotivation);
Notch increaseBrandAwareness(Content highQualityContent);
CareerPath supportPersonalGrowth(HumanResources support, Leaders leadership);
...
}
// Abstract as in the organization doesn't necessarily have to
implement the tech part of the strategy all by itself,
// but parts of it and provide guidelines and environment for implementation and use
public abstract class CTOrg implements NotchStrategy {
@Override
void expandInnovationInPortfolioAndCompetencies(BigDecimal money, Vision clearVision) {
// TODO support R&D activities and focus on technology assessment
}
@Override
CareerPath supportPersonalGrowth(HumanResources support, Leaders leadership) {
// TODO support company skill matrix building and tech catalog
}
@Override
Notch increaseBrandAwareness(Content highQualityContent) {
// TODO support in boosting the visibility and recognition of a brand
}
public Knowledge expandKnowledge() {
// TODO Notch labs(education labs, architecture labs, workshops)
}
public abstract Content buildNotchContent();
public abstract Certificate certification(Time time, LearningMaterial learningMaterial);
...
}
In 2019, we also mentioned some instances where having a CTO is the right call: “Bigger systems have bigger issues with radiating critical information and making timely decisions.”
We still stand by that opinion, the difference being the type of CTO these organizations would need in different stages. Today’s most common types we can generally describe as infrastructure, planner, consumer-focused, thinker, influencer type, or some mix of them.
In my personal opinion, besides the CEO role, other C roles should always act as a chameleon.
They should not be stereotyped but driven by a specific action or need from the company and then disbanded or, more commonly, change type and face of the role when the need or step finishes.