Sunday, April 28, 2013

Your technical co-founder as a partner, not a builder

Update: The tone of this post is a bit blunt. Maybe even rude. I've been meaning to update it, but since it's been almost 4 years and I haven't done so, I think it's safe to say I'm never going to. However, in the mean time, one or two people have mentioned that they found it useful, so rather than delete it, I'm just going to leave it up with my apologies for the tone.

One of the things I complained about in my last post was would-be company founders who are looking for nerds to build their product based on a specific idea or vision they've already created. Obviously, there's nothing wrong with hiring someone to build a product the way you want -- I build products for people all the time based on what they had in mind (and, I should add, I find this a highly rewarding experience). So what's the problem?

The problem happens not when you hire someone to build something a for you, but when you view your cofounder and/or CTO as someone who is building something for you. Your technical cofounder is not a contractor or regular employee; rather they are part of the core team responsible for the direction of the company. As such, they need to be invested in the company strategy (both literally, with stock, and emotionally) and their role is to help determine the company strategy and define the company's product.

You may think you've already defined the product, you just need someone to build it. If that's really the case, then get yourself a contractor -- ain't no shame in that! Unless your just doing something like building a simple e-commerce website as the storefront for your existing business, though, it's probably not that simple. Building new technology involves risks and tradeoffs, and you need someone who understands those risks and tradeoffs and how those risks and tradeoffs will impact the company strategy. That's where the CTO comes in.

Ideally, of course, all your employees should feel empowered to have some say over their domain area, but when founding a company, it's especially important to have a CTO who is invested. The reason is simple: most engineers are happy to build a product to spec, but a CTO who is invested will make sure the spec is both technically viable and makes sense for the business. Your CTO is, therefore, not just another employee: they are your partner in nurturing your product in all stages of development from conception to completion. This may seem counterintuitive if you already have a great, multi-million dollar idea, wireframes and so on, but it so happens that unless a technical person has looked it over and vetted it thoroughly (and probably changed it a lot), your idea is far from the great, multimillion dollar idea you thought it was. Worst case: it's not even viable. (Obviously, proper vetting from a technical person is not enough to make it a great, multimillion dollar idea, either, but that's another conversation). To put this another way, having your CTO invested in your product vision from the beginning removes significant risk from your business model because they can anticipate problems and see better solutions.

When I do contract work, there is always a technical person as part of the team that hired me. Whether that person is actually a CTO or not, they understand the requirements and know how my work is going to fit in with the business model, and they understand what tradeoffs are being made when it comes time to make a major decision. Without a person like that, who can make decisions with your business' best interests in mind, you will not be able to make the right technical decisions for your business.

In short, the job of a contractor is to build a product to spec on time and on budget. The job of the technical co-founder is to make sure the that technical decisions are made with business' best interests in mind. Both are useful people, but don't confuse the two.

Friday, April 26, 2013

Why you haven't found a tech co-founder

Update: The tone of this post is a bit blunt. Maybe even rude. I've been meaning to update it, but since it's been almost 4 years and I haven't done so, I think it's safe to say I'm never going to. However, in the mean time, one or two people have mentioned that they found it useful, so rather than delete it, I'm just going to leave it up with my apologies for the tone.

As a nerd who has accomplished a thing or two in a field that many people think it would be sexy to "disrupt" (music technology), I have been asked by many people in the last few years to co-found companies with them. These offers range from serious and interesting to what I call "drive-by's": people with some idea or other that are looking for an engineer to build. So far, I have said no to everyone and am continuing on my own projects which are far more interesting and rewarding.

If you are looking for a tech co-founder, I am going to tell you why you've had a hard time finding people like me; why we've probably said no to you, and what you can do to change the situation. As is always the case in business when you are stuck, you need to understand the situation from the other person's perspective in order to get what you want. Our perspective may not be right, and I am going to say some cold, harsh stuff, but I think you will feel enlightened if stand in our shoes for a minute. For starters, I'm assuming you aren't making an amateur mistake.

Why nerds don't go looking for "non-technical" co-founders

It may or may not surprise you to discover that when nerds (or technical founders, or future-CTOs or whatever you want to call us) decide to start a company, we don't go looking for a "business" expert. Startup business just isn't that complex. It is time-consuming, but not complex. What is complex, usually, is the technology: you need to build something reliable, scalable, easy to use and awesome. Believe me when I say that's fucking hard. And you usually need to do that for way less money than a big company would spend. That's the kind of shit alpha-nerds live for. Rightly or wrongly, we don't go looking for someone with MBA to help us build a startup, especially if the people we meet with MBAs have less of clue about the market than we do (which is the case surprisingly often). I'm not saying there's nothing you can offer. What I'm saying is that if you do have something to offer, you need to prove it.

You might have nothing to offer

You might think you have a lot to offer, but nerds don't see it that way: we don't need non-nerds to found a company, start building product and get our first users. I know that the classic company founding team is two people: one "builder" and one "seller", presumably the nerd and the business expert. But if you look at some of the best tech companies, the "seller" was often actually a technical person who learned to sell and learned the basics of running a business. The classic tech company founding team is more accurately described as a super-nerd (the builder) and a regular nerd (the seller). But I know, you've still got something we don't: a brilliant idea! There's two problems with that: 1. we also have great ideas, and 2....

Your brilliant idea is worthless

I know it sounds cold when I say your idea is worthless, but look at the companies that have come out of the last few decades of startups. They have either been simple ideas (e-bay, amazon, etc), copycats (facebook), or the ideas have been technical (google, heroku, etc), and let's face it, only a nerd could come up with a technical idea. Moreover, unlike you, nerds know what ideas can and can't be built. Don't get me wrong, ideas are not easy, and they are great starting points, but startups don't win on ideas: they win on execution. The value of the idea is that if everyone is invested in it and understands it, the team can work together cohesively. There's no better way to sour your team's enthusiasm for a project than to have "them" build "your" idea, and there's no better way to turn off a potential tech co-founder than to say "I have a great idea for a company, I just need someone to build it" (yes, I've heard this. A lot.). Sometimes companies do get started this way, but it's a sure sign of an unhealthy company that will be lucky to continue to be functional. If you want to find a tech cofounder, develop a relationship with them first, and then build the idea with them. One other note about ideas is that they often change in the face of your first product release and its response from the market, so your super-brilliant idea is probably going to change anyway. (If that's news to you, read up on the lean startup methodology).

What can you do about it?

If you aren't friends with any nerds who can build a business with you, you are not out of luck. Some common suggestions I've read are:
  • Learn to code yourself. This might work if you are young and ambitious. It will certainly have the benefit of helping you speak the language, understanding technical problems, meeting other nerds and so on. I would certainly applaud the effort of learning to code, but let's face facts: you can't become your own technical cofounder unless your technical needs are very simple or you are willing to put serious time into it. There's more to being a CTO than "coding" and you are unlikely to get a deep understanding for technology by taking a crash course in Ruby.
  • Outsource for your prototype. This actually works sometimes, but it will cost you and it's not as easy as it sounds. Outsourcing (whether on- or off- shore) requires that someone on your team has a clue about what's going on technically. You really need to be in touch with the technical team every day. Make sure you understand their technologies and, more importantly, their methodologies. If that sounds excessive, talk to anybody who's tried outsourcing. Keep in mind that even if you go with this strategy, you'll usually need to find a CTO and have them prove themselves before anyone will give you significant funding, which means you are going to need a plan to pay for this before you even approach a VC.
To the extent that either of these solutions works, they work because they put you in a position where you can offer something real back to the nerd: a prototype that validates your business model. (I'm assuming, here, that you've built something with some degree of success). To that end, I think there are better solutions:
  • Build your connections. Trust me: nerds will look at your linkedin profile. If we don't see hundreds of contacts (including at least as many VCs, angles, and potential customers as we have) we won't keep talking to you. Why should we?
  • Accomplish something. What better way to prove to nerds that you are worth working with than to have done something successful in the past? If your resume is full of school and jobs rather than accomplishments, then you need to work on your resume. Try joining an early-stage startup, or helping a startup raise money. If you can do that, you will have awesome nerds knocking down your door. If you can't do that, at least try writing a successful blog, or running a meetup.

The bottom line

The bottom line here is that startups don't need average business people. They don't need people who specialize in ideas or "solving business problems." Startups need doers, and they need doers who work together. If you can't prove that you are a doer, then other doers will not be interested. Think of it this way: would an investor give you money? If not, then why should a highly accomplished nerd give you their time?