First, there was an essay by Joel Spolsky. Joel claims that #1 cardinal criteria your potential employee should satisfy is: Smart, and Gets Things Done. It became a popular saying, then Joel wrote a whole book on this topic. Finally, some weeks ago Steve Yegge wrote some more about it (and paraphrased to Done, and Gets Things Smart). Now, if you’re familiar with Steve’s blog, you should realize that “some more” is euphemism, basically, it’s another of those 10 page articles (although, as usually, it’s really interesting and personally, I enjoy his writing style). Anyway, in a nutshell, main points are:

  • most programmers think they’re really really… really smart, (it’s funny, how even in the comments for this entry there are people claiming they’re geniuses…),

  • usually, people fail to realize genuine skill in others (mainly because they’re not smart enough),

  • there’s virtually no way to identify programming rock stars without working with them (2 possible approaches given). You cant really test it during job interview (yet, we still try)…

I mostly agree with those points. Just as Steve, when I was young & restless I had a pretty high opinion about myself. This was especially true during my demoscene days, when I thought that fact that I’m coding stuff in self-modifying assembler made me some kind of programming guru (in reality, it was stupid and unnecessary in 99% of cases). It takes many years of learning to realize one’s own shortcomings. That’s our human nature. It’s same as with martial arts. After first lesson you feel great and think you’re some freakin’ Bruce Lee incarnated and would mop the floor with Buakaw. It’ll take some years until you understand all these talks about oak trees and willows. That’s one of the nicest side-effects of learning. You not only gain new knowledge, the more you learn, the more you realize how much you DONT know. Steve gives examples of true DGTS guys/gals, superheroes, who are on a whole different level than typical programmer. In my whole career I think I met person like that once, in my first job. Our lead programmer would almost immediately solve any problem thrown at him. In case I was stuck, I could just ask him, implement given solution (no matter how weird it might have looked) and magically, it would just work perfectly, at first try. (not surprisingly, I dont think he works in the game industry anymore).

Steve gives two “Identification Approaches” used to find superstar coders:

  • get lucky (scientific method),

  • ask around (basically, you ask your mates who’s the best programmer they know, continue until it converges).

I think there’s at least third approach, even if it’s a variation of the second one: visit programming forums, monitor Open Source projects. After a while, certain pattern should emerge. At every forum there seems to be this 16 years old guy from small village in Scandinavia, who knows everything about everything (from weird functional languages to nuclear physics). It’s a damn shame that Flipcode’s dead, as it was a great place to hunt for talents. I’m sure every old Flipcoder can recall some forum superheroes. Monitoring OS projects may be even better, after all, if someone single-handedly creates application/framework used by thousands of people, he most probably knows how to get things done. Then again, chances are he already has great job :). That’s something for another article… After all, even if you do find great people, there’s still problem of getting them to work for you. Most usually, they’re not sitting in basement waiting for offers. It may be not so important for companies like Google, but small start-ups will struggle.

PS. Vacation soon!

Old comments

ed 2008-07-17 20:11:58

Oscar Wilde said something like “I’m not young enough to know everything” or “The older I get, the less I know” I don’t remember which :) After all those years I’m more convinced that there’s no bigger value than experience.
I think that you can find out many things about programmer at job interview (attitude, how he deals with stress etc) but of course you will not know his personal workshop (working style).

flipcode 2010-03-28 23:23:13

[…] Flipcode or Gamedev.net has at least one or two portal tutorials. Also, the keyword is even in …Done & Get Things Smart | .mischief.mayhem.soap.First, there was an essay by Joel Spolsky. Joel claims that #1 cardinal criteria your potential […]

More Reading