Hiring "Great Hackers"

July 31, 2004 9:26 AM

There's been such a furore about Paul Graham's dismissal of Java in his latest essay, that nobody seems to have bothered to examine the meat of the essay. Which is a pity, because the whole Java snipe was trivia. It's part of the Lisp-hacker mentality to take random swipes at more successful, but less technologically pure environments. Before Java was whipping boy #1, C and Unix were the root of all evil.

The thesis of Graham's essay seems to be this:

1. Hire great hackers.
2. ...
3. Profit!

Step one is where most of the controversy has been directed, both because Graham's definition of "Great Hacker" is really based on himself and his friends, and because his recipe for hiring great hackers is "Offer them equity, and jobs that don't involve Java, Windows, or dealing with end-user expectations".

Step two is more interesting to me, because its supposed to be the real point of the essay, but it consists of a great deal of hand-waving, essentially boiling down to "Be one of the companies that I've mentioned in this essay that hired great hackers, and succeeded as a result."

It's very easy to find counter-examples. Look at Xerox PARC, which hired insanely great hackers, gave them room to work on problems that interested them, and only managed to make a bunch of other people rich as a result. Or closer to Graham's territory, look at the AI Winter, where a group of incredibly smart hackers dug such a huge hole for themselves that they managed to make Lisp a lingua non grata for the next decade.

Graham even makes exactly the points as to why hiring a Great Hacker can be a risky proposition. Such hackers (at least, the ones described in Graham's essay) are generally not motivated by money, an even if money were a factor, they're good enough to waltz into any programming job they feel like. A Great Hacker is motivated by the problem not yet solved, and bored by pretty much everything else. A Great Hacker is productive when working on an "interesting problem".

The challenge for hiring great hackers is holding their attention. If your interest is pure research, or if you and they happen to be moving in the same direction, they'll give you the benefit of that order-of-magnitude productivity advantage. If the great hacker gets distracted by some new shiny thing, some more interesting problem to solve, they'll pour their energy into that instead.

And there's not much you can do about it, because it's that focus of single-minded attention that marks a great hacker.

So the missing step 2 is:

2a. Identify a hard problem, the solution of which would fill some market niche, and that your great hacker is sufficiently interested in finding a solution to
2b. Make sure your great hacker is kept away from shiny things until the problem is solved
2c. Pray that the hacker can, in fact, produce an effective solution (if this was a certainty, you wouldn't have needed the hacker in the first place)
2c. Market that solution effectively

There, and that's the path to success, and ultimate riches!

Previously: Dive Into Python First Impressions

Next: There Is No Justice