In the last 13 years I have been a founder, co-founder or have worked with 11 different startups that have failed. Each business had different dynamics but each one failed for similar reasons. Looking back I have learned some things. Things I wish someone would have taught me before I started my first business. So here goes.
Figure out what customers want and give it to them.
As programmers we are problems solvers. We are tasked with coming up with solutions to sometimes impossible problems. It is only natural when we start businesses that we would assume we know exactly what people want. We don’t. This is the exact wrong attitude.
Do not start a business thinking that you know what people want and you are going to create it. If you do you will spend a lot of time and resources creating things that often people don’t want. Seth Godin said Don’t find customers for your products, find products for your customers.
Assume you know nothing and test everything.
How do you figure out what people want? Bit by bit. You go talk to them. You have conversations. You read forums and messages boards instead of tech news articles about the last startup to be sold for a bajillion dollars, and you try to get a feel for the problems people are facing and the emotional reasons they buy. Then you test and see what happens. Start out with the attitude that you know nothing. Write down your assumptions and test them, even the ones you think are silly.
Start small and make small moves.
You don’t have to plan your entire business out from the very start. In fact it is next to impossible to do so. There are so many things you don’t know about your business, your market, your customers. Those are things you learn as you go along. Those are things you verify from your assumptions. The goal is to learn as fast as you can. Start off as small and see where your customers lead you. Make one small move and then another. Do that again and again. Iterate. Adjust as necessary.
Learn advertising and marketing
If you do nothing else, you must must must learn advertising and marketing. Many programmers think advertising is evil. It isn’t. Advertising is you communicating your value to potential customers. Do not just hire a marketing guy and assume everything will work out. It usually doesn’t. Do not just assume customers will come to you. They won’t. Learn about advertising and marketing like you would learn a new programming language. Put out offers and track responses just like you would debug a program. At least half of business is advertising and marketing. Start with reading books by Claude Hopkins, Robert Collier, Victor Schwab, John Caples, and David Ogilvy. Then practice just like you program.
The primacy of sales
It could be argued that the most important thing to a startup is sales. A business that doesn’t make money isn’t a business. The attitude of we will get eyeballs first and figure out revenue later is flawed. Only a small percentage of businesses can ever attract big enough audiences and large enough funding to make that kind of model work.
The best test for a business is whether or not a person will pay for the product or service. People can talk all day, but when you ask someone to pay you, if they are willing to put down money for your product or service then you might have a business. If not you don’t. If you don’t have sales you don’t have a business. Sales will keep your business alive, enable it to grow and hopefully allow you to do all the world changing things you want to do. Ask people to pay you for your product or service.
Be very careful choosing partners and employees
Choosing partners is like getting married. Hiring employees is like having a family. You are going to (hopefully) work with these people a long time. You have to trust that they will do their jobs, do them well, and continue to do them even when the going gets tough and then some. Over half of the businesses I have been involved in failed because they had the wrong people. I have seen partners just stop working for over a year. I have seen founders who didn’t know how to handle their responsibilities and wouldn’t learn. And I have seen untrained employees step up and become valued members of a team.
Remember when choosing a partner that this person can, and probably will, be responsible for making your business a success or a failure. Take your time. Get to know them. Have each person’s responsibilities clearly defined up front. Same goes for employees. And when problems come up. Talk about them sooner rather than later.
Failure isn’t final
Startups are complex. They are hard. They are above everything else chaotic and random. They push you to grow. And they are addictive. What they are not is the end of the world. If you fail, that’s ok. Learn from it. Take a breather. Then get back up and try again. Every time you do more and more pieces fall into place. I like what Mark Cuban said, “You only have to be right once”.