April 2, 2011
If you farm, you’ll have to purchase seed up-front, and work on it for a season before you see any profits. And every season you’ll plow most the profits (literally) back into the land and salaries and your mortgage. You husband the soil to ensure that it’ll keep providing for you for years and years. If you’re lucky, and if you do a good job, you’ll gather a following, sales will increase, and eventually you may make a tidy living. But every season, no matter how rich you get, you’re going to be back out there, breaking your back and working with the soil. When you finally retire, if you’ve done a good job, the soil is as good as when you first got it, and your farm will live on.
Or, you could mine; you’ll need some initial money to lease mining equipment, and to hire some people to work the mine. Then, bam: profit. You’re making money. You tear a giant hole in the ground and eke every last bit of metal out as quickly as possible; there’s nothing to preserve, there’s no soil to keep in condition. You’ll make a big score, then the land will be spent, and you move on, leaving an unusable crater.
Now, you’ve probably figured out I’m not actually talking about mining or farming: this is a metaphor for running a software company. You can either see founding a company as something you’re doing because you want to produce good software, or you can see it as something you do so you can sell your stock and make a killing and move on.
Maybe it’s obvious that I respect one approach more than the other. In fact, I would say that a big problem with our field is that mining is so glamorized: Not only are we inundated with tales of “Look, Bob Smith made a fortune selling his company after two years, and he’s a bazillionaire!” but if you seek outside investment you are usually required to be a miner: few investors are interested in partnering with someone who is going to retain ownership of his company and just make good products and sell them for a fair price. The very first thing an investor is usually going to ask is, “What’s your exit strategy?”
The problem with mining in the software business is that it doesn’t work. It creates broken, useless companies.
Founders and angel investors usually don’t particularly care if the companies they created live or die after they sell out, because they’ve gotten their money and moved on. There’s no stigma to having a company you founded fail after you leave it. In fact, again, it's a badge of honor: “Bob Smith founded Flopper.com, sold it for $46MM, then got out before it tanked! Genius!”
And even if a new mining company crumples before it has a huge IPO or otherwise gets sold, the founders aren’t crushed — their handsome salaries were paid by the investors, and the founder can just move on to his next venture and raise some more capital. The angels themselves obviously would prefer any given business succeed, but they’re playing the odds: all they need is for a small percentage of the companies they fund to blow up into something huge and they’ve made all their money and more. And they look like geniuses, since nobody ever mentions all the companies that failed, so from then on they’ll have no trouble getting large groups of people to invest with them.
Consider, for instance, a man who is heavily vested in Amazon stock. He’s a billionaire. He has a new venture he’s looking at; would you like to invest your money in it with him? The answer is: you don’t have enough data. How many other companies did he invest in which failed? Do you have reason to believe that he actually knew Amazon was going to succeed, or did he just get lucky once, and that made up for all his failures?
Remember, there are no magazine articles written in Fortune about all the guys who invested in ePizzaOnline and lost all their money. You read about the ones that won the lottery. They're the ones at parties who are the talk of the town.
And this is the fundamental problem: we’re blindly following past lottery winners thinking we can win the lottery, too, if we just emulate them. But, mostly, lotteries create lots of small losers. Losers aren’t written about in magazines, but they’re the majority.
Oftentimes we have a naïve belief that if there’s a long-standing system (the stock market, the venture capital system, retail software distribution, Microsoft Windows™), it must benefit all parties or else it wouldn’t exist. This simply isn’t true — all that has to happen is that some people have to benefit a lot, and publicly, and the system will be perpetuated. Even if a lot of people end up losing a little bit in the process.
In the mining model of software companies, the charismatic, flighty founders and their investors stand to make a lot of money. Their workers, their customers, and their secondary investors all get boned, because these companies and their products tend to suck.
If you’re building up a company for the sole purpose of looking good for one solitary moment – the day you go public – you’re not building for the future. You’re not (to waterboard my metaphor) maintaining the soil, making sure your animals are healthy and happy, and all that good husbandry stuff a good farmer does. Your only focus is looking like you’re going to achieve great sales in the future.
The stock market itself encourages this behavior: what’s important to the market is the potential growth of your sales, not your current sales, since the point of buying stock is to sell the stock to someone else later on, at a higher price.
I want to underscore this point: Assume a successful company makes, say, four million dollars in profit every year. Year after year, four million dollars. This is great, right? I mean, I’d be happy to own such a company. But this company would be a horrible investment. Its stock price would be stuck, because there’d be no increase in value year-to-year, so there’d be no reason to buy the stock at a higher price than it is right now. You could buy the stock at $100, but it’s staying at $100, and that’s a pretty crappy investment for you. (Obviously I’m simplifying an incredibly complex field here: one exception would be that the company’s demonstrated stability would make it more valuable over time, but hopefully you get my point.)
What’s upsetting is the number of people who have come to me with the idea of becoming miners: “I know nothing about software, but I can see there’s gold in them thar’ hills, and so I want to start up a company and make my million dollars! I’ve got an idea and everything, just tell me what magic incantation you did to get rich and I’ll be on my way.”
This doesn’t work. Your idea sucks. No, I’m not calling you stupid — my idea sucks, too. All ideas suck, because they are just ideas. They’re worth nothing.
My success is because I worked to make the idea real. A lot. All my life. Starting when I was 12, I learned to program, and I’ve programmed every spare moment since. I didn’t become a millionaire until I’d worked at it for eighteen years. There was no genius idea I had. I just kept working, hating what I did before, and working some more to make it better.
The idea part is cheap. Try to think of an idea that’s actually worth something on its own. “I wish I’d thought up the web browser.” Bullshit. The web browser had been thought up at least twenty years before those high-energy frogs coded one up on NeXTstep (c.f. Dynabook, 1968). It was the actual shipping product they wrote that caused the internet revolution, not the idea.
Velcro? Idea is useless without the actual manufacturing process. Sticky notes? They were discovered after a happy accident by a glue scientist at 3M looking for an extra-sticky glue. He’d been studying and working for years in the chemical industry — he didn’t just wake up one day and say, “I think I’ll invent me the sticky note!” and then find some venture capital and hire some dudes to make it happen.
How about Delicious Library? We didn’t invent the idea of media cataloging. But Mike Matas made it pretty and easy, and we own the market. I did invent the idea of scanning barcodes with a webcam, but that idea would have been nothing if I hadn't coded it. The coding took almost a year. The idea itself? I though it up in the shower one day. Worthless.
The people who really change the world are farmers. Steve Jobs works constantly on his products, every waking minute of every day. He lives and sleeps and breathes them. He's obsessive and crazy and kind of scary — but he's trying to build something. He didn't just say, "Here's my idea: smart phone! BAM! Go make it happen. Ima jump in the sauna." That simply doesn't work. God is in the details. In the implementation.
The most amazing thing about getting to go to TED was discovering that all the people I admire are farmers. The doctors and DNA-researchers and dancers and chocolate-makers and oceanographers and cosmologists and investors all have one thing in common: they are total nerds. They work on the thing they love literally all the time. You can't talk to them without talking about their passion.
The secret of success turns out to be so incredibly simple: Work your ass off. Really care about what you're creating, not the fame or fortune you'll get. You'll succeed.
I write the software for
- Celebrating Betrand Serlet and Craig Federighi
- In Semi-Defense of Twitter
- Why I hate "Fallout: New Vegas"
- Q&A with TSA Chairman John Pistole
- Adobe & Microsoft, Sitting in a Tree. W-T-F-I-N-G?...
- “Curated” Doesn’t Necessarily Mean “Secure”
- TED 2010
- An Open Letter to Steve Jobs Concerning the HTC La...
- Pimp My Code, Part 17: Lost in Translations.
- Pimp My Code, Part 16: On Heuristics and Human Fac...
Pimp My Code
- Free Programming Tips are Worth Every Penny.
- I will insult your code!
- Part 1: Code Insults, Mark I
- Part 2: self = [stupid init];
- Part 3: Gradient TableViews
- Part 4: Returning late to return early
- JPEG2000: Cool but SLOW.
- Unit testing is teh suck, Urr.
- Part 5: Special Apple Sample Code Edition...
- Interlude: Free Code
- Pimp, Pimp Thyself.
- Frameworks are Teh Suck, Err.
- Part 6: The Pimp Before Christmas
- Thinking, boxes, & what kittens can do to them.
- Part 7: Pimplette?
- Part 8: Mary, Mary, why you buggin?
- Part 9: Beginner Code
- Part 10: Whining about Cocoa
- Part 11: This Sheet is Tight
- Part 12: Frozen in Carbonite
- Part 13: The Pimp Before Christmas, Redux
- Part 14: Be Inflexible!
- Part 15: The Greatest Bug of All
- Part 16: On Heuristics and Human Factors
- Part 17: Lost in Translations