I realized something interesting today. It's very specific to my own circumstances, but it might be useful to consider anyway.
I'm a programmer, and I'm in acting classes. Other programmers wonder if I'm trying to do some weird career change, and some even seem to think I'm "up to something" - social skills being seriosuly undervalued in programming, almost to the point of suspicion. The people in my acting classes ask me if I work at Urban Outfitters, and while this wouldn't be a flattering question among geeks, I can't be insulted, because there are very talented people in my acting classes who do work at Urban Outfitters, and no disrespect is ever intended.
The result of this is a minor identity crisis. Am I a programmer who studies acting because it makes giving presentations easy? Or am I an aspiring actor who somehow developed an entire career as a computer programmer (of all things!) before I discovered my true calling?
The uncertainty is amplified because one of the very few commonalities these very different fields share is that passion is necessary. Not just because you have to be passionate about either one of these things to be good at them. Also because both job markets have absurd dips and peaks. Nobody sane is doing either of these things just for the money.
Everybody knows this is true of acting; however, people are used to the idea that programming is a steady job. Don't count on it. Go back in time to 2002 and try telling that to people. Anybody who got into programming for the job security needs to seriously reconsider that strategy. The dot-com downturn sent legions of programmers back to their moms' basements. It's true that there's going to be more and more programming work in the future, as every last little thing from your refrigerator to your shoe gets an IP address, but that doesn't necessarily mean the work will pay well at all.
The popularity of this idea that programming leads to riches comes and goes with booms and busts, and that cyclical rhythm in and of itself should be a kind of wake-up call. Sometimes your services are in fashion and sometimes they aren't. The image of the struggling actor waiting tables is so burned into our culture I can't even guess when it first originated, but if the image of the struggling programmer waiting tables ever becomes an established cliche, I can tell you with confidence, it'll have started in 1997 and gained serious credibility in 2001.
So here I am. Am I an aspiring actor? Am I a programmer? What's the deal? I realized the answer today. The answer's actually real simple.
I'm a science fiction screenwriter who does way too much research.
Seriously. I spent so much time researching the Internet that I actually forgot the point was research in the first place - but that is in fact what got me started. What's the best way to find out what changes are really going to happen? Simple. Bet your ability to eat, for several years running, on which technologies you learn. After a while you get a pretty good intuition for that kind of thing. And likewise - the best way to write a screenplay? Learn to act!
But that still doesn't explain it all, so I should probably add that I'm also an egomaniac who enjoys math for its own sake. OK - maybe this is too much about me to be useful for anybody else. Maybe my psychology is kind of odd. But there's a story here. Stick with me.
I got into programming because of zines - specifically Mondo 2000, Fringeware Review, Wired, bOING bOING (in a very different, earlier incarnation), and of course the weird, incredible, wonderful Schwa (which I almost sorta wrote for). These zines chronicled the emerging "cyberculture," this new sci-fi movement that was going to change the world. At the time, Wired was a very different thing than it's since become. Wired didn't publish e-mail addresses in its first issue, and it didn't feature business leaders in its first year. If you were reading Wired back when it was new enough that the rawer, more street-level Fringeware could do a parody called Weird - and mean it sincerely, as the compliment it was at the time - then you know, the first issues of Wired put science fiction novelists on its covers. They got to do huge articles about the future, too. Business leaders were in the mix, but initially, they were not the focus.
A few years later, all the other zines were gone, and Wired had gotten as boring as fuck. You never saw anything but business guys and Rollerblade ads in Wired. I had moved to San Francisco to change the world. Instead I was working for a bank. Admittedly, I was working for an investment bank, in a situation with responsibility and where my programming skills were highly valued, but still, ultimately, I was working for a bank. I was making good money but my soul was dead. I might as well have been a zombie.
When the dot-com downturn hit, I was thrilled. I knew I'd be fired. And one day my manager called me into his office.
"We're going to have to start firing all the contractors," he said.
"Ah," I said. "Well, that's regrettable, but in the current economic climate, it's no shock."
(And it wasn't. Two hundred thousand jobs were lost in January 2001 in the city of San Francisco alone.)
"That's right," my manager said. "So we want you to come on full-time."
I told him I'd think about it, and pretty soon I was driving off to live in a forest in New Mexico and learn how to draw.
It's pretty fucking hard to draw a human hand, by the way. Just so you know. Seriously. Try it sometime. And don't complain. I warned you I was an egomaniac.
But enough about that.
Why is this story allegedly useful?
It's useful first because I've met programmers working on interesting things who clearly think I should be more excited about the projects they're working on than I am - especially when these are also projects which potential clients are offering me. If you're one of those programmers, cheer up. It doesn't mean your project's not fascinating. There is just nothing happening on the Web today that is anywhere near as exciting as the experience of telling people that there's this thing called the World-Wide Web and it's awesome and you should totally get into it. Nothing happening today as fun as arguing with staid business types that advertizing will one day become a big part of the Web. Nothing as high-stakes as moving across the country to a strange city on nothing but a few hundred dollars and your absolute, total faith that you've spotted something that will soon grow huge.
It's useful second because sometimes living in a forest and drawing is awesome.
And if that's true, you have to wonder: is there a way in which working at Urban Outfitters could be awesome too? There is. I've seen it. I saw an actress today doing incredibly fearless work. To pay the bills, she works as a waitress. She's awesome.
It's useful third because programming is looking more and more like acting or screenwriting every day. The entry costs are approaching zero and the value of education is only partial. And certainly the show biz adage that "you're only as good as your latest hit" is true in programming as well. Ask anybody who lost a job to a younger programmer with less brains but trendier skills. So if you're a programmer and you're making money, save some of that money. And take time to keep your skills absurdly sharp. And study business, too, because it's only the great businesspeople who really make money as programmers.
It's useful fourth, and most of all, because if you're choosing between projects, you might think it's because you're brilliant, but it's not. In a very small number of cases it's because you're brilliant, and the economy's doing well; in most cases, it's because the economy is doing well. And when you're choosing between projects, you should absolutely choose the projects which excite you. The reason is simple. Hard work, risk-taking, and talent are the ingredients for a successful career in both acting and programming, and passion's necessary in either case.
But at the same time, just as an actor who wants to succeed should balance artsy "cinema" with popcorn flicks, every programmer should balance programming for money with programming for programming.