Monday, May 14, 2007
You Are Not Your Stock Options
A little while back I wrote about Web apps as a form of showbiz:
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.
(Available as a podcast here.)
Now Caterina Fake has an awesome podcast where she says that the biggest element in Flickr's success was its timing, and there's statistical research which proves - or at least very strongly suggests - that the same material can hit or miss based on network effects.
What does this mean for Rails programmers?
Rails, of course, is a hit. Rails will be remembered as a huge part of Web 2.0, the preferred language of the second boom; yet it's important to remember that when Rails first appeared on the scene, before it became the colossal bandwagon it now is, it came from one of the only two really successful companies to prosper during the dot-com crash - 37 Signals and Adaptive Path. The huge lesson of both these companies was that it's best to focus on a real business, not on winning a startup lottery, but today, nobody wants to be reminded about that.
Let's assume for the sake of argument that you're downloading the podcast and reading the links - I think they're very worth reading. Ultimately, I just write because I like to write, but I think I'm doing a service by pointing you in these directions. However, I could be doing a disservice instead, if all these links result in a certain amount of depression. One implication is that if Rails had come along at a different time, it wouldn't have been a hit. The idea that such huge differences in the course of your career could be due entirely to luck isn't necessarily uplifting, because luck gets good, and luck gets bad, and that's just how it is. Seems kind of fatalistic, eh?
["They r make fun of me" LOLcat removed per request of upset cat owner]
Well, if Web 2.0 is a lot more like show business than engineering, let's take a moment to look at show business.
There's a neat article in the New York Times about music and social software. Turns out blogs and forums are becoming essential to musicians:
Performing artists these days, particularly new or struggling musicians, are increasingly eager, even desperate, to master the new social rules of Internet fame. They know many young fans aren’t hearing about bands from MTV or magazines anymore; fame can come instead through viral word-of-mouth, when a friend forwards a Web-site address, swaps an MP3, e-mails a link to a fan blog or posts a cellphone concert video on YouTube.
So musicians dive into the fray — posting confessional notes on their blogs, reading their fans’ comments and carefully replying.
By the way, just for perspective, I believe these words are absolutely true. I used to be an underground rave organizer, very minor DJ, and kind of a failed dance music producer, and it's pretty easy to tell if you check out my Myspace page (NSFW!) or download some of my music. Social software's absolutely essential for entertainers. Forums and e-mail lists were the big thing before Myspace, and Myspace is big with musicians and actors. People who I know through the DJ world are obsessed with Myspace, and people I know from acting classes are too. For better or worse, social software has become an essential part of show business.
Anyway, in this article, Jonathan Coulton (of "Code Monkey" fame) reports that a few of his songs are much, much more popular than most, and these are, essentially, his hits. Obviously the sales and popularity threshholds for a Jonathan Coulton hit are orders of magnitude lower than those of a Justin Timberlake hit, but the fact remains, regular songs outnumber hits, and yet fans won by hits sometimes love the regular songs as well, and sometimes become loyal supporters.
It's pretty easy to map this to code, or to Web apps. After all, some of your clients, customers, and employers are going to be your fans, but not necessarily all of them. User base and popularity threshholds for a Giles Bowkett hit have generally been orders of magnitude lower than those of a why the lucky stuff hit, and yet some of my projects have been much, much more popular than others, and people in a company who become my fan because of some project that does unusually well will often want me to work on their other projects too.
Obviously, then, you want to maximize the number of your hits, and yet the statistical research indicates that it is very probably impossible for any one individual to exercise control over what becomes a hit.
Which brings us back to Adaptive Path and 37 Signals. Their strategy for prosperity during the bust: do consistently good work, keep active in the community, and save your money. (Both Jason Fried of 37 Signals and Janice Fraser of Adaptive Path have hammered this point home in podcasts.) Interestingly, it's also Jonathan Coulton's basic strategy for making a living as an independent Web-based musician. It's a strategy designed to leverage the randomness of hits without depending on it.
Compare that strategy with working for a venture capital backed startup.
That's a strategy designed to depend on the randomness of hits.
Another foray back into showbiz. There's a phenomenon here in Los Angeles called pilot season. Pilot season is when all the pilots are filmed; each pilot hopes to become a series on network television. According to one blog I read, agents will send actors out to as many auditions as possible during pilot season, in some cases having one actor go to 12 auditions in the same day. If you don't know anything about auditions, or, for that matter, Los Angeles traffic, let me just summarize: going to 12 auditions in one day is simply insane.
In fact, it's an atypical example, an example of how crazy things get. And agents are not always as unethical as you might think from Hollywood's own portrayals of itself. But agents will send an actor out to an unreasonably large number of auditions because if one actor that an agent represents gets one part in one audition on one pilot and that one pilot happens to become a series, the agent wins big. So if the agent represents 20 different actors, and 19 of them never make any money at all in pilot season, and never book any roles, but one actor wins big, the agent makes more money than if every actor got enough small parts to sustain themselves as working actors.
Does this sound like venture capital?
In a situation like this, both agents and venture capitalists are gamblers. Because hits are incredibly lucrative, yet unpredictable - in the purely technical sense that predicting them is a literal mathematical impossibility due to sensitive dependence on initial conditions - it is better for the gamblers to encourage their actors or their companies to risk everything, even though that risk probably won't pan out, because if just one of those risks does pan out, the money comes back with huge returns that are more than enough to recoup the money that the gambler invested in all the other actors or companies just in case. If every actor or every company plays it safe, they're each individually more likely to stay in business and succeed over the long term - but the gambler won't win any lotteries that way.
The blog post on pilot season says that the smart thing for an actor do at that time is only audition for commercials, movies, stage plays, and ongoing series, and avoid pilots, because all your competition will be out there exhausting themselves gunning for pilots - gambling their careers for their agents instead of making moves which are smart for them.
The implication is that the smart things to do for a programmer during a boom are:
1. Do consistently good work
2. Keep active in the community
3. Save your money
Hopefully that sounds familiar too.
It's a pretty unfortunate political reality that in the world today there are people who are rich enough to treat other people's lives as gambling chips in a gigantor-iffic casino. It's unfortunate for many reasons, but I'm going to limit myself to two here.
First, dramatic income disparity has a statistical correlation with increased mortality among both the poor and the rich. Second, and much more relevant, the people with the money often control, or seem to control, the system. You'd expect the people who control the system to set the system up to perform at its best; but the reality is that the people who control (or seem to control) both systems - both Hollywood and Silicon Valley - have set both systems up for high risk and big winnings. This is why, in music, people like Jonathan Coulton have stepped outside the major-label system, and it's a big reason programmers should consider the VC system with caution, if at all.
Posted by Giles Bowkett at 3:06 PM