Advice, Engineering Manager, Featured, Leadership Development

Chief Technology Officer (CTO) – Questions and Answers

As a CTO in a startup, what should I do when the CEO wants to interfere with making technical decisions?

As I have run my own software development agency and co-founded a tech startup before, I have been on the other side of the software business and I can understand why a CEO might want to interfere a CTO, especially if the CTO is an employee instead of a co-founder.

The fundamental issue comes down to this: The CEO is responsible for business goals and the CTO is responsible for technical goals. However, the CEO sits above the CTO in an organisation structure and therefore the CEO has the responsibility to make sure technical goals are supporting business goals. If the CEO doesn’t feel that technical goals are supporting business goals and they don’t believe the CTO has the business acumen then the CEO will be interfering more often than the CTO would want.

To solve this issue, the CTO needs to be able to demonstrate their business acumen and think and act like a CEO as well.

You may be thinking, “Oh, but I don’t think I can develop such a skill. I have never been a CEO or don’t know a CEO personally.” You may be surprised to know that being an engineering manager means you already have a lot of similar characteristics that are important for a CEO. Therefore, it is more about understanding and honing this skill.

Here are 5 ways to do that:

  1. Understand How Business Success Is Measured at Your Current Company
  2. Leverage Data Effectively
  3. Learn to Delegate
  4. Be Obsessed With Continuous Improvement
  5. Bring Positive Energy

What is your average day like as a CTO of a startup?

Let me share some of the activities that I did when I was a CTO of a startup that’s growing with existing user base. One to to remember though is no two days were the same for me because I was operating pretty much reactively, which is hindsight, also caused me to be ineffective.

As it was a small startup, I reported directly to the founders of the startup. I was basically the face of IT and software development arm of the startup. The startup model was a combination of Managed Services and SaaS. The role and responsibilities were many and I got a chance to wear many hats; I was responsible for internal IT infrastructure and operations such as maintenance of LAN system, DNS configuration, back up of internal services, data redundancy plan, and even printer issues. I was also responsible for bringing in businesses; meeting potential clients, pitching and talking about our solutions and liaising with existing clients and making sure they are happy. Then I was responsible for technical design and architecture of web applications; making sure they are robust and secure. Lastly, there is people management aspect; hiring, growing and providing suitable assignments for my team members.

The activities that I did were:

  • code reviews
  • meetings with other functional leaders such as head of marketing, head of business development, as well as the founders
  • 1:1s with direct reports
  • interviewing
  • visiting clients
  • pitching our products
  • responding to customers on various medium such as support tickets, emails, phone calls
  • triaging bugs
  • writing documentation
  • reviewing and assigning tasks to team members
  • providing progress updates to founders

How important is it for a CTO to have hands-on programming skills and/or is that requirement just watering down the title of CTO?

It’s often preferably to have a CTO who had been a software engineer/coder at some point in their career however, the don’t need to and they shouldn’t do doing hands-on coding every day unless it’s a small startup with less than 4 software engineers.

This is because foundational technical skills and the ability to speak to and understand developers are absolutely important for a CTO, however, those skills alone aren’t enough for an executive technical leader.

So what are the other responsibilities needed from a CTO apart from coding? Coincidentally, I had done a research on this. I reviewed a number of job descriptions of CTO roles advertised by companies ranging from small startups to large public companies. I then evaluated the responsibilities against a product that I was creating for CTO and VP of Engineering called CTO Toolkit.

From my research, it’s evident that a CTO needs to know 6 main areas:

Technology Strategy
Evaluate the current technology landscape (technology stack, resourcing, capabilities, etc.) and recommend a forward-looking, short and long-term technology strategic vision and plan.

Engineering Excellence
Build world-class R&D practices and execution excellence.Establish strong metrics, process and road map management and foster an agile and lean working environment.

Organization Design
Position and prepare the technology organisation for scalable growth.

Hiring & Career Development
Oversee all aspects of engineering, such as hiring and retaining talent, defining best practices, and coaching and mentoring. Mentor engineering team members in terms of time management, development process, problem-solving, and feature design.

Alignment & Delivery
Work closely with the executive team in setting business goals and translating them to the engineering team. Coordinate and direct projects across multiple teams within Engineering.


What makes someone an awesome technical co-founder aka CTO?

As a previous co-founder and a CTO of my own start-up and a CTO of someone else’s start-up, I have a pretty good idea of what makes an awesome co-founder CTO and it’s different from what makes a CTO.

Apart from being an inspirational technical leader, here are the characteristics of an awesome co-founder CTO:

They start with why — they understand what customers want, and analyse problems before jumping into coding or solutions.

They have a balanced view — they strike a balance between technology, time/effort and customer value every time, with every feature.

They never fall in love with their code — they don’t do premature optimisation, they are pragmatic and they are willing to start all over again if they realise what they are building isn’t what customers want or need.

They know what to measure — To know what customers really want or need, they know what to measure, and they measure what matters. Like engagement metrics, performance metrics, business metrics and they validate what they have shipped.


How do I choose a good CTO?

The word “good” is very subjective. Depending on the size and maturity of your company, you want a CTO that has got certain attributes. In my research for CTO product, I’ve found that the following are the areas of responsibilities for CTOs:

  1. Organization Design
  2. Hiring
  3. Technology Strategy
  4. Engineering Excellence
  5. Career Development
  6. Alignment & Delivery

Out of those 6 areas, when a company is still small and there are not many engineers working for the company yet, the CTO will be performing all the responsibilities.

As the company matures over time, the role of the CTO changes - the company will likely have a CTO as well as an architect and a Head of Engineering/VP of Engineering. So if there is a programmer who is better than the founder (CTO) of the startup, they can step into the role of an Architect or VP Engineering, depending on what they are great at.

So think about what kind of CTO your company needs. Be very specific with what you are looking for because it’s very hard to find a CTO who is good at all the six areas mentioned. Once you know what you are looking for, get the word out there in LinkedIn, Twitter, CTO networks, Forums, etc.


What is the best formal Fortune 100 CTO training?

I have yet to find a formal Fortune 100 CTO training but I’d suggest courses like

  • Innovation management
  • Business acumen
  • Design thinking
  • Strategic planning and exceution

to be great resources for CTOs.

As written in my article, How To Become a Chief Technology Officer (CTO)?, as a CTO, the key priorities of your role are strategic thinking, planning, continuous improvement, and alignment & delivery to plan, execute, track and achieve business outcomes. So any training that covers those topics will be valuable for a CTO or an aspirating CTO.


What roles can I apply for after being a CTO of a startup?

I started my official management role as a CTO of a startup back in 2007. I applied for the role because I thought I was ready for the next level. When I first became a CTO of a startup, I was young and inexperienced. I was technically capable, had led multiple software projects and had a great track record on delivering projects on time and within budget. But I really had very little idea about how startups or management work. I had no idea how I was going to be challenged when I took on the role of a CTO. I understood working at a startup, as a hands-on CTO, was going to be different from working as a developer in large corporations. I knew there would be unknowns but I truly didn’t know I would struggle with it as much as I did.

After a year as a startup CTO, managing a small team, I went back to a technical leadership role instead of a people manager role as an individual contributor.

So you don’t need to continue being a CTO if that is not what you enjoy doing. In life, things don’t always work out the way we anticipated. And sometimes, it’s for the better. I am now back in senior tech leadership / management role and I enjoy it much more than I did.


Should e-commerce companies have a CTO?

Do you need someone to:

  • Build a shared technology vision, and empower and engage your team to deliver an amazing product for your customers
  • Work closely with the wider leadership team to drive growth and commercial outcomes, and to progress the product roadmap at a high cadence
  • Own and manage security, performance, and availability of the ecommerce platform
  • Provide technology leadership with for software developers who are working on the ecommerce platform

If you answer yes to any of the questions above, then yes, you do need a CTO.


Will software engineers in big four (Google, Amazon, Facebook, Apple) companies want to join a startup as a CTO?

Yes, I can say this for sure because I have seen it happened.

If you’re hiring or looking for one, I’d recommend to set right expectation and be upfront with what you are looking for in a candidate.

Software engineers in big four (Google, Amazon, Facebook, Apple) companies focus a lot on depth in a technical domain, they are used to following standards and conventions and they often work on codebases that had already been well established. Each team owns a small subset of an overall customer journey, for example, there is a team responsible for Search API, another team is responsible for Suggested keywords, etc.

Startup culture is different. At startup, people wear multiple hats, for example, a person’s role might be a CTO but they are also a Customer Success Manager. Teams are expected to deliver end-to-end features and ownership of code is blurry.

Therefore, it’s important to share these information with the candidates who come from big four (Google, Amazon, Facebook, Apple) to ensure there is no expectation mismatch later down the track.


How should a CTO attract, hire, and retain tech talent effectively?

Attracting: Via a good company brand and culture. Tech industry is small and words of mouth is the best form of marketing.

Hiring: Having a structure hiring approach that assesses candidates fairly. I share more about this and resources like assessment framework in my CTO Toolkit (link in credential).

Retaining: How do you keep your team engaged and high-performing in a remote environment where office perks like free food and ping-pong tables no longer exist? Well, the answer is pretty simple! Invest in their career growth. Give them stretch assignments, interesting projects and provide them with continuous feedback.

Check out CTO Toolkit for many useful resources such as templates, steps and best practices on interviewing, hiring and building tech talent for a world-class technology organisation.


What can a CTO expect to do on a day to day basis in an early stage startup that has 2-3 engineers?

Starting a new job as a CTO can be exciting and daunting. However, the good news is that you can be prepared and intentional about how you spend your time. Here's your 90 days plan. Once you’ve settled in, you will be able to have a better idea about what exactly to do on a day to day basis.

Day 1 - Day 15

  • Get to know your peers, direct reports and leadership
  • Listen more than talk
  • Use the company’s product and play around with its features

Day 15 - Day 30

  • Learn more about current projects and follow updates
  • Learn about the technical architecture and tech stacks
  • Understand how the current projects contribute to the organisation’s success
  • Observe current systems, processes, ways of working and people and identify strengths and opportunities for improvement

Day 30 - Day 60

  • Form your own opinion around how things work
  • Monitor progress of engineering excellence^ via essential metrics such as up time, response time, error vs success rate, number of incidents, etc
  • Put together a 6 months and a year plan, starting with outcomes
  • Talk to customers and end users

Day 60 - Day 90

  • Share your plan with leadership and key individuals in the organisation
  • Make small changes^ that are aligned with the future direction, eg: introducing code review process, implementing structured hiring approach
  • Do the first of many quarterly reviews with your direct reports and share your observation about them

Always remember when you're starting a new role that it's not a marathon but a sprint. You want to make sustainable changes that will enable your engineering organisation to scale effectively.

(^You may check out CTO Toolkit for sample dashboards, best practices and templates.)