3 Programmer Biases which Prevent you from Building a Successful Startup
Being a programmer is great. You understand the inner workings of the machine, you see inside the mysterious boxes which are ever more present in our lives. You have the knowledge to build new things, to wield data structures and algorithms to accomplish seemingly-magical feats of engineering.
However you also have biases and blind spots, which hold you back when it comes to building a successful product. Indeed, your very Computer Science training encourages and nurtures the thought processes which cause this bias.
1) Excessive simplification or "I could build Twitter in a weekend" syndrome
A very common problem among programmers is failing to see the true value of a new product or technology. Programming actively requires you to break larger problems down into simpler ones and pull out common patterns in order to solve tricky issues.
Simplification of the problem and pattern recognition work great when you are tasked with implementing a distributed database but may not be so useful when rigorously applied to nuanced product development.
When taken to an extreme, practically every single Internet product company could be simplified to "just an interface to a b-tree". For this reason, I am wary of the phrase "it's just X" when speaking with programmers about products.
When judging a product, an engineer should strive to answer the question "is there something new here", looking beyond just the nitty-gritty technical implementation details and trying hard to see what is enabled for the user that perhaps wasn't possible or as accessible before.
Examples: Twitter ("I could build it in a weekend"), Instagram ("it just tints photos and uploads them, Zuckerburg could have it coded for $10k"), iPad ("it's just a big iPod touch").
2) Inability to distinguish between cool technology and a marketable product
There are essentially three sets which ideas fall into:
- Very large set: "Cool technologies" you could build
- Smaller subset: "Cool technologies which would be useful to people but not make money"
- Tiny subset: "Cool technologies which would be useful to people and also sustain a business".
As a programmer, the startup idea generation phase can be particularly dangerous because the temptation is to go off on some tangent of creating cool technology that nobody is actually willing to pay for or even use.
To be fair to the programmer mindset, it is extremely difficult to predict the success or failure of a given product in the market. Especially when there are huge distortions such as venture capital cash outs, acquisitions, IPOs etc. Startups have indeed simply created "cool technology" which made zero dollars and been sold for hundreds of millions.
But even if a VC or a big company like Google is in fact your target customer - there is still a very small set of ideas which are marketable to them, and to create the perceived value that they like to buy takes a lot more than something being merely a "cool technology".
Example of a cool technology: A new key-value store written
in Haskell that is X% faster than FooDB
Example of a cool technology that is useful: Just about any modestly successful open source project
Example of a cool technology that is useful and can also sustain a business: Mixpanel
3) Failure to grasp the importance of relationships in business
Programmers have a reputation for not being the most socially adept people. The field is associated strongly with geeky introverts. There are exceptions and the situation is (fortunately) starting to become more diverse but nonetheless it is certainly true that a programmer's education does not typically emphasize the importance of human relationships.
The behavior of software is almost completely deterministic (barring hardware defects). Being a good programmer basically entails developing techniques and intuition for mentally traversing the deterministic program space. People and organizations, on the other hand, are far from deterministic. There are no hard rules about salary and stock compensation for example.
A large part of the value of companies is a function of the relationships of the people involved. For example, at least some portion of the 1 billion dollar price tag of Instagram surely owed to the fact that Kevin Systrom had an existing relationship with Mark Zuckerberg. There is a group of notable and highly successful entrepreneurs known as the PayPal Mafia.
Finding an awesome job with great compensation, getting help fixing a difficult bug, scoring publicity around a product launch - all these things get much easier with the right relationships. Go to meet ups, hang out at conferences, present cool stuff you are working on.
Most of all - don't be an asshole. Be tolerant of other people and open to new ideas. Always strive to treat people as you would like to be treated. Don't burn bridges unecessarily because you never know when you might be able to use their help in the future.
Niall O'Higgins is an author and software developer. He wrote the O'Reilly book MongoDB and Python. He also develops Strider Open Source Continuous Deployment and offers full-stack consulting services at FrozenRidge.co.Tweet