What To Say To A Roomful of CTOs
At 8am this morning I am going to address the monthly breakfast group of CTOs here in NYC. I haven't prepared any remarks and it's time to spend a few minutes thinking about what to talk about. Might as well think out loud on this blog.
I am going to use the words CTO and VP Engineering interchangeably in this post, I realize there's a difference, particularly in large companies, but in the world we live in, the CTO or VP Engineering is the person who manages the development/engineering team.
CTOs are among the most important people in the companies we back. Many of our portfolio companies don't have CTOs when we invest and we often are involved in recruiting one to join our companies when they get large enough that the dev team needs a manager. My partner Albert (who was a CTO at one point in his career) wrote a good post called "Hiring A VP Engineering or CTO for Non-Techie Founders". That's a good read, including the comments we got on that post.
The last point that Albert made in his post is if you find the killer VP Engineering but it's going to cost you more than you want to spend (cash+equity) to get them on board, you should do it anyway. I totally agree. I have seen first hand the benefits that come from having a rock solid CTO in a company. And I have also seen the disaster that can result from not having that person on board.
First and foremost, I see the CTO as a manager. Great managers are hard to find in any line of work. But managing developers is even harder. The better the developer the harder they are to manage. I assume its a bit like managing high maintenance entertainers. The best developers are artists who are often moody, are anarchists who have bursts of creativity and equally long periods of uselessness. They are strong willed people who will fight with their colleagues over anything and everything. The people who have mastered the art of managing these kinds of people are a rare breed and every great technology-based business needs one of them.
I have found that for young companies a "player/manager" often works best. If you can find someone who is or has been a world class developer who also has the ability and more importantly desire to manage a team of at least ten developers, do it. That person, by virtue of their engineering talent and prowess, will be able to manage a small group effectively. And they can contribute to the development too which at crunch time is incredibly valuable.
As companies get bigger, you really need a full time manager. The best ones, like all things in startups, have done it several times before in high growth startups. As Albert said in his post, it's not usually a great idea to hire a CTO from a super big company for a young growth company. Companies growing from 10 engineers to 50 engineers to 100 engineers over a 2-3 year period are a unique situation and you really need someone who has lived that situation a few times. Again, it's incredibly hard to find a person like that.
I think being the CTO of a early stage growth tech company is a great job. There are several things going on in technology right now that make the work incredibly exciting. First and foremost, we are witnessing a new infrastructure for web apps getting built. We have open source infrastructure (the lamp stack) that is now a pretty mature and inexpensive and ideally scalable architecture to start with. Then we have new technologies like server virtualization that make many new things possible. And we have things like Amazon's web services as a platform to build on. I suspect we'll see something along the same lines from Google as well. So all these new tools, systems, services provide a new sandbox to innovate in. The CTOs job, among other things, is to work with the engineering team to make sense of all of this and figure out how to use it to make the business work best.
On top of that, we have the emergence of web apps as a platform in and of themselves. Each and every web app should have an api so that other web apps can be built on top of them. And most web apps should take advantage of the existing apis that are already out there so that they can build on top of other apps. This is a new world with lots of challenges and lots of opportunities. I see it as a natural evolution from the world of open source and reusable software. The web apps themselves are like pieces of code that others have written that can be used to extend a service. For example, when seesmic built their video dashboard service, they chose to use twitter as the notification system instead of building their own right away. Now they can eventually build that functionality directly or they can continue to rely on twitter for notification or they can do both. But it allows them to get to market more quickly and more importantly immediately reach a whole base of users that they don't need to recruit themselves.
The best CTOs get that web apps need to be constructed so that they'll get viral adoption. Technical decisions like the one seesmic made to use twitter as its notification system have huge implications for adoption and it may make sense to do something for adoption issues that makes the engineering or scaling job more difficult. Many of the old rules are going to have to go out of the window in this new world we are in.
We had a long discussion of using Amazon's web services at our Portfolio CEO Summit in November. Many of our companies rightly want to be in control of their infrastructure so that they can respond to scaling issues directly. That's certainly been conventional wisdom. How can you think about relying on a third party for your most basic infrastructure. But as one of the CEOs in the room said, why wouldn't you want to run on the same infrastructure that Amazon runs on. It's battle tested, scaled to a huge level already, and doesn't go down very often. Think about that argument when Google gets into that business.
So I'll end this long rambling post that has now given me my talking points for this morning with the following observation. If you are a world class CTO, our companies need you badly. And you need just as badly to be working for one of our companies (or at least a company in the sector we invest in). Because it's such an exciting time with so many opportunities and so many challenges and so much money to be made too. I'll see you all in a couple hours.