the blog for developers

Want to Become a Startup CTO?

During the dot com bubble, I was a founder and startup CTO. At the beginning I wondered what to do as a CTO. There were many conflicting views on that position. From programming to vision, from technology to processes, from tools to people. After some time and more years at managing development teams and departments, my view on the CTO role is much clearer. I’ve distilled the (web) startup CTO job down to:

  1. Write code – often forgotten, but you need to be able to write code, and if you’re one of the first technical hires, there is not enough work for you if you do not write code.
  2. Decide if to hire or to outsource. There are reasons for both, but I’d say in 90% of cases one should hire. The CTO needs to decide which way to go, and – especially important be prepared to defend his decision. Buying is usually not the way to go for a technology or web startup. This doesn’t mean there can’t be a mix, there are often projects which can and should be outsourced.
  3. Hire developers, testers, admins and operators. Several times I’ve been asked to be the CTO for a startup, as in Germany most web startups are founded by ex-consultants or economics majors. They usually have no clue – nor should they have – about good or bad developers. As a CTO you need to provide this knowledge and hire the best you can get for your budget.
  4. Know how to scale development and processes (from 1 to 10 developers e.g.). Development changes significanty if you go from one to five and then to ten developers. You need some kind of process (I for example prefer Lean and Scrum). As a startup CTO you need to provide this in the first years (certainly not first months).
  5. Know technologies, craft an architecture and technology strategy.
  6. Know how to scale an application (from 100 to millions of users).

What do others think about the CTO role? Werner Vogels, CTO of Amazon, defines four roles a CTO can have:

  1. Infrastructure Manager
  2. Technology Visionary and Operations Manager
  3. External Facing Technologist
  4. Big Thinker

Many people have contributed to shaping the CTO role in startups. Indus Khaitan thinks the “5 Bare Minimum Things A Web Startup CTO Must Worry About” are:

  1. Security
  2. Availability & Monitoring
  3. Application Errors
  4. Backup
  5. Source Control

I do agree with them, though I’m not sure Source Control is in my Top 5. Security depends on what you do and what framweworks you use, so this might not be an issue for some time into startup life. Availability gets more and more important when your customers increase and revenue over your plattform increases. Monitoring is a must from the beginning, it’s hard to add later – you lose especially a lot of insight if you have no monitoring, insight which is dearly needed in your first incident. Backup is often forgotten or underrated – do not forget to see if you really can get your site going again from a backup.

Eric Ries writes on the role of the CTO:

The CTO’s primary job is to make sure the company’s technology strategy serves its business strategy.

with five specific skills:

  • Platform selection and technical design
  • Seeing the big picture (in graphic detail)
  • Provide options
  • Find the 80/20
  • Grow technical leaders

This is a great oversight of the CTO responsibilities, there is much more juice in that article, go ahead an read it.

Tony Karrer ponders the question “Startup CTO or Developer”:

What worries me a bit is how often I read that startups should hire a developer / hands-on lead developer. I understand the desire for hiring someone who is going to product product. But often the result of a Founder hiring a developer or lead developer or even a VP engineering is a gap created between the founders and the developers. [...] By the way, I’m not suggesting that startups should hire a full-time Startup CTO who is not hands-on. Rather they should get a part-time Acting CTO who can help close the gap.

Then there is the open question, after you’ve been some time into a startup, what is the difference between a CTO and a VP of Engineering? A very good answer can be found – at least it was enlighting to me – at Mark Suster blog in “Want to Know the Difference Between a CTO and a VP Engineering?”:

The CTO [...] So I believe that every great technology startup has the technology visionary inside the company. This is the person who lays the foundation of what should be built. [...] And first and foremost a VP of Engineering is a people manager.

The VP of engineering is basically managing people and processes, while the CTO is managing technology and the vision. My take on this:

  • In the beginning you better need a CTO that also does a VP/E job.
  • Later you can split the position and hire a VP/E for processes – if needed

Coming back to the tilte of the post: “Want to Become a Startup CTO?” – These are skills to have and the role to play. I hope this made the CTO role clearer, technical and non-technical founders. See if this is really for you, perhaps know what your boss should do and focus on. What is your take or experience on the CTO role?

You can leave a Reply here. Of course, you should follow me on twitter here.

You can share this post!
Do you want to tell others about this article? Use the social bookmark icons to submit this artice to the service of your choice. Thanks.

About the author: Stephan Schmidt has more than 15 years of internet technology experience and 10 years experience in agile. He was head of development, consultant and CTO and is a speaker, author and blog writer. He specializes in organizing and optimizing software development helping companies by increasing productivity with lean software development and agile methodologies. Want to know more? All views are only his own.

43 Tweets

Leave a reply.

Comments

Based on the startups I’ve worked at, I tend to think in terms of three roles.

* The CTO is the visionary and communicator, often more focused “outward and upward” toward fellow execs, board/investors, even customers.

* The VPE is the logistical expert, responsible for resource allocations and schedules, personnel issues, the technical side of partner relations, etc.

* The third role is the product architect or chief engineer, who is responsible for the actual hands-on technical content – using the resources of the VPE to fulfill the vision of the CTO.

Obviously these roles require very close communication and camaraderie. The boundaries between them can be unclear, and two or even all three might be performed by a single person when a company is very small, but IMO they’re still distinct roles.

As someone who slots more naturally into the last role than the other two, I’d say that it’s *not* part of the CTO’s role to write code. I’m as much of a development snob as anyone, I absolutely prefer a CTO or VPE who *can* code, but I also want them to realize that that’s not part of the unique value that they’re supposed to be providing in their primary role. They’re effectively performing another role, which might very well be the right thing to do in that situation, but they’re not operating as CTO or VPE. Everything to do with code, from choice of language and libraries to component relationships to review criteria, should fall under the architect unless/until they delegate to a lower-level tech lead. In a mature organization, even if it’s still a small one, the VPE and CTO have enough other things to do.

The danger of this approach is having a VPE and CTO who are less technical (or less technically interested) than they need to be. In particular, I’ve seen many CTOs who seem to be more aligned with marketing than engineering. I worked with one who was entirely in thrall to the VP of marketing, who in turn spent most of his time doing sales work and consistently failed to produce any of the work outputs associated with his marketing role. He was quite an ace at promoting his own personal brand, but not such a sage when it came to strengthening the company’s. I’d hate to see more companies make the mistake of letting such a person define the CTO’s role.

Overall, I find that I agree almost entirely with Eric Ries’s interpretation, except that I think the development methodology belongs more with the VPE and architect. I’d also define his “provide options” sub-role in more aggressive bleeding-edge terms. The CTO should be strongly biased toward saying that something is possible, in part because the VPE and/or architect should be there to say how hard and expensive it is (respectively). There should be a certain tension between all three, so long as that tension creates a positive energy that moves everyone toward shared goals.

Don’t hire ops or QA people, hire a developer instead. Developers can automate operations, but ops usually can’t code. Developers can automate QA, but QA usually can’t code. If you don’t automate you’re wasting money, so don’t hire people who don’t automate everything.

@Adam: I thought so too some time ago, I’m not sure anymore.

1.) Devops is the way to go with continouus deployments. But until there are enough devops with ops experience I’d hire an ops guy. Devs could do his job, but do not have the incident experience and experience in behaviour of apps.

2.) You should automate QA – but you can only think of the things you think of. Meaning: You can’t find the bugs and think of edge cases you don not think of. QA has a different point of view, they WANT to find bugs in edge cases. As with ops, devs could do the job, but might not have the right mindset.

Owen

Right, and for the QA you can’t automate, this, generally speaking, is the only engineering function where outsourcing can work in a young company.

The reason it’s better to hire 90% of the time is that the company needs to have ownership and control over its IP and that IP stems from the creative minds of engineering team. Some QA work (most notably defining test plans) requires a high level of creativity but much of it (executing the plans) requires less. It’s not that being a good tester is an easy job, and good testers are unfortunately all to rare. But one good tester can be replaced by another good tester with little ramp up. Outsourcing companies specializing in testing will often be able to provide some good ones. Lose a key developer, however, and the whole project may lose its spark.

@Owen: Agree on IP and creative minds. IP is one of the USP and capacity of a startup – which isn’t easily replicated.

Even though the post about profile of CTO, since there is already discussion about QA here are my 2 cents –

I always prefer a team which has horizontal responsibilities including QA. Having dedicated QA often (if not controlled very well) leads to behavior where dev think that finding bugs is problem of QA. If a dev can not find edge-cases then he can not optimize code for them and thats not so good IMO.

Also role of CTO changes drastically if you have a VPE in the team. In that case I would much rather have my CTO take up responsibilities which are outward completely.

@Sushrut: Yes, I also would always integrate QA. Best during development, second best in the team.

Worst: Dedicated QA in a different floor.

“Also role of CTO changes drastically if you have a VPE in the team. In that case I would much rather have my CTO take up responsibilities which are outward completely.”

Depends on the company I think. If you’re doing software sales, I totally agree.

For web startups I’m not sure how much you should turn outward (what percentage of work)

By outward looking I mean any part of technology which faces outward. Be it third-party apis, third-party technology. For example such role will include.

1. Leading team which contributes to OSS we use if any
2. Integrating with third party apps and understanding how this will work.
3. Proof of concepts on new technology under consideration

and so on.

If I have luxury of affording CTO + VPE, I will have VPE focus on functional aspects and CTO on technology aspects for now and for future only.

@Sushrut: Agree with the CTO + VPE split – as you also say a luxury

@Jett: “As someone who slots more naturally into the last role than the other two, I’d say that it’s *not* part of the CTO’s role to write code”

It depends. In my opinion, for the first year it is the CTOs role – a.) because there are not enough developers usually b.) because otherwise he doesn’t get a real grip of the architecture and code.

Over time coding will become less and less until there is no time left for writing code.

Leave a Reply

What people wrote somewhere else:

Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

RT @codemonkeyism: Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

RT @codemonkeyism Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

RT @codemonkeyism: Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

Now it’s clear as mud what a CTO should do :-) RT @codemonkeyism Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

ためになる RT @ codemonkeyism: Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

Skills to have and roles to play as a startup CTO, by @codemonkeyism http://bit.ly/cmnbGJ

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://bit.ly/chq2ZZ

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://ff.im/-nOpr3

This comment was originally posted on Twitter

RT @andreisavu: Want to Become a Startup CTO? http://ff.im/-nOpr3

This comment was originally posted on Twitter

Want to Become a Startup CTO?: During the dot com bubble, I was a founder and startup CTO. At the beginning I wond… http://bit.ly/bjw9oC

This comment was originally posted on Twitter

RT @andreisavu: Want to Become a Startup CTO? http://ff.im/-nOpr3

This comment was originally posted on Twitter

RT @codemonkeyism: Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

I so agree RT @codemonkeyism: Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

@azrael74 Hallo, habe gerade über CTO und Startup geblogged – http://bit.ly/cmnbGJ – Interesse wieder für D-S.de ? Stephan // Vice-CTO b4f

This comment was originally posted on Twitter

RT @codemonkeyism: Just blogged: “Want to Become a Startup CTO?” http://bit.ly/aE1rPS

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://bit.ly/bDHVGg #startup

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Want to Become a Startup CTO? http://bit.ly/aE1rPS

This comment was originally posted on Twitter

Want to Become a Startup CTO? – http://bit.ly/9hFgCd

This comment was originally posted on Twitter

RT @sdouche: Want to Become a Startup CTO? – http://bit.ly/9hFgCd

This comment was originally posted on Twitter

Want to Become a Startup CTO? – http://su.pr/1Zdtfi

This comment was originally posted on Twitter

RT @rlaksana Want to Become a Startup CTO? – http://su.pr/1Zdtfi http://bit.ly/9mULAk http://dld.bz/design

This comment was originally posted on Twitter

RT @rlaksana Want to Become a Startup CTO? – http://su.pr/1Zdtfi http://bit.ly/9mULAk http://dld.bz/design

This comment was originally posted on Twitter

Startup CTO responsibilities: http://codemonkeyism.com/startup-cto/

This comment was originally posted on Twitter

RT @codemonkeyism Code Monkeyism: Want to Become a Startup CTO? http://bit.ly/aE1rPS

This comment was originally posted on Twitter

Code Monkeyism: Want to Become a Startup CTO? http://goo.gl/fvGy

This comment was originally posted on Twitter

“Startups should get a part-time Acting CTO who can help close the gap.” RT @JESandoval RT @codemonkeyism http://bit.ly/aE1rPS #CIO #startup

This comment was originally posted on Twitter

Code Monkeyism: Want to Become a Startup CTO? http://ow.ly/2d5lz

This comment was originally posted on Twitter

Awesome Want to Become a Startup CTO? – http://su.pr/3FRc5f

This comment was originally posted on Twitter

“Want to become a Startup CTO?” http://bit.ly/aTSboE – Startup CTO or game dev were my dream jobs back in the day. Some day…

This comment was originally posted on Twitter

Howt to Become a Startup CTO in 6 steps? – http://ow.ly/2deMF

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://tinyurl.com/35g8ka4

This comment was originally posted on Twitter

What tech roles do you need is a startup? CTO? VP of enigneering? What do you think? #startup #cto #management http://icio.us/l0kpc0

This comment was originally posted on Twitter

Very interesting: Want to Become a #Startup #CTO? http://bit.ly/bX0V3s

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://bit.ly/abMAjU

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://icio.us/4aulfp

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://ow.ly/2d7GL

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://ow.ly/2d7He

This comment was originally posted on Twitter

http://bit.ly/aTSboE – Ótimo artigo sobre a carreira de CTO (:

This comment was originally posted on Twitter

shares http://tinyurl.com/35g8ka4 (on becoming a startup CTO) (thinking) http://plurk.com/p/6gy9p1

This comment was originally posted on Twitter

Want to Become a Startup CTO? – http://bit.ly/cg1ADb

This comment was originally posted on Twitter

Want to Become a Startup CTO? http://bit.ly/ay8pAf (via @CodeMonkeyism) #cto #startup

This comment was originally posted on Twitter

to Become a Startup CTO? http://tinyurl.com/35g8ka4

This comment was originally posted on Twitter

Additional comments powered by BackType

Guide to CodeMonkeyism

Over the last 4 years I wrote many articles on this blog. To make it easier for you to find the relevant ones, I've organized them into topics.

Top 10

6 reasons why my VC funded startup did fail

Go Ahead: Next Generation Java Programming Style

Java Interview questions: Write a String Reverser

The dark side of NoSQL

7 Bad Signs not to Work for a Software Company or Startup

Is Java dead?

Scala vs. Clojure

Never, never, never use String in Java

No future for functional programming in 2008 – Scala, F# and Nu

Clojure vs Scala, Part 2

Java Developer

Is Java Dead?

Go Ahead: Next Generation Java Programming Style

Be careful with magical code

All variables in Java must be final

Never, never, never use String in Java

Bending Java: More readable code with methods that do nothing?

NoSQL Guy

NoSQL: The Dawn of Polyglot Persistence

The dark side of NoSQL

Essential storage tradeoff: Simple Reads vs. Simple Writes

Sharding destroys the goals of your relational database

The unholy legacy of databases

Startup/CTO

Development Dream Teams

6 reasons why my VC funded startup did fail

American vs. European style of Software Development

12 Things to Reduce Your Lead Time and Time to Market

The high cost of overhead when working in parallel

Essential storage tradeoff: Simple Reads vs. Simple Writes

Job Seeker

Another Good (Java) Interview Question

7 Bad Signs not to Work for a Software Company or Startup

Java Interview questions: Write a String Reverser (and use Recursion!)

Java Interview questions: Multiple Inheritance

As a Manager: What I value in developers

Top 10 Tips (+1) to Get a Pay Raise

Agilist

What Developers Need to Know About Agile

5 Practices Better to Change in Your Scrum Implementation

Scrum is not about engineering practices

ScrumMaster and ZenMaster: The joke of certification

What is Trans-Scrum?