I have been in the technology business for 22 years and in the start-up game for 10, all in the IT field, and I find that over that time all my assumptions and lessons keep changing.

For example in most industries things you learn have a reasonable "shelf life", not so in the tech game. For example: the price of hardware is down but people are up. What users wanted yesterday is totally different to today and will be different again tomorrow. How to market effectively to one audience or another changes every minute. That database of leads I had from before is out of date in 12 months…

So what am I saying here? I am saying NEVER ASSUME anything, you should always test and find out directly from the market about the price of something to buy or sell, the way people buy, why, when and how. You need to do this as a startup more than most as you need to find a path to follow that gets you off the blocks in the right direction.

All that said some things that do remain the same for product orientated startup companies are (as noted by Paul Graham):

Release Early.

The thing I probably repeat most is this recipe for a startup: get a version 1 out fast, then improve it based on users’ reactions.

Even if you had no users, it would still be important to release quickly, because for a startup the initial release acts as a shakedown cruise. If anything major is broken– if the idea’s no good, for example, or the founders hate one another– the stress of getting that first version out will expose it. And if you have such problems you want to find them early.

Perhaps the most important reason to release early, though, is that it makes you work harder. When you’re working on something that isn’t released, problems are intriguing. In something that’s out there, problems are alarming. There is a lot more urgency once you release. And I think that’s precisely why people put it off. They know they’ll have to work a lot harder once they do.

Keep Pumping Out Features.

Of course, "release early" has a second component, without which it would be bad advice. If you’re going to start with something that doesn’t do much, you better improve it fast.

What I find myself repeating is "pump out features." And this rule isn’t just for the initial stages. This is something all startups should do for as long as they want to be considered startups.

I don’t mean, of course, that you should make your application ever more complex. By "feature" I mean one unit of hacking– one quantum of making users’ lives better.

They’ll like you even better when you improve in response to their comments, because customers are used to companies ignoring them. If you’re the rare exception– a company that actually listens– you’ll generate fanatical loyalty. You won’t need to advertise, because your users will do it for you.

This seems obvious too, so why do I have to keep repeating it? I think the problem here is that people get used to how things are. Once a product gets past the stage where it has glaring flaws, you start to get used to it, and gradually whatever features it happens to have become its identity. For example, I doubt many people at Yahoo (or Google for that matter) realized how much better web mail could be till Paul Buchheit showed them.

I think the solution is to assume that anything you’ve made is far short of what it could be. Force yourself, as a sort of intellectual exercise, to keep thinking of improvements. Ok, sure, what you have is perfect. But if you had to change something, what would it be?

If your product seems finished, there are two possible explanations: (a) it is finished, or (b) you lack imagination. Experience suggests (b) is a thousand times more likely.

Make Users Happy.

Improving constantly is an instance of a more general rule: make users happy. One thing all startups have in common is that they can’t force anyone to do anything. They can’t force anyone to use their software, and they can’t force anyone to do deals with them. A startup has to sing for its supper. That’s why the successful ones make great things. They have to, or die.

When you’re running a startup you feel like a little bit of debris blown about by powerful winds. The most powerful wind is users. They can either catch you and loft you up into the sky, as they did with Google, or leave you flat on the pavement, as they do with most startups. Users are a fickle wind, but more powerful than any other. If they take you up, no competitor can keep you down.

Fear the Right Things.

Startups are right to be paranoid, but they sometimes fear the wrong things.

Most visible disasters are not so alarming as they seem. Disasters are normal in a startup: a founder quits, you discover a patent that covers what you’re doing, your servers keep crashing, you run into an insoluble technical problem, you have to change your name, a deal falls through– these are all par for the course. They won’t kill you unless you let them.

Also, competitors are not the biggest threat. Way more startups hose themselves than get crushed by competitors. There are a lot of ways to do it, but the three main ones are internal disputes, inertia, and ignoring users. Each is, by itself, enough to kill you. But if I had to pick the worst, it would be ignoring users. If you want a recipe for a startup that’s going to die, here it is: a couple of founders who have some great idea they know everyone is going to love, and that’s what they’re going to build, no matter what.

Almost everyone’s initial plan is broken. If companies stuck to their initial plans, Microsoft would be selling programming languages, and Apple would be selling printed circuit boards. In both cases their customers told them what their business should be– and they were smart enough to listen.

Commitment Is a Self-Fulfilling Prophecy.

I now have enough experience with startups to be able to say what the most important quality is in a startup founder, and it’s not what you might think. The most important quality in a startup founder is determination. Not intelligence– determination.

Microsoft, Yahoo, and Google were all founded by people who dropped out of school to do it. What students lack in experience they more than make up in dedication.

You can lose quite a lot in the brains department and it won’t kill you. But lose even a little bit in the commitment department, and that will kill you very rapidly.

Running a startup is like walking on your hands: it’s possible, but it requires extraordinary effort. If an ordinary employee were asked to do the things a startup founder has to, he’d be very indignant. Imagine if you were hired at some big company, and in addition to writing software ten times faster than you’d ever had to before, they expected you to answer support calls, administer the servers, design the web site, cold-call customers, find the company office space, and go out and get everyone lunch.

And to do all this not in the calm, womb-like atmosphere of a big company, but against a backdrop of constant disasters. That’s the part that really demands determination. In a startup, there’s always some disaster happening. So if you’re the least bit inclined to find an excuse to quit, there’s always one right there.

You can’t fake this. The only way to convince everyone that you’re ready to fight to the death is actually to be ready to.

Don’t Get Your Hopes Up.

Startup founders are naturally optimistic. They wouldn’t do it otherwise. But you should treat your optimism the way you’d treat the core of a nuclear reactor: as a source of power that’s also very dangerous. You have to build a shield around it, or it will fry you.

The shielding of a reactor is not uniform; the reactor would be useless if it were. It’s pierced in a few places to let pipes in. An optimism shield has to be pierced too. I think the place to draw the line is between what you expect of yourself, and what you expect of other people. It’s ok to be optimistic about what you can do, but assume the worst about machines and other people.

This is particularly necessary in a startup, because you tend to be pushing the limits of whatever you’re doing. So things don’t happen in the smooth, predictable way they do in the rest of the world. Things change suddenly, and usually for the worse.

Shielding your optimism is nowhere more important than with deals. If your startup is doing a deal, just assume it’s not going to happen. The VCs who say they’re going to invest in you aren’t. The company that says they’re going to buy you isn’t. The big customer who wants to use your system in their whole company won’t. Then if things work out you can be pleasantly surprised.

The reason I warn startups not to get their hopes up is not to save them from being disappointed when things fall through. It’s for a more practical reason: to prevent them from leaning their company against something that’s going to fall over, taking them with it.

For example, if someone says they want to invest in you, there’s a natural tendency to stop looking for other investors. That’s why people proposing deals seem so positive: they want you to stop looking. And you want to stop too, because doing deals is a pain. Raising money, in particular, is a huge time sink. So you have to consciously force yourself to keep looking.

Even if you ultimately do the first deal, it will be to your advantage to have kept looking, because you’ll get better terms. Deals are dynamic; unless you’re negotiating with someone unusually honest, there’s not a single point where you shake hands and the deal’s done. There are usually a lot of subsidiary questions to be cleared up after the handshake, and if the other side senses weakness– if they sense you need this deal– they will be very tempted to screw you in the details.

The way to succeed in a startup is to focus on the goal of getting lots of users, and keep walking swiftly toward it while investors and acquirers scurry alongside trying to wave money in your face.

Speed, not Money

The way I’ve described it, starting a startup sounds pretty stressful. It is. When I talk to the founders of the companies we’ve funded, they all say the same thing: I knew it would be hard, but I didn’t realize it would be this hard.

So why do it? It would be worth enduring a lot of pain and stress to do something grand or heroic, but just to make money? Is making money really that important?

No, not really. It seems ridiculous to me when people take business too seriously. I regard making money as a boring errand to be got out of the way as soon as possible. There is nothing grand or heroic about starting a startup per se.

So why do I spend so much time thinking about startups? I’ll tell you why. Economically, a startup is best seen not as a way to get rich, but as a way to work faster. You have to make a living, and a startup is a way to get that done quickly, instead of letting it drag on through your whole life.

We take it for granted most of the time, but human life is fairly miraculous. It is also palpably short. You’re given this marvellous thing, and then poof, it’s taken away. You can see why people invent gods to explain it. But even to people who don’t believe in gods, life commands respect. There are times in most of our lives when the days go by in a blur, and almost everyone has a sense, when this happens, of wasting something precious. As Ben Franklin said, if you love life, don’t waste time, because time is what life is made of.

So no, there’s nothing particularly grand about making money. That’s not what makes startups worth the trouble. What’s important about startups is the speed. By compressing the dull but necessary task of making a living into the smallest possible time, you show respect for life, and there is something grand about that.

This is a summary of Paul Graham’s excellent piece on startup lessons.