As a non-technical person with two technical co-founders, I found this to be a great list. Here are a few more from my experience as the non-technical founder:
1. The ability to explain things in simple, non-technical terms, even though the issues are usually neither of that. My company builds really cool things -- I need to sell those things to keep it alive. Without co-founders who can help me understand the details and speak at intelligently about our technology, I couldn't do half the pitches I do.
2. The willingness to do technical work "beneath them.". It's grand if your partner is a super talented developer, however, in a startup, they won't be able to always work on the exciting stuff due to bandwidth, and you'll need someone who is willing to deign to do some of the not so fun stuff. For example, the more technical of my partners will still pitch in with simple CSS and HTML tweaks when the rest of the team is stretched thin. His willingness to occasionally do BS that he did in his early teens allows us to keep moving forward with happy clients.
3. Patience and politeness! Your technical co-founder needs to have an attitude that makes them approachable and not intimidating. Staff and yourself need to feel comfortable asking them questions, even dumb ones.
The willingness to do work "beneath you" is a fundamental requirement for any founder really in my opinion. Besides the trivial advantages (tedious minor things get done too) it sets an example for the employees.
When I was studying mechanical engineering, I was doing a summer internship in a medium sized industrial plant in southern France. Every now and then, the owner of the company got into a forklift and did warehouse duties himself, just like his workers. This is a very old trick in the book.
Oh, most definitely. I think most of my requirements could be extended to just about any founder. I still spend probably 10% of my time making simple text changes in our CMS.
the important thing to remember here is that any technical person with experience is going to have an initial reaction of suspicion when approached by a business person with some wacky new idea. If you avoid everyone who initially reacts with suspicion, you will be limiting yourself to people who have not been approached by business people before.
That said, I agree that your co-founder and you have to agree the product is worthwhile. I'm just saying; don't expect this enthusiasm right off the bat; that is really only going to happen if your technical co-founder has never listened to a well-pitched bullshit idea.
PS: I run a site dedicated to finding co-founders: http://fairsoftware.net. So I have some experience in the topic. Share your idea: don't be scared that someone will steal it from you. Most people will think your idea is bad anyway. Your job, as the business founder, is to convince me, the technical guy, that you can make it happen. Do you have customers lined-up? Can you raise funding?
If all of these align, then get to know each other, work for a month on the idea and see how you feel then. Then formally commit.
"... I think that your co-founder also has to believe in your idea just as much as you do. ..."
Has to believe in your idea? For me this is a warning sign. It could be the result of the other party being dominated or submissive. I'd much prefer a committed co-founder who is flexible and can be swayed by merit at the same time be critical where necessary.
Agreed. A belief in the usefulness and future success of the idea should be at the top of both lists. Without it domain and language expertise is a mute point because they will never be performing at their full potential. I would also add having faith in the other co-founder(s).
I agree, but that's more of a general "what to look for in cofounders" thing. Business, technical, design, etc. cofounders should all share that quality.
I'll add to the deadline section "the ability to actually ship." Beware of the brilliant computer scientist who is working on their baby, and sees the performance of their software as reflection of their character.
The software will never be "good enough" to release, and "no one will buy it" as it is. They'll run out of money before they actually launch anything.
I don't think I can stress this one enough. Not only will a team run out of money with a perfectionist co-founder, but the other obvious result will be that competition may ship a product before you do in what was previously a vapid market.
Should you happen to bring a perfectionist computer scientist on board, implement first (even if it's not DRY) and cleanup/refactor later. Always stress this message. Particularly Ruby programmers. You can remind them that once you ship, they always have the opportunity to clean it up during maintenance nights. You can make it work with a brilliant computer scientist, but always make sure he's focused on shipping rather than perfecting.
Strong experience in a specific language isn't necessary. I know it's anecdotal, but reddit started out being written in Lisp, then switched to Python pretty early on. Many great tech people I know have no problem moving from language to language, or framework to framework.
"when all you have is a hammer, everything looks like a nail"
you want your co-founder to choose the best language/tech stack for the job. A c++ developer is fine for a web-app if he's smart and is open to learning new languages.
Maybe this is implicit in calling something a "startup" rather than a "side project", but on both sides there needs to be a common agreement on how much time you put into the project, what your vision for the growth of the company is, whether you have other sources of income (and work) at the same time, etc.
The nasty variation on this that I ran into was something that started as a side project where two of us had full-time jobs and one guy did contract work. A couple months later the other guy got laid off and started putting most of his time into the side project, which then evolved into a startup in his mind. Much acrimony followed regarding how much time each person was or should be putting into the project, whether things were "fair", etc.
I won't claim to have any solutions, except that in the future I'll be a lot more careful about asking people what their intended time commitment is, and where they want the project to go. I'd also insist on written agreements from the start.
In the case of my project, there was about 6 months of anger, finger-pointing, and general failure to make meaningful progress because all our time was consumed with debates over how the project should operate. Eventually, I realized that the project was a major source of unhappiness in my life and I announced my intention to leave the project. We reached an agreement for the other two to buy out my interest in the project, and they have since made it their full-time job and are attempting to turn it into a real business, working with a local startup incubator.
I'm almost certain there are a lot of other smaller points and non general things that could be added. I would love to append the post with comments from here in a day or two.
Nice post Jason! Haven't seen you in a while, you used to frequent VLab planning meetings
You may want to add "Getting their point across" to the list too. Communication skill (and negotiation skill) is very important for tech co-founder role. Early on, the business co-founder may be the voice of all decisions made by the company. But, as the company grows, the tech co-founder will need to defend his decisions to board members and outsiders.
This is Navin. Pretty sure you are the same Jason who helped with the MIT/Stanford VLab Lifestreaming event couple of yrs ago. Ryan Junee and I were leads for the event. I believe you were doing Publictivity back then
If you can't afford to pay a potential CTO for their time (rather you are giving them equity), there's a good chance they will need to have a day job. If they can't handle coding during the day and working on your startup at night, you'll run into serious problems. Air out all these issues right at the start.
1. The ability to explain things in simple, non-technical terms, even though the issues are usually neither of that. My company builds really cool things -- I need to sell those things to keep it alive. Without co-founders who can help me understand the details and speak at intelligently about our technology, I couldn't do half the pitches I do.
2. The willingness to do technical work "beneath them.". It's grand if your partner is a super talented developer, however, in a startup, they won't be able to always work on the exciting stuff due to bandwidth, and you'll need someone who is willing to deign to do some of the not so fun stuff. For example, the more technical of my partners will still pitch in with simple CSS and HTML tweaks when the rest of the team is stretched thin. His willingness to occasionally do BS that he did in his early teens allows us to keep moving forward with happy clients.
3. Patience and politeness! Your technical co-founder needs to have an attitude that makes them approachable and not intimidating. Staff and yourself need to feel comfortable asking them questions, even dumb ones.