Program Or Be Programmed

On Thursday night I gave a talk at NYU Poly and in the Q&A a young man asked me for advice for "those who aren't technical". I said he should try to get technical. The next morning I met with a bunch of Sloan Business School students doing a trek through NYC. A young woman asked me the same question. I gave her the same answer.

I don't mean that everyone should become a software engineer. I do mean that everyone should understand software engineering (or whatever technical subject/industry you want to work in). I don't speak French fluently. But when I go to France, I know enough French to speak it badly until the person on the receiving end changes the language to English.

Dennis Crowley claims to be a terrible programmer. And yet he and Naveen built the first version of Foursquare together. Their third team member was Harry and Harry's first job was to rewrite all of Dennis' code. Dennis is the kind of technical I'm talking about. Learn how to hack something together so that you can get people interested in your idea, your project, your startup. If you can do that, then you have a better chance of success.

Another great reason to "get technical" is so that you can work better with technical people. If you understand at least some of what they are doing, if you can look at their work product (the code) and understand what it is doing, if you can pick up a ticket and contribute when time is tight, then you will be seen as part of the team. And that is critical.

All of this is a big reason for our most recent investment, in Codecademy. Codecademy wants to be the online resource for people who want to learn to code. What you see there now is basically a prototype. And yet somewhere between 500,000 and 1mm people have started learning javascript using the prototype. They are clearly on to something.

I haven't written code professionally in twenty-five years. The last application I built was a custom app for my mother in law's company. She ran her business on it for twenty years. I wrote simulation software for a company building ships for the US Navy. And I wrote software that ran data acquisition for a lab at MIT. I was never a great programmer. I was a hacker. But I do understand the basic concepts, I can build something. I think most everyone can get to the place I got to and I'd encourage everyone to try.

Our partner Andy wrote a great post on the USV blog announcing our investment in Codecademy. He wrapped up his post with a quote from Douglas Rushkoff. It's where I got the title of this post from and it says it well.

When human beings acquired language, we learned not just how to listen but how to speak. When we gained literacy, we learned not just how to read but how to write. And as we move into an increasingly digital reality, we must learn not just how to use programs but how to make them. In the emerging, highly programmed landscape ahead, you will either create the software or you will be the software. It's really that simple: Program, or be programmed.