Ask HN: Why do web-startups need tech co-founders?
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 ] threadPut another way: Launching the app is really only the very beginning of the process.
In other words, what can a co-founder do that an employee cant ?
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.
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.
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.
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.
What land? What bricks?
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).
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.
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:
etc.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,.
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.
>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.
"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.
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?
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.
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.
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.
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.
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.
Hiring a string of crappy developers to develop your core product is a pretty expensive route to learning it the hard way.
Honestly, I think we're picturing totally different conversations and circumstances.
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.
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.
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.
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.
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.
Communicate with employees and foster trust in a leadership role.
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.
There's no shortage of incompetence in any field.
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."
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.
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.
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.
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.
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.
"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.
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.
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.
Same answer.
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.