I want to better understand the relationship between CEOs and CTOs. Specifically, I am investigating how CEOs feel about managing their CTOs, technology and engineering teams.
Dolly.com | Senior Software Engineer, Platform Team | Remote in US or Canada | Full-time | https://dolly.com/hiring
Dolly helps people move stuff. Imagine you bought a big flat screen TV, but didn't have a vehicle to get it home. Download the Dolly app, push the button and one of our Helpers will arrive to pick it up for you. We operate in 40 cities across the US and we do everything from individual objects, like your new TV, all the way up to a three bedroom apartment.
We're a small team of less than 20 engineers, and are looking for a Senior Software Engineer for our Core Platform team. The team is working to build a public API for partners, and to decompose a Node monolith into an event-based microservices architecture written in Rust. We run entirely on AWS with k8.
Likewise, I don’t understand why Google and Microsoft weren’t more successful at killing off Slack. They already had all the users via Gmail and Exchange, so chat was just a feature.
A product that focuses on something is going to be better than something that's treated as "just a feature" in something else. And for "chat" they already had (not great) messenger offerings, but didn't make the jump to group chat. And Slack had benefits from being able to position itself as a cool new alternative, and from not relying on already-existing central infrastructure: it could establish itself at the core of new companies that e.g. didn't use exchange and it could easier be sneaked into large orgs as a grassroots thing - just signing up your team for Slack was probably easier in many places than getting IT to give you an extra feature to the central infra.
And now that Microsoft is paying attention, it's doing very well at fighting Slack, despite Teams' weaknesses. (They also tried to buy Slack first) But it took Slack to show them that a new group chat product was needed and valuable.
I've been the CTO or VPE at several startups (some very successful, others total failures).
I'm going to give you a checklist with only three things on it, and these are the foundations for any startup CTO. As you will see, they have nothing to do with technology or engineering. As a CTO with "a growing team of engineers", the most important jobs in your role have nothing to do with engineering.
1. Define clear outcomes.
2. Get the right people in the right roles.
3. Build a support system.
========
1. Define clear outcomes.
Some people call outcomes goals, objectives, key results. I like to say, "what do we want to be true?"
You are their leader--pause for a moment and let that sink in for a bit--and your job is to provide clear direction and expectations to your team. This is no different than if you were leading a hiking expedition or army platoon.
The way to achieve this is to be clear about the outcomes you want to achieve, and then allow the engineers to take the more of lead on how to achieve that outcome.
In this area, the most important thing you can do as a CTO for the business is to agree with the CEO on the outcomes you are trying to achieve in given timeframes. It's especially important to remember this mindset: assuming you are a commercial enterprise, you and your team exist to serve the business. Again, let that sink in. Your job is to serve the business, which typically means serving customers. (Remember, there was a time when smoke signals were modern technology; if the company were able to serve customers more effectively with smoke signals, then it would be the right thing to use smoke signals instead of whatever techology you are using.)
It's especially important to phrase those outcomes in ways that are measurable. "Enable users to do X, Y and Z" is measurable. "Become the market leader" is not. To facilitate this conversation, I recommend proposing to your CEO that outcomes that your team is going to focus on delivering, and having him or her react to it.
The last thing I will say is this: if you are running an online service, then you have operational responsibilities, e.g. "keep the web site up". Do not forget to include those outcomes in the list of outcomes you are going to achieve. No business person in the history of the world has put "keep the web site up" on their priority list...they just assume you are going to do it. You need to be explicit about that.
2. Get the right people in the right roles.
When you know the outcomes you need to achive, then you know the types of people and skills needed to achieve it. As CTO, your job is to get the right people in the right roles, and this takes two forms:
a) Hiring is priority #1 all the time (right after your operational responsibilities). Hiring has three parts: recruiting, intervewing, evaluating. Your job is to make sure that the hiring process is yielding the people with the right skills and experience to achieve the outcomes you are expected to deliver. To do this, see #1: you need to know the outcomes.
b) Not everybody has the same talents. I don't mean talent like dunking a basketball. A talent is a natural inclination. Some engineers are have a better intuition for debugging and others have a better intuition for architecture. That's not a slam on either of them...some people are tall and some are short...people are just different. Your job, as the leader, is to understand the individuals on your team, to understand their strenghs, weaknesses and talents, and to put them in positions where they can leverage their strenghts.
3. Build a support system.
Being the CTO is a hard and lonely job. You face pressures that nobody else in your company faces. You need help.
At the bottom of the GitHub doc it says, "Join a community of CTOs, engineers, technical leaders who you can knowledge share with". That is tremendously important...find advisors, coaches, mentors and others who will provide you guidance. Just like the CEO has a board of directors to turn to for guidance, you need your own panel of people to turn to for guidance.
* I live in Seattle and we have a CTO club here, and I know of clubs in NYC, Boston, Washington DC, LA, Chicago and SF.
* If you have investors, ask them to connect you to CTOs at other companies in their portfolio.
Experienced founders agree with the post... Look up ScottPorad.com, he has experience in tech and finance ranging from working with Paul Allen to founding Icanhazcheezburger and failblog.
If you are a CEO, will you please take this survey? https://forms.gle/eHsStmansLNmeXaQ9
If you are a CTO, will you please ask your CEO to take the survey?
This survey only has a few questions and shouldn't take more than a few minutes.
All the information collected will be anonymous unless you choose to share your contact info.
Thank you in advance for your time.
If you have any questions, feel free to contact me via LinkedIn at https://www.linkedin.com/in/scottporad/