What does a CTO actually do?
Table of Contents
In 2017, I found myself stepping into the shoes of a CTO for the first time. I joined a small startup as a senior developer, and before I knew it, I was handed the reins of the tech team. Having the CTO title sounded cool, but in reality, it was more of a tech lead role — we were small, just about ten people, and I was deeply involved in building the product. My days were filled with coding, debugging, and playing whack-a-mole with new bugs and customer issues. I was also responsible for ensuring our team delivered on our commitments to investors and clients. It was a challenging time, but it was also a time of immense learning and growth.
Also, a lot of stress. But that’s a whole different story.
Fast forward to today — I'm running a digital agency in Switzerland as a CTO. We're building multiple projects simultaneously with cross-functional teams on each product. We’ve gotten bigger, not by much, but almost 50 people. My role has evolved. I'm no longer just coding and debugging; I'm managing resources, planning timelines, and making strategic decisions. The challenges are different, but the thrill of solving problems and driving the company's tech vision remains the same.
This article aims to demystify the role of a CTO for software engineers and provide a roadmap for those aspiring to this position. When writing this, I considered what I would’ve liked to read seven years ago before jumping into this role.
The role of a CTO is often misunderstood. A CTO is sometimes a technical lead but sometimes a strategic thinker who aligns technology with business goals, and sometimes he’s both.
🏄 They are the bridge between the tech team and the rest of the company, ensuring that technology supports the business and drives it forward.
So let’s demystify the role and see what does a CTO actually do? What does it even stand for?
Disclaimer: I write he/him, but it can be used interchangeably with she/her, I imply both genders in this article.
UPDATE 25th January 2024: If you prefer watching videos rather than reading, or if you just want to see my face — I recorded a video version of this article. In the podcast-style video I talk more in-depth about the stuff that I wrote here. Here's the link.
What is a CTO?
A CTO, or Chief Technology Officer, is a leader, strategist, manager, visionary, coder, coffee junkie, and a problem-solver. They understand technology, but their role goes beyond just understanding code or architecture. They need to understand the business, the market, the customers, and the team. They need to make decisions not just based on what is technically feasible but also on what is strategically beneficial for the company.
In the media, CTOs are often portrayed as tech geniuses or wizards, single-handedly coding complex algorithms or inventing groundbreaking technologies. The reality, however, is often less glamorous. Even though a CTO might be the public representation of the technological advancements that are happening in the company, it’s the teams that are behind him that make it possible. CTO mostly spends their time in meetings, making decisions, managing people, and dealing with the myriad challenges of running a tech team.
🏄 I have a rule of thumb — the smaller the company, the less CTO has to deal with people, and the bigger the company, the less CTO has to do with technology. At some points on this spectrum — it’s either full coding or full strategy.
In a startup, a CTO might be more hands-on, making key technical decisions and even coding. As the company grows, the CTO's role becomes more people-focused. They focus on aligning development with business goals, managing a larger team, and talking to investors/clients to make high-level decisions about the whole company’s direction. This evolution requires continuous learning and adaptation.
So you can either improve and adapt or, sadly, you will not be up to the task of taking the company to the next step. Let’s discuss what changes you should expect at different stages.
CTO Across Different Stages
In a pre-seed or early startup stage, the CTO is often the technical workhorse of the company. They are deeply involved in the technical work, from writing and reviewing code to making key architectural decisions. They are responsible for building the MVP and setting up the initial tech infrastructure. This is a stage where the CTO's coding skills are paramount. They also hire the first team members and set the company's tech culture. The day-to-day tasks at this stage might include coding, debugging, reviewing code, making architectural decisions, setting up servers and databases, and handling customer support requests.
As the company transitions into the growth stage, the CTO's role moves from a hands-on position to a more managerial one. They manage a larger tech team, which might involve setting up processes, implementing tools, and hiring managers to help with the day-to-day activities. The everyday tasks at this stage might include planning sprints, coordinating with other departments, managing team dynamics, overseeing project delivery, and ensuring product quality.
The CTO's role is primarily strategic in a mature or expansion-stage company. They are responsible for setting the company's tech vision and ensuring it aligns with its business strategy. They don’t manage anyone directly except by talking with their VPs.This involves setting up structures and processes to ensure effective communication, collaboration, and decision-making. The day-to-day tasks at this stage might include strategic planning, managing budgets, overseeing security and compliance, maintaining relationships with key vendors, and being the face of the company’s technology successes/failures.
I want to dive deep into each stage and discuss the different responsibilities, challenges, and critical skills required at companies of size 10-, 100-, and 1000-people.
CTO in a 10-Person Company
As stated above, the CTO is often involved in the technical work at this stage. They might be writing and reviewing code, making critical architectural decisions, setting up the tech infrastructure, doing deployments, and setting up different SaaS for the company’s growth. But wait, there’s more — they will be making decisions on build vs buy, which stack to choose, doing customer support with big clients, making sales with even bigger clients who want to talk with the person who built the software, doing fundraising with investors who want to see the whole team.
🏄 At this point, the CTO is also responsible for hiring the first engineers, which often involves a lot of hands-on mentoring and coaching to ensure the culture stays right.
Challenge: Working with limited resources. In a small startup, the CTO often has to work with a very tight budget, and only 1-2 extra engineers; the CEO probably does the QA. This can make it challenging to deliver a high-quality product quickly.
Solution: The CTO must prioritize effectively, focusing on the most critical features and making intelligent decisions about the tech stack and architecture. When you have limited time and resources, you must carefully choose what you focus your time on. Everything needs to be high-impact to survive.
Challenge: Hiring talent. In a competitive tech job market, attracting top talent can be challenging, especially for a small startup.
Solution: The CTO needs to showcase a strong tech culture and offer opportunities for learning and growth. You must also sell the company’s vision to potential hires, as you can’t compete on the salaries and benefits.
If there’s a single skill I would recommend having at this stage, it’s Technical Expertise. You need to have a deep understanding of the technology that is being used. That’s the biggest asset you bring to the table. Your founders will rely on you to make critical architectural decisions, debug code for big clients, and build the MVP.
Tips for growth: Stay updated on your tech stack’s latest trends, build side-projects, watch youtube courses, and take engineering classes. Participate in coding challenges if that's your thing, or contribute to open-source projects. Basically, improve your tech knowledge.
CTO in a 100-Person Company
As the company grows, your role as a CTO becomes more managerial. You’re now responsible for building and managing the team, not the product itself — which might involve setting up the right processes, implementing tools for a better flow of information, and hiring managers to handle day-to-day problems.
Enjoyed the read? Join a growing community of more than 2,500 (🤯) future CTOs.
At this stage, the CTO must ensure that the tech strategy aligns with the company’s needs. This might involve decisions about investing long-term into on-premise migration or refactoring parts of the application to reduce the technical debt. Also, compliance becomes a huge topic; as you’re not playing around with prototypes anymore, you’re getting increasingly serious clients.
🏄 At this point, hopefully, through all the right hires, you’ve fostered a strong tech culture and ensured that the tech team is motivated and aligned with the company's values.
Challenge: Scaling the efficiency of the development team and battling technical debt.
Solution: It’s about time to implement well-defined processes for all kinds of things — deployments, code reviews, code formatting, 1:1s meetings, local development, etc. It’s also an excellent time to start treating your infrastructure as a first-class citizen and set up proper pipelines and CI/CD to ensure the features get delivered as fast as before, and the security is considered.
Challenge: Balancing management and technical work. At this point, you might start to have too much on your plate, with both sides pulling you to solve their issues. Good time to start delegating work to other people. Otherwise, you may find it challenging to balance your high-impact responsibilities as the CTO with low-impact tasks that you still enjoy doing, e.g., fiddling with Kubernetes.
Solution: The CTO needs to delegate effectively, possibly hiring people for different roles to handle low-impact tasks that take too much time.
A single skill that is of enormous importance here — People Management. You’re basically creating a system around the company with people to do what you were doing alone but also better.
Tips for growth: Take courses in leadership/management/communication. Seek feedback from your team and be open to learning and improving. Practice active listening and empathetic communication.
CTO in a 1000-Person Company
So now you’re at the big boys league. I’ve never been a CTO of a 1000-person company, so this is based on me talking with different people, reading books, and extrapolating my experience based on where I feel it’s going. The role here is primarily strategic. You are responsible for setting the company's tech vision and ensuring it aligns with its business strategy.
Purely forward-thinking - How do we thrive in the next ten years as a company, rather than operative — how do we improve the product? At this point, you should have much more competent people than you to think about the operative things.
🏄 At this point, everything you do is consume information from all sides of the company, augmenting that with information about technology advancement from outside and together with other C-Level executives setting direction on where the company moves to.
You must also manage relationships with key stakeholders, including the board, investors, key customers, and partners. Don’t forget about going to big events to meet other CTOs to see if there are any potential synergies for growth and talk about acquisitions.
Challenge: Managing a large, geographically dispersed team. In a large company, the CTO needs to ensure effective communication and collaboration across the tech team.
Solution: The CTO needs to make sure (not saying he should do it himself) proper structures and processes exist for effective communication. For example, clear reporting lines, clear team inter-dependencies and communication systems. Maybe even try out Holacracy for self-organizing teams.
Challenge: Staying competitive in a rapidly evolving tech landscape. In a large company, the CTO must ensure that the company is leveraging technology effectively to stay competitive.
Solution: The CTO needs to foster a culture of innovation in the team. They also need to make smart decisions about tech investments and partnerships e.g. Microsoft partnering with OpenAI.
One skill you need to have — Strategic Thinking / Long-Term thinking. In a large company, the CTO needs to be able to set a clear tech vision and strategy for the next five years, make high-level decisions about tech investments, and ensure that the tech strategy supports the company's business objectives.
Tips for growth: I have no idea; I’m not there yet, but there are tons of books to learn about business strategy and there are CEO Coaches who can help you shift your thinking paradigm. So the advice would be to practice strategic thinking by working on complex, long-term projects and to seek mentorship from experienced tech leaders. But take this with a grain of salt. I’m also still learning.
What does my day look like?
I'd like to give you a concrete example of what your life could look like if you pursue the CTO path. In my life, no two days are exactly the same. My current role is a blend of technical, managerial, and strategic responsibilities, and my daily tasks can vary widely depending on the needs of the projects. I hope this glimpse into my daily life will provide some clarity.
I wake up at 7:30 AM. I don’t go for a morning run, and I’m not filled with motivation as I've already checked my phone, and there are a dozens notifications. Perfect. I just want to take a shower and get to the office.
You might think that once I'm in the office, I will be enjoying the sunrise with a hot cup of coffee and thinking about how awesome I am. Nope. My mornings are hectic, I always start the day by reviewing emails and Slack messages, checking if there's anything critical. There are usually about 15 messages waiting for me each morning — including team updates, HR memos, development issues and emails from client.
After I've had my cup of coffee, I sometimes attend a stand-up meeting with some of our more important projects to make sure we're on track. We discuss the progress, address any issues or blockers, and see if I can enable them somehow — mostly this means me writing some emails and scheduling some meetings to speed things up.
I have the most high-priority tasks in the first part of the day. Some of it includes — reviewing PRs as a second pair of eyes (I still enjoy doing this), making architectural decisions with one of the teams, taking a look at our DevOps or working on a proposal for a new client. As a CTO who is still hands-on, I might spend a significant part of my morning doing technical work.
After lunch, I attend some meetings. This could include client presentations, vendor meetings, or internal meetings about strategy, budget allocation, or resource planning. Even if I’m hands-on, I’m still involved in many high-level decisions about the company's direction, so these meetings are a big part of my day.
After this, I might work on project estimations. We estimate the scope and cost of new software projects with our senior developers. This involves understanding the client's needs, assessing the technical requirements, and evaluating the time and resources needed (and if we have the resources required).
As I mentioned above, we have multiple products being build at the same time, and I’m usually very active on Slack, so I check my Slack during the day and make sure everyone has everything they need from me, and nobody is blocked.
Evening / At home
I wrap up my day's work at home, check the todo list to see what I’ve done, and send emails to plan meetings for the next days/weeks. Reply to as many people as I can. I try to close my day with zero unanswered emails, but as experience shows — there's always more work than you can handle in a day.
After finishing my primary responsibilities, I read some HackerNews articles, listen to some tech podcasts, figure out the next topic for my newsletter, and write a few paragraphs.
This is more or less it. It varies heavily based on specific projects, deadlines, and issues that might arise. I try to stay flexible and still wear many hats during my daily work, I'd like to make sure we’re progressing in the technical work and becoming more efficient as a company in terms of processes, resources, and projects.
After I wrapped things up I read some fantasy books, go for a walk and hang out with my friends. Eventually I end up in my bed to get a good nights sleep to repeat the same outline the next day but with a different set of problems. Exciting!
Enjoyed the read? Join a growing community of more than 2,500 (🤯) future CTOs.
Is It Worth It, or Should You Stay a Software Engineer?
Big question, no easy answer. The decision to transition from a software engineer to a CTO depends mainly on your career goals, interests, and skills. We’re all different apples.
As a software engineer, you're deeply involved in the technical aspects. You're coding, debugging, and deploying. You're solving complex problems and seeing the direct results of your work in the products you build. If you love hands-on technical work and prefer to focus on coding and technical problem-solving, staying as a software engineer might be the right choice for you—also, a lot less people interactions in this case.
On the other hand, as a CTO, your role is more about management and strategy. You're managing everything — resources, people, plans, vendors, partners, clients. You're part of the driving force TO MAKE THINGS HAPPEN on a large scale. You're much less involved in the hands-on coding and more engaged in managing the software engineers who code. If you enjoy leadership, being a role model, and problem-solving on a company-wide level, transitioning to a CTO role might be the right move.
The impact you can have in a leadership position is crazy, not even comparable to software engineering. You're not just influencing a single project or product but the entire company's tech direction. You can shape the company's tech culture, drive innovation, and significantly impact the company's success. The CTO role can also be a stepping stone to other leadership roles, such as CEO, especially if you're interested in running a business.
However, going from a coder to CTO means developing new skills (people skills) and taking on new responsibilities (a lot of them!). It can be challenging and may take you out of your comfort zone. But it can also be rewarding and offer new opportunities for growth and learning.
So you decide.
Other Newsletter Issues:
Just for reference, it’s not ok to just “imply” that you’re referring to she/her when you’re using “he/him” – especially when using comic strips containing only males. The industry is dominated by men and feels like a safe space in every article/forum within data on the web. Please give using “she/her” a go to imply he/him and read the article afterwards. The jarring you feel is how women (not to mention non-binary +) reading this article feel reading every. single. article. every. single. day
You wrote a lot about “strategic” stuff that a CTO has to handle, but without any tangible example. What is so strategical to a tech company? I think that architectural direction is one of the most strategical things a CTO must do in a Tech company
Do you think you can be a CTO of a larger company if you don’t have advanced technical skills, but your strength is more on the people side with a general awareness of the technical issues?
Hi, I really enjoyed our post and find myself when you describe the CTO in a 10-person company, it’s really hectic, you basically need to be in all areas of the company and I felt overwhelmed, I didn’t have true support from the CEO, but I have my faults, it was my first time being CTO.
I’ve made a step back to be software engineering again, being CTO is not for everyone, you should like it.
Thank you for the post. It makes me think about starting a newsletter myself as a team lead.
I really enjoyed your post and I highly encourage that you will discuss some topics in the future including “How the communication works between CTO & CPO?”
as a former CTO, I would say that the communication and prioritization is not so straightforward.
I’ve led 1000+ person tech teams as VP & CTO, so I can confirm that strategy comes into it sometimes but it hasn’t been a dominant challenge of the job. “Strategic” steps are usually pretty straightforward if you understand your tech stack and the most likely future bottlenecks or constraints.
The biggest change is needing to build an influence/oratory leadership model. At 1000+ people in your reporting structure you’re not going to know everyone personally (or even once removed), but you still need to drive change and culture across the organization consistently and at the same pace.
This is where those conference-speaking skills first come in handy , but you can also approach it by taking a page from social media influencers or journalists. Any approach which lets you guide the whole organizing into a consistent and focused team.
That said, I thought I’d add that it’s a bit grating that you exclusively use he/him when referring to hypothetical tech leaders. I know it’s unintentional, but as a woman in tech I find it annoying, and it makes me less likely to endorse or forward this post.
Your article assumes the CTO is a he. Wonder why…
Also your “subscribe” popup is very annoying, it gets in the way even when you’re typing.
The article’s viewpoint is flawed as it suggests that the CTO should focus solely on achieving a competitive edge for the product.
However, the CTO should also strive to achieve this through technological advantages, strong partnerships, and other technical aspects. This is similar to how the Chief Executive Officer (CEO) should pursue a competitive edge from a non-technical perspective. It is crucial for the Vice President of Engineering to assume as many managerial responsibilities as possible from the CTO. This is comparable to how the Chief Financial Officer (CFO) takes on certain duties from the CEO.
I am André and I am also a CTO of a small startup company with 35 people and I absolutely identify myself in a lot of what you wrote in this article. By the way, thank you for sharing your experience, as it takes some weight out of me to see that someone else in the same position faces the same struggle.
I wanted to ask you what engineering courses or YouTube channels do you follow to stay up to date and learn new skills. I am mostly interested in two areas I wish to improve: people management skills and cloud infrastructure skills. I come from a very low level software background, programming microcontrollers and also backend applications and I found myself running the tech force of a company building two products, one a SaaS and another one an embedded software stack. Fortunately, we have very capable people in the company to do the right architectural decisions for the SaaS one, and I also have some knowledge in the area, but I feel I need to step up my game there. What would you recommend to read, watch, follow or courses to take?
Use text-wrap: balance;
Not a huge difference but a sliiiight improvement in readability on some devices 🙂