What To Look For In A Technical Co-Founder
This is the second part of a two part series of posts. The first post was entitled What To Look For In A Business Co-Founder. It seems that potential technical cofounders are approached by business cofounders a lot more than business cofounders are approached by technical cofounders. I thought about why that was after writing the post. In essence, I think it comes down to the fact that it’s a lot easier to identify the tangible skills of a technical cofounder from a high level perspective. Do they code? Yes. Okay, they could be a technical cofounder. At the end of the day “being able to code” is a small piece of the technical cofounder puzzle. Here are the qualities that make sense to look for in a technical co-founder.
A past record of building things
Potential technical cofounders should have a past record of building things. They may be very large projects with hundreds of people or they may just be very simple applications that never went anywhere. Learning how to code often happens best through practice exercises. The same can be said for building an entire company or large product as a technical cofounder. The more your potential technical cofounder has built things, the more pattern recognition they will have.
A past record of building things just for the fun of it
You have to love what you do, and the same should hold true for your technical cofounder. One good way to spot this is if their past record of building things includes products that were just built for the fun of it. It might be a dinky little app or some technology demo that does something completely new. Since startups are marathons, this is a key characteristic of technical cofounders as they will be more likely endure this marathon due to their love of the game.
An Understanding of The Intersection of Business and Technology Decisions
Some technical decisions are deeply rooted in business decisions. Need to switch the DB from MySQL to CouchDB? Need to add in more viral loops above other features to increase customer acquisition? Your potential technical cofounder should understand that their technical decisions will often have a strong impact on the overall health of the startup. My belief is that startups are cyborgs- half business decisions and half technical decisions. Your startup will die if you remove one part.
A strong expertise in a specific language
It seems most technical cofounders will dabble in different languages, especially if they have been around the block for quite some time. Your technical cofounder will set the foundation for the next few years on the language that is being used and the people that will be hired to work with that language. If they are experts in one specific language they are most likely well connected within the community and have access to more talent. They will also be able to deal with the most intricate solutions possible and optimize the hell out of the specific language being used. Facebook is now using many many different languages, but there is a very strong domain expertise in PHP. That strong domain expertise allowed them to build Hip Hop, which has significantly increased the speed of Facebook as a whole. The team behind this at Facebook may not have been co-founders, but finding individuals like the team behind Hip Hop would be ideal examples of those with domain expertise in a specific language.
Also, don’t try to force a language on them because you heard from someone that it was the “in thing” or “old shit”. Maybe they want to use PHP and maybe they want to use RoR, or maybe they want to use Python. You should trust in their decision and what they are comfortable with.
// The team there actually had to be experts in both PHP and C to make this happen, but for arguments sake I’m focusing on the PHP part here.
An expertise in solving problems relevant to the domain of your startup
Are you solving something in the payment space? Then fraud detection experience is key. Building another CRM? Then having past experience at a B2B/Enterprise startup makes a lot more sense than MySpace or Facebook. Non domain expertise does not make a person a bad technical cofounder, but it certainly makes them a better one. For example, Engine Yard was well served by having cofounders that had strong domain expertise in Ruby on Rails. Maybe a strong hacker without a strong domain expertise in RoR could have learned on the fly, but I would rather have had my cofounder possess the needed domain expertise.
An ability to meet deadlines
There are two points to this attribute. The first is the ability for your cofounder to be able to not flake out and keep to their actual deadline. This comes from having previously built things and understanding how longs it actually takes to finish something. It also comes from straight up work ethic and dedication. The second point is your cofounder’s ability to have a strict cutoff for features to implement and what to “refactor”. A good technical cofounder will be able to say no to many things and put a hard stop on adding features in order to meet a deadline. Even if a technical cofounder has the ability to finish on time, they may not be estimating what’s realistic due to their inability to say no + leave things be. Taking twice as long was not due to their lack of work ethic, but the fact that they added too many things causing it to take twice as long. Many of these ideas may have even been the business cofounder’s ideas. A great technical cofounder will have the ability to tell their business cofounder no for the sake of meeting a deadline.
An ability to keep things organized
Even with one person the technical architecture, staging/development environments, code itself, and specifications can get so unorganized that many mistakes happen. An almost OCD technical cofounder with a strong attention to organization will be great early on, but crucial later on when the technical team grows. A good technical cofounder should have the following things well organized from day one:
* Development, staging, and production servers.
* Subversion/Git setup
* Strict commenting and documentation that allows new hires to get started without too much confusion.
* A clear and organized product roadmap.
An ability to prioritize
You just launched and you are being slammed with paying customers. Great problem to have, right? Yes, as long as you dont f**k it up. With those paying customers are going to come problems, support requests, and feature requests. Now it’s up to your technical cofounder to balance everything. Which fixes are most crucial? Which fixes are most crucial and also easiest to get done?
An ability to balance taking the lead and also listening to feedback
A good technical cofounder will have the ability to interact with customers and listen to them, but also know how to take the lead. Most customers don’t know what they want, but at the core of their complaints lies the true essence of a problem. A good technical cofounder will listen, find that true essence, and then come up with something truly unique that solves this problem. The feedback may not even be direct feedback from customers themselves, but from metrics.
An ability to know their weaknesses
Some developers are great designers+front end coders, and vice versa. A good technical cofounder may have to bear the burden of doing everything technically from the beginning, but they will strive to have better technical hires take over their weaknesses. This advice can just as easily apply to business co-founders, but I feel it’s easier to distinguish technical weaknesses.
A formal CS degree is a nice to have
I have a CIS degree, which is sort of like a watered down CS degree. I was required to learn many of the fundamentals of programming, database design, etc. Any real technical skills have come from being involved in building things and working with other smart technical cofounders. I will say it is certainly nice to have the academic and formal foundation in basic programming concepts. A fair amount of great technical cofounders won’t have this, but it’s certainly a nice to have.
This is by no means a definitive list or even a fully correct list. In many ways finding the right technical co-founder is a chicken and egg problem. Can a business co-founder even understand how to properly identify these points? Yes, but they need to be fairly technical themselves. The best advice for finding a technical co-founder might be: “Be Semi-Technical Yourself”