How Technical Founders Create Value
Here’s what not to do as a start up CTO: use a completely new set of technologies to build your product, stuff you’ve never used before or have little experience with.
Why?
You’re usually convinced that the idea you’re working on has a place in the market. Therefore your number one goal should be to create value. The more product you build that customers like and use, the more value you’re creating for the business. Eventually you want to prove enough value that you attract investors. But they need to be convinced that you have a product that cannot easily be copied and that, aside from just satisfying customers, has some intrinsic value that may lead to an acquisition.
From a software perspective, what is value? It’s really good code that is high quality and well tested. It’s used to create features that satisfy specific user needs while strengthening the overall product. The more code I write, the more value I create.
There’s also value in creating a lot of product that doesn’t work out as expected because this allows the team to abandon features that would otherwise consume development cycles and not get used by customers. But in both cases you need to move quickly, write a lot of code, try a lot of things out to figure out what works and what doesn’t.
As a developer, I’m far more capable of producing lots of top quality code using tools and systems that I’m familiar with and that I’ve built things with in the past. There is an inherent level of bugginess that a programmer is going to introduce programming in a new language – things get done in a way that work but are not necessarily the correct or maintainable way. A lot of time can be wasted figuring out how to best integrate the various pieces being brought together – what library is best to use to connect PHP to MongoDB? Which gem should I use when incorporating payment processing into my Ruby project?
A start up CTO recently told me that he had decided to use Ruby, MongoDB and Node.js for his current project. I asked him why and he remarked that he felt he needed to learn them and this was a great time to do it. If you want to learn new languages or technologies, jump into the next hackathon and hang out with other experts that can quickly show you how to use the tools. Or buy a few books and spend a weekend messing around generating tons of questions to post to message boards and mailing lists.
Two important points that I don’t want misconstrued: 1) the proper process for prioritizing features is absolutely essential. I’m not advocating that you just build software until you stumble upon value. Build value based on customer driven development. 2) You cannot build a web application on yesterday’s standards because you will have a hard time attracting the talent you need to lead. It is very tricky to balance the need for practical technical solutions and bleeding edge implementations for the sake of experimentation. So tread lightly here but don’t let your stuff get old.




