Tuesday, April 24, 2007

When The Beast Was Born

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.


  1. Thanks for writing this. Really. I'm graduating soon from a CS program and I have no desire to work on the web (PHP, ASP, etc) or on MS technologies like VB, etc.

    What I really want to work on is irrelevant but your story made me understand that I bette rwork on stuff that I like because I'm sure not going to get rich or steady income. It's the kind of thing you need to hear from someone else, I guess.

  2. I've been thinking about this a lot lately, though with not as much clarity.

    I know completely that I got into this for the love of it, not for the money. I've proved that to myself many times over. I went through the recession in the early 1990s, and I went through the one that started in 2001. From my experience they were pretty similar, though the more recent one seemed to last longer (I was in college for most of the earlier one). When I was studying CS, everybody told me, "That's the field to be in," because of the money. Somehow I tended to know better. I didn't truly understand the swings until I experienced them though. Even when the boom of the 90s happened, the memory of the struggle I had to go through just out of college stayed with me.

    Everywhere I've worked I've had to make compromises on working on what I enjoy, to varying degrees.

    I feel like for the first time in my life I'm studying and working on stuff I completely enjoy, but it's all on my own time. I'm not working right now; taking a time-out to pursue this stuff. I've had this nagging feeling though that I might not be able to find work that matches the wonderful feeling I have doing what I'm doing now--that expecting this to happen is too good to be true. I'm not ruling it out, but that part of me that wants me to survive and continue having a roof over my head is cautious about putting all of my eggs in just a few rarified baskets.

  3. @anon - definitely! a friend of mine went to work in tech support for some kind of video drivers company after he graduated. he was hating it. he spent some time teaching himself to code for video games, made a demo, and got into that instead. they work you really hard in that industry but he was loving it. It applies if you're writing PHP but you want to write Rails; it's true if you're working on the Web when you want to build robots; it's true in every case. (you do want to exercise good practical thinking, though.)

    @mark - well, sometimes I've found work easy to get and sometimes I've found work hard to get. when it was easy, it was *always* because I had gotten interested in something and that thing had gotten big. every time I learned stuff because I thought it might be a good idea, or structured my career in what seemed to be a sane and sensible manner, it left me totally screwed. that would seem like a very powerful argument in favor of doing only what you want - except I've also had times where I studied stuff I wanted to study, purely for its own sake, and it took a long time to turn into work, and it didn't turn into much work.

    two good examples are Bayes nets and screenwriting. writing screenplays has never gotten me anything and probably never will. studying Bayes nets, I've gotten one consulting gig doing Bayes nets work, and it netted me $50. (I could have gotten some followup work, but I was too busy to go after it.)

    Basically, for me personally, playing it safe always backfires, but going after what I want still only works sometimes. Being fascinated with Rails totally paid off; studying acting has not made me richer. To a certain extent it depends on what becomes popular, and that's essentially random.

    (Technically chaotic, but essentially random.)

    So it's true and it's false. Programming is still a much safer choice than painting, for example. There's truth in what I'm saying but there's a great deal of exaggeration as well. I don't think any bust in the immediate future will be as harsh and severe as the dot-com bust, for the same reason that no new Web startup will ever have to face the question of "but will people even use the Web?" Because that question's been answered, that time is over. Hopefully that'll be the hardest bust tech will have seen for a very long time.

    But the value of education in programming is plummeting in CS, unless you're in a really good school where they have you reading SICP and writing compilers. And technical recruiting, with its fixation on X years of Y, has totally evolved into a hit-driven marketplace. All they talk about is what acronyms are hot at any given time.

    Anyway, I'm not working right now either, and it's GREAT. With any luck I'm going to make some progress learning Smalltalk and Haskell. I have to offset that with actual working sooner or later, but it's definitely fun at the moment.

  4. @Giles:

    I've always pursued what I'm interested in to a certain extent. I can remember I wanted to work in Smalltalk after I first got exposed to it in college 16 years ago. By the time I graduated though the market for that really dried up. So I went with my second choice, C, which was growing in popularity at the time. I enjoyed that for a while, until I couldn't stand it anymore.

    What I've always tried to do in the past is take a look at what's popular out there and then pick from that something I can feel good about. I can get some satisfaction from that, but the part that really irks me is there have been times while I've been working where I feel like I'm shoehorning myself into a market. It doesn't fit well. It's not terrible, but it's not very satisfying. I can do this for a while, but eventually I just want out. I've never been successful with this strategy. It doesn't find me work. I used to try to do this when the recessions would hit. I didn't feel I had a choice.

    What I've since discovered is that at the very time I was doing this from 2001 on, Squeak was out there, as was Ruby. Seaside may not have existed, and I don't know if Rails had even come out yet. I've thought to myself recently that if I hadn't been so focused on trying to find work in a dry market, and just done something else for money for a while (which I eventually did anyway) and been studying Squeak, Ruby, DSLs, etc. in the meantime, I might've enjoyed myself more.

    I hope you're right that we won't see something like the dot-com bust again, but I'm less optimistic that we won't see swings in our business. It's happened many times before, so I see no reason to doubt we'll see them again in the future.

    Re: I'm out of work, too

    Alright, so you've joined the club. :) Yes, it is nice to have the free time to pursue this stuff.

    Re: the X years of Y trend

    Like I've said before this has gone on for a looong time. Maybe it's gotten worse recently. I haven't noticed. The one thing that was nice about the 90s boom was that even though employers were asking for X years of Y, they were willing to compromise, because the labor market was so tight. With a couple exceptions though, I've found most of my work through contacts, not through want ads, anyway.


Note: Only a member of this blog may post a comment.