So Steve Yegge has graced us with another
post tome huge honkin’ bunch of loosely associated words chock full of spin off ideas. The gist of said words is that Joel Spolsky’s “Smart and Gets Things Done” is a really great way to hire clones of yourself but that for various reasons (namely that you suck but you just don’t know it) this is a bad idea. Some of the possible spinoff blog posts that I think might be interesting are “Steve’s Right! You do suck and just don’t know it”, “Steve Yegge really needs an editor” (oh the irony, it burns!!), “How do I become a Done and gets things smart sort of guy so that people will love and adore me?” and “Extended interviews sound great as long as I’m the one doing the interviewing and not the poor schlub being interviewed”. In the end, given my propensity for stringing a huge honkin’ bunch of loosely associated words together, I decided to touch on most of them in one post, once again showing my complete and total disdain for a laser like focus on anything. . .oh look a chicken!
At my last job, I did a reasonable amount of interviewing and I almost exclusively used Joel’s advice. In the end, I don’t think we hired a bunch of my clones because we didn’t do much hiring anyway (it seemed to be some sort of exercise where we would bring in someone and then not really ever do much with them, but whatever). However, when you work in Corporate America, your ability to actually hire someone who is Smart and Gets Things Done is greatly hampered by the fact that very few people who fit that qualification want to work for you. This is because writing software in Corporate America (not Captain America, writing software in him would be. . .probably kinky, never mind) sucks big hairy horse balls. The politics, the egos, the politics, the CYAness of it all, the politics. People who are smart and get things done just don’t want the overhead. People who are Done and Gets Things Smart won’t even know your job posting on Monster exists so you’ll never even get to interview them and turn them down because they aren’t a clone of you.
So leaving Corporate America aside, what in the hell can you do to make your interviews useful? Well, I really like the extended interview idea. There are quite a few companies out there that do this and I think it makes total sense. Yes, I understand that hiring someone for 6 months and then letting them go because they didn’t turn out like you expected is very expensive but seriously, do you think it’s as expensive as keeping them around? Face it, Steve’s right and hiring good people is almost entirely blind luck, of which you probably don’t have very much anyway. Unfortunately, the extended interview technique only eliminates false positives and if you remember from your basic statistics class, when you lower beta. the corresponding alpha goes up and so now you have a technique that leans towards hiring everyone and seeing who makes it. Not good.
So if hiring good people is basically a crap shoot, what’s a good hiring manager to do? Beats me really. I’ve given a lot of thought to interviewing and hiring (though not nearly as much as Steve) and the sliver bullet for identifying people who are smart and gets things done continues to elude me. Lots of tech companies just ask a bunch of trivia questions but then you tend to hire people who learned the ins and outs of the technology but can’t code or can’t communicate or can’t understand why having code reviews might just be important. You can ask them crazy questions like “how much does this building weigh?” or “how many midgets can you fit in a phone booth?” (both great interview questions if you want to find out if a person can handle anything other than Visual Studio) but that’s not going to get you far enough down the road to success.
Man this post is getting long. My guess is I’m the only one still reading.
So if I can’t contribute to hiring the right people, lets tack off towards another subject, how do I become one of the Done and Gets Things Smart that Steve is talking about? (As an aside, if you haven’t read Steve’s post (and I know most of you haven’t), there’s a difference between “Smart and Gets Things Done” and “Done and Gets Things Smart” and basically, the Cliffs Notes version is that the former is Arthur Miller while the latter is William Shakespeare.) The short answer and probably the only answer is that “I don’t.” I don’t think you can mold yourself into the type of person he’s talking about, regardless of discipline and certainly not in programming. For the same reason I can’t become Kobe Bryant, I’ll never by Paul Graham. It’s at least 75% genetics and while I’m no slouch, I’m not really above average by much either. Hell, I’m still trying to get my head around the 475 ways you can use Castle and I’ve been working with it for 5 months.
This post is getting depressing too and I’m not even drinking. Not only can you not hire the people you need to hire, you (and by you, I mean me) will never be able to get to the level you want to be because you weren’t born hardwired in the right places to achieve it.
However, I now think (after several years of thinking the opposite) that while you can’t become “Done and Gets Things Smart”, you can become “Smart and Gets Things Done.” You do this by constantly reading, broadening your technological scope, losing the ego (I’m lucky in this regard, I’m pretty sure I suck at most everything so I’m ahead of the game) and constantly learning.
I’ve got some more thoughts on ways to either gather up Smart and Gets Things Done types but this post is already long enough to have cured insomnia. Maybe I’ll spit that out tomorrow night.