Ask HN: Why do web-startups need tech co-founders?

25 points by Murkin ↗ HN
There is alot of talk about the importance of technical co-founders in web startups.

And yet, during a long conversation I had with a group of "founders", I could not manage to explain the rational behind the argument.

Their view was:

    1. We get some seed money (they had good connections)
    2. Hire a designer and developer
    3. They build the site
    4. Later we keep them for support and improvements (and maybe hire more to expand)
How would you explain to someone why a web company needs a good technical lead (preferably co-founder) and can't just go "hire someone to write the site" ? .. or maybe they dont ?

EDIT: "In other words, what can a co-founder do that an employee cant ?"

69 comments

[ 3.1 ms ] story [ 142 ms ] thread
Developing a web application is a very twisty road. There are a number of assumptions that you'll be making about your market, the problem that market is facing, the solution you think can solve that problem, and the channels you'll be using to market your solution. Is it possible to pay someone to be on staff to execute your changing specs and meet your ever-changing use-cases? Sure. But it's going to cost you a lot of money. It'd be better to have someone who has a vision for solving the market's problem who has the technical chops to execute on the idea and to be flexible when your needs change.

Put another way: Launching the app is really only the very beginning of the process.

If they have the money to hire a full-time employee, how will it be different than having a tech-co-founder do the job ? (Its cheaper equity wise)

In other words, what can a co-founder do that an employee cant ?

Make executive decisions with full autonomy.
That power can be delegated to an employee.
Only if the employee is very good and sufficiently dedicated to stand up against decisions by the founder(s) which are bad for technical reasons. It's hard enough for us techies to hire people like that; for non-techies it's basically a lottery. And that's if they don't actively select for the wrong traits. It's likely they'll focus on people who talk the talk, do as they're told, or have a business background but have dabbled with some techy stuff, etc.
Not in my experience, an employee (non-cofounder) will never stand up to your dumb ideas like a co-founder will.
It may not be any "different" to have a co-founder vs an employee in day to day operations. It may however be impossible to find someone sufficiently skilled to complete the job and yet dumb enough to not feel they are bringing more value to the business than simply a salary is worth.
They have skin in the game and a strong incentive to do really hard things to make the business succeed.

Many of the innovations that'll ultimately make you stand out from the crowd are very, very difficult to implement. If the difference between implementing that and implementing the same 80/20 solution as everyone else is, say, getting a $150k/year salary instead of a $100K/year salary, they're not going to bother. If the difference is cashing out with $20M vs. ending up with nothing, they will bother.

If they have some experience managing technical projects, it could work -- there are certainly people that do that. It depends on how much the technology is going to differentiate the product. If it's a straightforward implementation, it's fine.

Having a tech co-founder is cheaper in the short-term (for the same skill level). It's only more expensive if you are successful, and it might make that more likely.

These "founders" are the modern equivalent of land owners looking for naive/desperate share croppers. Disgusting. It really comes down to labor politics to me. For the majority of web start-ups the "means of production" are entirely in the brains of the people slinging the code. So what sort of jedi mind tricks are they pulling where they convince people that they should somehow keep the majority (or all) of the equity? Learn to code, learn to value those who do, or go open a multi-level-used-car-dealership-scheme.
I don't think its as black and white as you'd like to see it. Entrepreneurship is and has always been about organizing labor and capital. Nothing on its own is useful until there is an organizing factor that makes it greater than the sum of their values.

Do we give brick layers and construction workers ownership in the buildings they create? No. Do they deserve to? That could be argued all day, but if you're a capitalist, you probably believe they deserve whatever the market offers or whatever they agree to accept. It's not that non-technicals are out to get you or exploit you, its that they simply see themselves as the organizing force that takes the risk and thus deserves the reward.

Exactly. When you're starting a business everything is risk. If you pay someone more than you need to then you are jeopardizing the success of the business.

Getting your "fair share" is the responsibility of the employee. If you think you're hot shit that will make the difference between the success or failure of the company, then by all means negotiate for it.

The bottom line is, if, as a developer you think you are worth significantly more than the going rate, you have two options. Either prove it by founding your own company. Or else convince the person hiring you that you are worth that much.

Actually let me be even more clear. I originally said these "founders" were like land owners looking for share croppers. What I am really trying to describe is these are "owners" with out land still thinking they are entitled to ownership of the work done by those who they coerce. I think there is no more transparent example of exploitation. It makes usury look like an equitable situation.

What land? What bricks?

I think you're being a bit dramatic. I agree that programmers need a little more respect, but what you're saying is a bit silly.

You can't coerce a programmer into doing work for you. They want either cash or stake for their work. They have the right to say no if they don't like the deal. I can't see how you could take that as a form of exploitation. Good programmers are in demand and are paid well; they have a choice, unlike low wage foreigner workers (for whom you could better argue were being exploited).

I bumped you back up to 1 because I don't think you deserve to be negative, but I agree with the other reply. It's a bit dramatic.

There's a material difference between land owners exploiting a tough economy and young developers with stars in their eyes getting suckered in by a good pitch.

PG said it best:

It's almost impossible for a non-technical person to hire a good technical person. You wouldn't even know where to begin.

So yes, MANY web companies are started by non-technical founders, and it progresses like this:

   1. Get seed money
   2. Hire a designer and developer
   3. Build the site
   4. Re-build the site because it didn't work
   5. Fire developer and hire new developer to build site
   6. Struggle to get developer to see your vision
   7. Argument with developer on why he is doing all the work
   8. Developer quits, look for new developer...
etc.
(comment deleted)
I think this is a variation of the "should the project manager of a software project understand software" question, which I have thought quite a lot about over the years.

The answer is yes because:

1. As mentioned above, it enables them to hire well

2. They can independently assess effort estimates

3. They can act as a more effective shield between the team and the users/customers/management

4. They can effectively referee technical arguments within the team

5. Problems are best solved not by throwing resources at the problem, but by intelligently rescoping, recasting, or refactoring. You need to understand software to do that. I think this is the most important item on the list.

6. Even sane well-managed projects have "all hands on deck" crunchtimes. The manager of a software project should be able to make themselves useful - if not code, they can debug, beta-test, document, manage releases, etc.

7. People give you their best work when they respect you. Technical people respect people who understand them,.

I think "almost impossible" is too harsh. Hiring a technical person off the street will be very difficult. However, a smart non-technical person should be able make reasonable decisions about people they know (personally or professionally) based on past achievement, other people's recommendations, previous interation, gut feel, ex.

Obviously there will still be false positives, but if you know someone is very smart, and is also in a technical field, there is a reasonable chance they will be good technically.

If this is true, why does it take so long to hire good programmers? Even startups with technical founders, who have an entire network to draw on, spend spend a lot time searching for and evaluating programmers.

>but if you know someone is very smart, and is also in a technical field, there is a reasonable chance they will be good technically

Why do you think this? Certainly you have to be smart to graduate from good University, but it's not secret that many programmers out of the University can't code their way out of a paper bag. Unfortunately, I've worked with a fair amount of intelligent people in a technical field who just weren't good at producing high quality software.

As Joel Spolsky said:

"Pick your core business competencies and goals, and do those in house. If you're a software company, writing excellent code is how you're going to succeed. Go ahead and outsource the company cafeteria and the CD-ROM duplication. If you're a pharmaceutical company, write software for drug research, but don't write your own accounting package. If you're a web accounting service, write your own accounting package, but don't try to create your own magazine ads. If you have customers, never outsource customer service."

http://www.joelonsoftware.com/articles/fog0000000007.html

I'm now the technical co-founder of a software company that originally outsourced the development of the software to another firm. To say it was a disaster before I arrived would be an understatement.

In house can still be non-founder full time employees. People seem to be confusing the two.
I think Postabon was started by MBAs and what they did was read the essay you're talking about, and then go out and hire a Lisp programmer. They appear to be doing well.
Many businesses depend on division of labor, and many are run by non-technical people, and rely on specialized employees to manage mission-critical software and technology. According to PG's logic, this should be impossible.

The real problem is incentives. Developers who are willing to make the necessary commitments and sacrifices, take on the risks and the opportunity costs of building a startup are in a strong enough negotiating position to demand ownership. But this advantage is almost certainly weakening. For example, cloud computing makes it much cheaper to scale, which means performance is less of an issue, so cheaper, less experienced developers with less training become more viable. Even if outsourcing is undesirable for other reasons, it still puts local developers in a weaker position. At some point it will be possible to offshore development of a prototype, get some traction and then rebuild everything once you get funding. I know some startups have been acquired after the acquiring company outsourced a cheap ripoff of almost the same product to see if was a market for it with their customers, and then bought the startup. Why couldn't this also work for coming up with a new idea?

I often wonder why web-startups need business co-founders. If you have an idea and can code it up yourself, what's stopping you? You certainly shouldn't wait around until someone else can go find money for you.

Ultimately I think the answer is, you don't have to have a co-founder. If you've got the gumption to go it solo, do it.

Startups are similar to musicians, there are solo acts as well as bands.

I often wonder why web-startups need business co-founders.

At least in HN circles, that doesn't seem to be a widespread view. The general opinion seems to be that if you're motivated and reasonably intelligent, you can work out the business stuff as you go along, as long as you can build a viable product.

That's not to say they're useless. If you need to or would like to raise money, or developing a prototype is extremely expensive and you need to get sales early, having a person dedicated to that aspect is probably a good thing.

"How would you explain to someone why a web company needs a good technical lead (preferably co-founder) and can't just go "hire someone to write the site" ? "

Why bother (explaining to them)? If they think they can get by without a tech co founder, let them try. They may even be right (for their company) who knows? Wish them well and get on with life. Such things can't be "explained" to people who are convinced they are right. Let them run their company and one of you will learn something depending on how it turns out.

This seems almost malicious. Do you have some kind of agenda against non-technical people? Sure, it's their decision and their problem in the end, but that doesn't mean you shouldn't at least explain your point of view if the opportunity arises. In fact, you might know potential techy cofounders to recommend.

Or you can suggest good people to hire if they decide to bring on a non-founding technical team despite the risks. I suspect a good employee is much better than a bad cofounder. The point is, you can tell the difference, your friends with a business-only background probably can't.

Obviously, if they're just being dicks, don't waste your time (and don't let them hire your friends). But that's good advice in general, regardless of background.

"This seems almost malicious."

A lot of people confuse "live and let live" with maliciousness. Arguing about disagreements is pointless when it's something you can test, like whether you can succeed without a technical cofounder. Letting people learn from their own experiences rather than just giving them your opinions saves you time and teaches the other person a lot more.

The original post is about '... a long conversation [he/she] had with a group of "founders"', and I assumed this thread was framed in the same context. I'm not talking about imposing your views on random acquaintances.

Hiring a string of crappy developers to develop your core product is a pretty expensive route to learning it the hard way.

It's also a lot more convincing than having someone with no vested interest in your project tell you you're doing it wrong.
Sure, giving and receiving advice is always tricky, maintaining an open mind while filtering out the crap is difficult. This is always worth bearing in mind as the giver.

Honestly, I think we're picturing totally different conversations and circumstances.

"A person convinced against their will is still of the same opinion still"
I had a former life as a web contractor, and almost half of the projects I did were from individual or small groups of founders. They were usually non-technical or had no knowledge of the web technologies they required. Even though we were able to create some really strong initial products, the businesses themselves never took off.

I think this was often because as a contractor, I finished version 1.0, and then I went off on the next project. I was available for small fixes and enhancements, but I didn't feel it was my job or my specialty to help them iterate or pivot. Without a technical person fully invested in their work, there was no real evolution to their products or their business.

Eventually I came to the point where I no longer took those kinds of contracts, because I either didn't believe in the model, or else I felt that it would only be worthwhile to contribute as a partner as opposed to a worker for hire.

So I think that technical founders are necessary, whether that involves bringing on someone with the knowledge, or having one or more non-technical founders learn enough to become a technical founder.

I've been in that position too and came to similar conclusions, but there is a huge middle ground between contractors and cofounders: employees.
This may be a debate for another day, but I haven't noticed a big difference in involvement/investment from employees over contractors.
Really? In my current position I have hired 8 contractors over the last 3 years, and 5 employees.

Initially we tried to always hire the best developers we could get, who tended to be contractors. Several of these guys were actual core members on major projects like Rails and Prototype. The work they did was amazing, but we could never get a long term commitment and thus they never came to really understand the codebase, and it was impossible to get emergency bug fixes from them in a timely manner. Of the 8, we still use 1 because he is able to respond quickly, and because the scope of what we use him for is relatively small and well-defined.

Of the 5 fulltimers we've hired, only one didn't work out. The others are not quite as good as some of the big names, but definitely above average and able to add real value not just to the pieces of the code they work on, but the overall technical and product strategy.

I think having a good technical co-founder alleviates the need for getting as much seed money. If they have access to a lot of seed money, then they can afford to hire a designer/developer and give them a smaller chunk of the company. It's a valid way to do it. But, more and more, due to technical and social reasons, developers are realizing that they don't need access to massive amounts of money to do it themselves. The people becoming unnecessary in this equation are the co-founders you mentioned above.

So, basically there are two ways to doing a startup.

1) The "traditional" way they described above. 2) The Y-combinator method of by passing the people mentioned above and getting the hackers to found companies directly.

Look at the successful IT startups - they almost always have a technical founder - Gates, Wozniak, Zuckerberg, Page & Brin. They may have business co-founders such as Balmer or Jobs, but the technical side is always there.

Business founders may know the market, but they lack the vision that comes from a deep understanding of the technology. You can pay an employee to build a site, but you can't pay for the vision.

I can't think offhand of a single successful tech startup that did not have at least one tech co-founder. I know a lot of MBA morons who thought they could buy their way into a successful tech startup and floundered helplessly.

Linkedin. Hoffman had a background in tech firms but only in project management rather than doing any development himself.
(comment deleted)
Add Dell, Stone/Doresy, Rosenblatt, Bezos, Hurley/Chen/Karim, Rose/Byrne, Mullenweg...
The pro move for non-technical founders who have financing before a technical co-founder is to hire an employee as a 'technical founder' - but with a comp package that has more (greater than 0) salary and less equity than a pre-financing co-founder.
If you can't build your own idea, don't expect others to do it just how you envision it. Another issue is one many programmers will find familiar. How many times as you're working through a project do you find the original specs don't work? If you can't build it, how would you know your idea is flawed.
They don't as long as the start-up isn't tech driven, if you're building something that's fairly standard and doesn't require any complex tech behind it then you can go to a webdev company and they'll build it for you.

However if tech is a core component of your offering (which it is for most YC companies) then product development needs to be guided by technological complexity as well as user demand. Which means you need someone who grasps both the tech and business side of things. And if someone fits into that category why would they work for someone-else's startup for a relatively small wage rather than working for a more profitable company (higher pay; more security) or starting their own company ? - essentially offering significant equity is the only way to hire these people. Hence they need to be co-founders.

"what can a co-founder do that an employee cant ?"

Communicate with employees and foster trust in a leadership role.

Here's what I would say to these guys:

If your product actually IS a technology (and not just a website FOR a product), you're going to need a technical co-founder.

Without a technical person, you just have an idea. You may have the market and business plans all mapped out, but this is really just the tip of the iceberg. Your final product will largely be shaped by the technology behind it. Unless you have a detailed technical version of your app speced out for someone to build, whomever you 'hire' to do the coding for you is by default going to define your product just as much as (if not more than) you have.

Now you can hire someone to do this for you, but with high probability, this relationship isn't going to work out. You're going to need this person to work with you 24/7 and be as dedicated as you. That's by definition, a FOUNDER. Anyone treated differently will quit, and you'll be back to the beginning.

Exactly. If you can find someone that great (and that important to your business) who's genuinely happy with salary & options rather than full equity... then hire him because he's a rare beast.
Honestly, I'm wondering why we need non-technical cofounders. There are an amazing number of hustlers out there who don't hustle very well...
I wonder how the ratio compares to developers, because there certainly are a lot of NNPPs safely ensconced in the enterprise.
To which great hustlers might respond "There are an amazing number of coders who don't code very well..."

There's no shortage of incompetence in any field.

From the perspective of a good (I think) developer who isn't focused on startup work at the moment, it would be extremely unlikely for me to accept a position as tech employee #1 at a startup with no established market, no market-ready product, and no technical vision. The work and risk for me are high and even if we succeed, I don't get any share of the profit. If I do, then you're talking about equity, which basically makes them a cofounder. I'm not saying that business people are useless, but ideas are cheap. I have no incentive to go work for a company with a lot of stress that may simply fold in a year. Basically, I'd get the same money working for Microsoft in a better environment.
If I do, then you're talking about equity, which basically makes them a cofounder.

Early employees typically get options between 0.5-2.0% vesting over several years, and they almost always get a salary. This is an order of magnitude less equity than founders and potentially a lot more cash in hand.

As a #1 employee of a startup currently, I can tell you that the experience of doing a startup is well worth it regardless of the equity. The reason is because you may have all the technical chops in the world (I had 10 years experience of web development), but to actually be in an environment where you personally are responsible for a double-digit percentage or even a majority of the product is invaluable.

Now certainly I don't get paid what I would at Microsoft, but it's an investment in my future. At Microsoft my entire impact may be erased by political infighting. Or I may be tragically under-utilized because there are bigger concerns that I just don't fit into. Whereas in a startup I learn how to ship software and make it work with real meaningful feedback direct from the market. It's not some middle manager breathing down my neck trying to make himself look good. It's "the work I do has a real significant effect on the success of the company and my future career prospects."

I guess I don't see that as completely fair (unless there is already a technical cofounder in your startup who can act as the technical vision of the startup). There are at least as many important technical decisions to be made while building a startup as business decisions. Why stick yourself with an order of magnitude less equity than the founder? If it actually succeeds you're as responsible as the non-technical founder.

Note that I'm not speaking of startups with established technical founders. I would very very seriously consider working at a startup as a technical employee if they already have good technical vision.

Well, without going into too much detail, every startup is different. In our case, our business deals make or break the company, and the technology is not a differentiating factor. That is, we must be competent in technology, but we are not innovating there.

In any case, it's a moot point. I took the package on offer because it seemed a fair deal to me at the time, and I don't regret it. The experience alone was worth it for a valley first-timer like me, and I'll have a big leg up in whatever I do next. Whether it's joining another startup as an employee or founding my own startup, I now have a track record and experience that will serve me equally well either way.

Technical teams are strongly preferred by Silicon Valley angel investors right now. I think part of the reason for that is that the current generation of those angels came of age in the 90s when highly technical teams were required to build anything that worked. That's the model they know.

However, these days technology has diffused and become componentized in a way that makes it much easier to build products that customers will buy using contractors. That's not to say that using contractors is easy - I only tried it because I have several years of experience managing outsourced technical teams. I think the strong bias for technical founding teams may shift or moderate in the future.

That said, I continue to look for a technical co-founder because I believe that technology decisions will need to be made day-to-day as my start-up matures. Fundamentally, I think that outsourcing only gets you so far.

Their approach can work, it's just a matter of whether you can find product/market fit before the money runs out. If you contract out the development you're screwed when you can no longer pay them.

We may be the exception, but I came on as the tech lead after v1.0 and v2.0 were built out by a foreign shop and paying customers had been identified.

This meant that the original founder was able to keep more of the equity since I was given a salary and my risk was greatly reduced in coming on.

Eventually you will probably need a full-time technical person, but you have to make the judgement call as to whether you can get traction before the initial money runs out.

Agreed. It's not always easy for business founders to find a technical co-founder right off the bat. In fact, that's probably the biggest hurdle to get over for anyone coming from the business side. If all you have is an idea and no tech co-founder to share it with then the worst thing you could do is spin wheels trying to find the right partner. Better, I would say, to get the ball rolling with some freelance coders and as the product comes to an MVP 1.0 and you start showing it around and getting some traction you will find technical leads.

It's always better for a business founder to get a technical co-founder, yes, but it is not necessary to have one right from the start.

The ol' "I've got a great idea for a business. All you have to do is all of the work and then we'll be rich." routine. It never gets old.
In DHH's video on Big Think (http://bigthink.com/davidheinemeierhansson), he started talking at one point about whether there was a baseline past which you can't make things easier (see the quote below). The premise was that Ruby and Rails have made web development easier and more accessible to less technical people. He argued that there is a limit to how low you could lower the bar because, at a certain point, your application is all about the thousands of little decisions that your code describes.

"There is a natural, physical limit where at the end programming is just choices. How should the program work? What should happen when you click this button? Those choices are ultimately the key to programming - and you can't get out of that. Which is also why it's a bit of a pipe dream to think that 'oh, there's going to be these magical new environments where somebody that knows nothing about programming will be able to just drag and drop a few things into a box and then voila! you'll have the most amazing program in the world. No. It's really not going to happen like that because in order to have the most amazing program in the world, you have to care about a thousand decisions and recording those thousand decisions takes a programming language. So, there is a lower limit to how simple it can get."

The reason why a technical co-founder is so necessary is because every application is going to have thousands of little decisions that you are describing in your code.

A technical co-founder doesn't need to know everything about computer science. They need to be able to describe those decisions. Often times, if you're hiring a programmer to implement your idea, you don't actually describe things accurately. You come up with things to say like, "show the article to people who are interested in it." What does that statement mean? Do you email the article to interested people? Does it show up on the homepage for those people? A special page? How do you identify "interested people"? It keeps going on. Even "simple" things are often complex - especially if you're implementing a niche application.

You can create mockups, you can list "requirements", you can have the programmer ping you when they have questions, but ultimately programmers aren't translators. Programmers, in order to be successful, must be able to make those decisions or you'll die a death of a thousand cuts as they ping you over every little decision. The problem is that people have an idea in their head that they think just needs to get "translated" into computer-speak. However, in reality, they've yet to describe most of what's in their head - if the minute details are there at all.

Even if none of that co-founder's code make it past the first few months, they're able to describe the choices in an unambiguous way that mockups, emails, requirement specs, etc. simply don't.

Basically, not having a technical founder means that you don't have any founder that can describe the application in the detail that's required to create something really great. It doesn't mean it's impossible and that's not to say that input from non-technical co-founders isn't important or that they can't have as meaningful an impact as technical co-founders. It means that if you're two non-technical co-founders looking to start something good, you probably need to bring on a third co-founder who is technical because you need someone you feel comfortable with making those little decisions and working with as a peer rather than in a hierarchical way. Because they're going to have to work on all those little decisions with you that mockups and specs just never address.

Code is a way of describing all those little ways in which your application works, not translating an idea into computer-speak.

The only people who could say that are people who've never had to hire and manage programmers for a living. It's ridiculously hard.

With a technical co-founder you have someone who is presumably very talented and extremely motivated with a hearty chunk of equity and passion for the space.

Instead, these guys will be getting the worst developers, because:

1) The good developers either want to be the technical cofounder or work for a great one.

2) Startups tend to underpay developers already and employees get very little equity.

3) Non-technical people have no way of determining who is a good programmer or a bad programmer.

4) Business-people will not make a hacker culture where engineering and innovation are rewarded.

5) Unless they have many years of experience managing software projects, statistically, theirs will fail.

And the worst developers are actually WORSE than nothing because they'll end up costing more than they contribute.

Really, how could a tech business succeed when they don't value technical skill?

It just shows extreme naivete about how programming works to think they could do it without a really talented, involved and dedicated technical person. I agree with OP: give them 6 months and see if they have anything to show for it.

Depends on the market. If you're opening an online store for vitamins, then no, maybe you don't need a technical co-founder. But a good technical co-founder would expand the world of the possible. The BATNA for such people is too high to be your employee.
If you are building a tech company, and you plan on remaining 'non technical' it is almost quite literally a non starter.

You don't have to be an engineer, but you have to curate that part of your brain at least some. Google "Victoria Ransom" and her mixergy interview to see someone who is good at being 'non technical' and get things done.

Steve Jobs, the often used example of a 'non technical' person, may not be a classically trained engineer, but the guy takes a huge interest in the core technology used. Listen to him talk about object oriented programming in the 90s for an example. Henry Ford cared about engines. Larry Ellison cares about databases.

Why would an automotive startup need engineering co-founders? Why would a mining startup need geologer co-founders? Why would a research startup need scientist co-founders? Why would a patent troll startup need lawyer co-founders?

Same answer.

> In other words, what can a co-founder do that an employee cant ?

In principle, nothing. In practice, it depends on lots of things, including the biz, the folks involved, and so on.

Some startups can outsource their web development. Others can't.

However, if you're offering above-market risk, you can't offer at-market or below-market compensation without getting below-market talent.

BTW - There's an interesting sampling error here. We're more likely to crappy ideas from tech folk because they're more likely to launch. Biz folks can't launch without money or a tech person who drinks the kool-aid.