Paul Graham is one of my favorite writers right now. Here’s his bio from his website:
Paul Graham is an essayist, programmer, and programming language designer. In 1995 he developed with Robert Morris the first web-based application, Viaweb, which was acquired by Yahoo in 1998. In 2002 he described a simple statistical spam filter that inspired a new generation of filters. He’s currently working on a new programming language called Arc, a new book on startups, and is one of the partners in Y Combinator.
Y Combinator is a great idea that I wish would be replicated in other places. I would love to see a similar program at the University of Wisconsin or in Madison. Y Combinator:
[M]ake[s] small investments (rarely more than $20,000) in return for small stakes in the companies we fund (usually 2-10%).
All venture investors supply some combination of money and help. In our case the money is by far the smaller component. In fact, many of the startups we fund don’t need the money. We think of the money we invest as more like financial aid in college: it’s so people who do need the money can pay their living expenses while Y Combinator is happening.
For the last few years, he has written essays on life, business, startups, investing, education and many other interesting topics. Some of my favorites, which I highly recommend along with the rest of his work, are After Credentials, Revenge of the Nerds, Why Nerds are Unpopular, How to Start a Startup and Why Startups Condense in America.
Here are a few of my favorite and what I believe are his most important pieces of advice:
1. Pick good cofounders.
Cofounders are for a startup what location is for real estate. You can change anything about a house except where it is. In a startup you can change your idea easily, but changing your cofounders is hard. [1] And the success of a startup is almost always a function of its founders.
2. Launch fast.
The reason to launch fast is not so much that it’s critical to get your product to market early, but that you haven’t really started working on it till you’ve launched. Launching teaches you what you should have been building. Till you know that you’re wasting your time. So the main value of whatever you launch with is as a pretext for engaging users.
5. Better to make a few users love you than a lot ambivalent.
Ideally you want to make large numbers of users love you, but you can’t expect to hit that right away. Initially you have to choose between satisfying all the needs of a subset of potential users, or satisfying a subset of the needs of all potential users. Take the first. It’s easier to expand userwise than satisfactionwise. And perhaps more importantly, it’s harder to lie to yourself. If you think you’re 85% of the way to a great product, how do you know it’s not 70%? Or 10%? Whereas it’s easy to know how many users you have.
8. Spend little.
I can’t emphasize how important it is for a startup to be cheap. Most startups fail before they make something people want, and the most common form of failure is running out of money. So being cheap is (almost) interchangeable with iterating rapidly. [4] But it’s more than that. A culture of cheapness keeps companies young in something like the way exercise keeps people young.
9. Get ramen profitable.
“Ramen profitable” means a startup makes just enough to pay the founders’ living expenses. It’s not rapid prototyping for business models (though it can be), but more a way of hacking the investment process. Once you cross over into ramen profitable, it completely changes your relationship with investors. It’s also great for morale.
Check out his essays at PaulGraham.com. They are worth the read if you are interested in startups, education or creativity.