A lecture given at the Y Combinator Startup School held at Harvard University, October 15, 2005
I guess I should start by telling you a little bit of my "company story."
When I was a kid, I certainly didn't plan on starting companies. Actually, what I planned on doing was being a physicist.
And I got started fast enough on that that by the time I was a mid-teenager I was publishing papers and such.
I've always been a great believer in learning to use the best possible tools. Computers weren't too common in England in the mid-1970s, and the first one I dealt with had paper tapes and such. But I quickly became a fairly competent programmer.
And within a couple of years I was using computers a lot in figuring out my physics. But even though I was by then using the latest and greatest American computers, I kept on bumping into problems.
I remember, I'd just had my twentieth birthday. I'd just gotten my Ph.D. And it looked like my plan to "be a physicist" was going just great.
But I wanted better tools. And I realized that the only way I was really going to get them was to build them myself.
So that was when I started building my first big software system. In 1979. In that new-fangled language called C.
It took about a year to have the first version of the system. A couple of hundred thousand lines of code. With the biggest chunk written by me. The rest written by seven or eight other people, with maybe five or six more helping.
Well, at the time I was a professor-type, at Caltech. And my first thought was somehow to get the university to help do something useful with my software. That was a really bad idea. There's a whole story to what happened.
But suffice it to say that, just for once, I realized that if I wanted something useful done, I'd have to do it myself.
So I started a company. I still thought of myself as an academic, though.
I didn't think I really knew anything about business.
So I found a CEO.
And then we raised a bunch of venture capital. And so on.
And pretty soon the attitude I got was, "We're the professionals; we can take it from here."
Still, I tried to stay involved. But I got more and more frustrated.
'Cause it seemed like the decisions that were being made were just stupid.
I remember one big issue about regional salesfolk. They wanted to have salespeople in lots of different cities around the U.S. I said: "Look, the product is complex enough that we're going to have to fly someone out from L.A. anyway every time we want to do any serious presentation. And it's going to be really hard to motivate salespeople sitting at home in random cities."
It seemed pretty obvious common sense to me. But I was told quite emphatically that I didn't know what I was talking about.
Well, needless to say, I was in fact correct. And the same kind of thing happened a bunch more times. And eventually I just said, "This is stupid; I'm outta here."
So I moved to Princeton, and started working on some really interesting science. And doing high-tech consulting as a hobby.
You might wonder what happened to my first company. Each year the VCs would push it into some new trendy area. Each year it would lose more money. And raise more money.
Well, finally, around 1995, a big pile of documents arrived from the company. I assumed it was a bankruptcy filing. But to my great surprise, it was actually an IPO.
It was fun to call my former employees--and tell them to go find their stock certificates.
But back to my main shaggy story. By the mid-1980s, I'd done a bunch of basic science about the origins of complexity. And it seemed to me that one could build a whole field from this.
But there was a lot to do. So I started the banner of "complex systems research" and tried to get lots of people to help.
I started a little company to publish a journal for the field. Which in fact we still publish today.
And I found the best possible deal to start a university research center.
But I'm embarrassed to say it took me only a few weeks to realize that university administration just wasn't for me.
And that if I really wanted to build my science, my best strategy was just to build the very best tools for myself--then do the science myself.
Well, this was 1986. And it was right at the time when fairly personal computers were starting to get fairly powerful.
I'd been used to using all sorts of separate programs--and custom software--for things I wanted to do. But I had the idea that perhaps I could make one really general computational system that I could just use forever.
And that lots of other people would find useful too.
Well, that was what launched me on building Mathematica. I was pretty definite and determined about it.
And I knew I needed to start a company.
And I didn't want to make the same mistakes as with my company #1. Or the kinds of mistakes I'd seen other people make when I was consulting.
This time I resolved that I was going to be the CEO, and make all my own mistakes.
I had made a little money by then. And quite a few of the first people I collected were basically moonlighters. So I didn't need any outside money.
And pretty soon I started making deals with companies like NeXT and Sun and IBM to pay up front to have our software for their machines.
And after a year and a half--June 1988--Version 1 of Mathematica was released, and made a nice splash.
I think I had about 15 employees by then. I hoped I could keep the company really small. A pure R&D company. With the sales and marketing--or at least the sales--left to the hardware companies.
Well, despite lots of good intentions, that didn't work out. There were too many cultural impedance mismatches. And pretty soon I realized I was just going to have to build everything directly in my company.
And I'm happy to say that that worked out really well. The company's been going for more than 18 years now. And been consistently profitable.
I've been the CEO all the time. I've kept the company small. The core of it is still only about 350 people.
But it's gone very well. Zillions of discoveries and products and things have been made with Mathematica over the past 17 years. It gets used by most of the world's top R&D folk. And lots and lots of other people too.
We've invented a huge amount of technology. And I've built up a very stable group of very talented people that I really enjoy working with.
But, OK, so what happened to the science I wanted to do? Well, around 1991 the company was doing really well. And I thought of taking it public.
But I decided: no, I just want to have a private company. Where I can do what I want. Long-term stuff. Like my science.
Well, I planned to spend a year or so doing science. But it was sort of like the first time people got to use telescopes. I got to point Mathematica at the computational universe.
And immediately I started finding all sorts of incredibly exciting things.
And that just kept on happening. For ten years.
It was kinda crazy. I was getting up late each day. Running my company--remotely--during the afternoon. Then staying up all night working on science.
Gradually building up a whole new kind of science. And systematically writing it down in a book. Which I finally finished in 2002.
It's sort of exciting. For 300 years there's been the paradigm of doing science using math. And of building technology on that.
But what I realized is that there's something different one can do.
In a sense looking not just at rules we've invented for human mathematics. But all possible rules--or all possible programs.
Normally we think of making programs for very specific tasks. But what if one just looks out there in the universe of all possible programs?
Well, here's the amazing thing: even really simple ones can do really complicated things. This is my all-time favorite. It's called rule 30. Here's its program. And here's what it does.
And I think this is really the secret of a lot of what's going on in nature. It's just sampling stuff like this out there in the computational universe.
Which our new kind of science now lets us see. And which, by the way, we can do incredible things with by mining for technology.
I think it's exciting stuff. And I'm happy that my life has worked out so that I can do it.
It's not been completely trivial to get here. I was lucky enough to be pretty successful in mainstream science early in life.
And I could easily have spent my whole life on that.
But somehow I always kept on wanting to do my own thing. And that made it sort of inevitable that I'd have to build my own company.
There've been lots of tradeoffs. I mean, we could certainly make more money if we did more boring things. And if we didn't care at all about making money we could maybe have more intellectual fun.
But I'm happy to live in the niche we do: doing really interesting things, and making enough money to let us go on doing that.
Now that I've finished my big book I'm actually focusing more intensely on building tools, and on Mathematica.
You know, Mathematica is really based on fairly deep ideas about computation. That particularly come out in the notion of symbolic programming. That lets one unify all sorts of constructs and operations. And manipulate the structure as well as the content of data.
That's been at the core of Mathematica for 18 years. But it's a difficult idea, that takes a long time to get absorbed.
But it's what's let us build the huge web of algorithms and things in Mathematica.
And over the last ten years we've gradually realized that it lets us build some pretty major other things. Which are going to be really exciting when they're finally out. I think a bigger step even than when Mathematica Version 1 came out.
You know, I think it's fairly important to what we do that I really care about the stuff we make. These days I spend hours each day working on designing Mathematica. How the language works. The functions. The interface. Trying to drill down to figure out the essence of things. I think it's as hard as anything I do in science. Trying to really get to the right primitives. To be as clean and powerful as possible.
I've got wonderful people working with me. And I delegate a lot. It helps that I'm normally out here in Boston, and the main part of the company is in Illinois. But somehow when it comes to keeping the whole system coherent and unified, that ends up being something I have to do.
I insist on really understanding everything. And, you know, every time I don't, something ends up being wrong.
I think that's a general feature of at least my style of running a company. At the beginning the CEO does everything. But gradually as you understand things, you can hire other people to do them.
But if you ever delegate without understanding, things will get messed up.
Companies--particularly private ones--somehow inevitably end up reflecting the character of their leaders. So my company is kinda weird. It's got a lot of talented people. And everyone actually does stuff. There are no pure managers. Everyone--myself included--spends the majority of their time actually creating things.
Sometimes those things are technical. Sometimes they're about communication. Like on our websites, that have a third of a million pages now. And sometimes they're about designing systems for how pieces of the company operate. Which is really important too, particularly when you really want to scale up what a company can do.
But, OK, that's a bit of my story. So should you all be doing these kinds of things?
Well, of course, people are all different. And I think what's crucial is to understand one's own capabilities, and one's own motivation.
A lot of what goes into starting companies is turning nothing into something. Starting with a blank slate, and just inventing all kinds of stuff.
You'll never know if it's ultimately correct. You just have to use your judgement, make decisions, and move on.
To some people, that's pretty scary. Not to have any answers to look up in the back of the book. Just to do stuff.
People have different motivations, of course. A lot of people think the big thing with companies is money.
Yes, if you luck out, you can make a lot of money. But it's really rare that money carries people as a motivation.
You have to actually care about what you're doing.
For some people, like me, it's the actual creative content that they care most about. For other people, it's the act of building the company. For others, it's making deals. Or winning against competition.
But there has to be something you really care about.
And I think it's important that if you're the one who cares, you should be the one pushing things forward. If you're smart, there's a good chance you can learn the detailed skills to run a company. But to make the company really work, you need someone leading it who really cares about it.
You can't delegate the core motivation.
People often try to spread the motivation between partners. And quite often that works, at least for a few years. But generally--unless the company is outrageously successful--eventually people tend to drift apart. And it's important to plan for that in a fair way when you set things up.
OK, so what about all the business school stuff? I must tell you a bizarre thing about our company: I believe it's still true that not a single person with an MBA has ever succeeded with us. Probably that's because we're really not a formula-run kind of place. We insist on understanding things from first principles. Which is good if you're trying to do things for the first time. But a waste of time if you're just doing things that have been done lots of times before.
I've always thought that running companies is pretty much common sense. It's stuff that can be figured out just by thinking, practically, about things. And knowing a certain amount about the world.
Now, there are lots of smart people who are great at their specific areas. But somehow they don't seem to engage the thinking apparatus when it comes to other things. And that's fairly crippling in trying to run a company.
Understanding things about people is also pretty important. I always find it an interesting puzzle. Given a person, with certain talents and interests, what should they be doing? How can they fit into a company, for example? Sometimes people have a self image that's very different from their real abilities--and interests.
They'll have some hobby that they're passionate about. But for some reason they just can't imagine that being their work. Or they'll cast back to their educational or family background, and want to do something that's somehow worthy in those frameworks. Even if the thing they're really great at is something nobody in their background has ever happened to hear of.
Another thing about people is that they tend to be optimized for projects of different lengths--from minutes to weeks to years. And there are different kinds of jobs and projects that work for people with different characteristic timescales.
You need a fairly long timescale to lead a company. Though even there it varies.
Some people tend to just stick to one thing, for years, and just keep pushing to make it work. Others dart around after one opportunity or another.
I've seen both things work. And both things fail. People who stick to one staler and staler thing forever. People who don't focus long enough to take anything far enough.
You know, in companies--like in things like academic projects--there's often a choice. You can work on something topical and popular. So that if you succeed, everyone will know why it's important. But where there'll be competition to fight off. Or you can work on something nobody at first cares about. Where there won't be competition. But where if you succeed, you'll have to spend effort telling people why it's important.
Which one you should choose depends on your personality.
Of course, it always helps if you latch onto something that's just growing of its own accord. And if you can do that early enough--like for example with my science right now--it may not yet be a competitive business.
But OK, so how much should you really plan? You need to think things through. Figure out how you're really going to build that great thing of yours. How you're going to explain it to people. How you're actually going to set up the business to sell it to people.
You need at least a good theory of those things going in.
But in the things I've done--and all the various CEOs I've counseled over the years--I'm not sure if writing a detailed business plan would ever once have been worthwhile. I'm as analytical as anyone. But somehow there are always variables one doesn't know. That can just turn numbers and things upside down.
Now of course there's a certain discipline to writing a business plan. And seeing whether someone can actually put together a logical plan can be a good way to assess them.
It's like whether one has a good website. That looks nice, and is well organized. Or has some educational degree that proves one can finish something.
Well, OK, I could go on for ages about things to do and not to do with companies.
After a while one gets a certain intuition for what's going to work, and what's not. I'm always trying to test my intuition, by watching how things actually play out, and comparing with what I expected.
There are certain constants. Get-rich-quick schemes almost never work. Even if they sound really clever. It takes actual hard work to build things. And usually at the core of anything successful is something difficult. It may not be what people talk about. It might be something technical. It might be a business structure. But there'll be something there that's sort of a hard idea. It's always a good exercise to see if you can figure out what it is.
You know, sometimes there are things in business that just don't seem to make sense. Some deal that's too good to be true. Some magic solution to a problem. But somehow those never really seem to work out. Somehow in the long run things always arrange themselves to sort of be fair. To get out what gets put in.
Well, we're talking about startups here. And it so happens that I'm in sort of a major startup phase myself. I'm even looking for great entrepreneurs to be involved.
Because, you see, with Mathematica and with my new kind of science we've got an incredible platform for innovation. That we can apply to all sorts of areas.
In the science, it's sort of like having calculus for the first time. Suddenly having a methodology that can be applied to a huge number of completely different areas. Including technology.
See, normally when we do technology, we just construct things, one step at a time. But what my science says is that there's a whole computational universe out there. Full of programs that can just be mined for all sorts of purposes.
For years in building Mathematica we've used that--searching the computational universe for algorithms. That we'd never invent ourselves. But that do things really efficiently.
You know, there's lots of incredible stuff out there in the computational universe. One day mining it is going to be a trillion-dollar industry. It's sort of a meta-technology. Perhaps the single largest source of technology ever.
But right now is still very early. One's just seeing glimmerings of what's going to happen. Across a bizarre diversity of areas. Nanotech. Pattern recognition. Robotics. Computer security. Lots and lots of others. Actually, it seems like in almost every area--every industry--if one puts one's mind to it, one can see something fresh and new that the science can do.
But each thing is going to take lots of work, lots of investment. I'm trying to figure out a sort of meta-startup to handle it all.
But right now, we're just doing some experiments. And I thought I'd finish by mentioning one of them. That's in effect a little startup.
In what's for me a very bizarre direction.
For ages I'd known that simple programs in the computational universe can make great visual images. Sort of abstract generalizations of the beauty of nature.
Well, I also expected they might make good audio--good music.
But I never really had a reason to pursue that. But one day I realized that there is one.
A place where one needs mass customized music. That's just mined out of the computational universe. Cellphone ringtones. Well, I decided we should actually build something based on this. Here's the result. It just went live a few weeks ago.
I think it's fun. It's sort of deep science. Combined with an almost frivolous consumer need.
It was kind of an experiment. Not only in the technology. But also in doing something like this within my company.
I'm happy to say it went really well. At its peak there were probably about a dozen people seriously involved. With very different skills. From very different parts of our company.
Kind of a simulated startup. Doing the R&D in Mathematica. Deploying it with webMathematica. Figuring out all those horrifying things about downloading to cellphones.
Well, let's try it out. You can find it at tones.wolfram.com. Every time we go here, it just searches the computational universe. And brings back a program that it plays as music.
The program has rules. So there's a sort of integrity to the compositions it makes. But even though there are rules, there's lots of complexity. So it ends up sounding rich and interesting.
People have been making all sorts of collections on the web. Here's one.
Let's try a few of these. I find it really amazing that this stuff works. Even though my science sort of says it has to.
And this is just a very tiny, almost frivolous, corner of the computational universe. There's a lot else out there. To make science from. Even maybe to find the fundamental theory of physics in.
And also to make technology, and companies, from.
Well, I should probably wrap up here. I'm hoping there's at least a little time for questions. There's a lot more to say about companies, and ideas, and how to do things that end up being satisfying. But I've tried to tell you a little bit about my particular trajectory. And perhaps there'll be some things about it that resonate with some of you.