One very unusual thing about my career is that I didn't start out to be a programmer, but a graphic designer. There are tons of people who take this route into coding HTML, that's a very common thing, but not nearly as many who go on to build enterprise apps and learn Smalltalk.
So this kind of gives me an unusual perspective - especially when it comes to marketing. The culture of programming often contains a great deal of contempt for marketing, but the culture of graphic design has more respect for it. Consequently, one very unusual thing about my own reading is that I seem to read many more books on marketing than the average programmer.
Sometimes I'm embarassed to admit it. There are a lot of programmers who scorn the whole idea of marketing. But there are other programmers who don't, and it seems to work for them.
One thing I'm sure of, geeks need marketing. Especially in a world where everybody swears blind that a great programmer's work is 10 to 1000 times better than an average programmer's, and some people even have the research to back it up - but the only way for a great programmer to make 10 to 1000 times more money than an average programmer is for that great programmer to start their own company and become a great businessperson as well (or instead).
Any other field, the idea is 10 to 1000 times better work should mean 10 to 1000 times more money. Picture what the world would be like if extras made as much as movie stars. There are plenty of programmers out there, in larger, more beauraucratic organizations, whose main contribution is essentially to walk on stage and stand in the background for a while. There are also dedicated, passionate programmers who carry the weight of entire companies. Sometimes the star gets paid more than the extra. Sometimes not. But never by an appropriate multiplying factor.
It's a serious flaw in the culture of technology. It's probably also the main reason venture capitalists are still around. Last year's SXSW podcasts had a definite theme: with free open source software and cheap commodity hardware, venture capitalists are no longer either necessary or useful, and in some cases they're actively destructive. But the VC world did not disappear overnight; in fact, nine out of ten Rails jobs seem to be startup jobs. There's a certain degree of irony there.
The connection is that people think the only way for a programmer to make a lot of money is to join a startup and get lucky. Alternatively, you can conform to a corporate mold, and be stuck with a predictable series of pay scales. You get this insane 1950s theory that two programmers with X years of Y, where both X and Y are equal, are therefore equal cogs for any given machine. This is of course stupid, so many smart programmers opt instead for the VC system. But the VC system was developed from the 1950s to the 1980s to support the massive infrastructure and complexity required to start technology companies in those eras, and that just isn't even relevant in 2007. That world is gone forever.
What many programmers have to face down is this very toxic false dichotomy: either VCs, or a corporate job - which is to say, either the casino or the beauraucracy. People who say you should skip the casino and the beauraucracy, and opt instead for good, solid, sustainable businesses, have remained a vocal minority.
The future possibility, however, is that VCs are becoming dinosaurs, and small teams building great software on the side is the real shape of the future. 37 Signals, Facebook, and Digg - initially built by an Elance PHP developer for $11 an hour - all provide pretty strong examples of what that future is starting to look like. Likewise, the extraordinary power and flexibility of open source technologies makes the conservatism and inflexibility of large beauraucratic systems more of a weakness than ever before.
This doesn't mean that either the casino or the beauraucracy will be destroyed. It means a third alternative has already emerged. This third alternative is already attracting geeks with above-average marketing savvy. It's already creating its own Internet celebrities.