As sports fans know, the NFL draft is this weekend. In many ways, it’s the most exciting event of the year for football fans. Every team gets to participate, and fans have the chance to believe that their favorite team has improved itself, at least until games are played and reality sets in. Mike Tanier has written the best article I’ve read analyzing the meaning of the NFL draft — Made, not Born. I don’t want to talk about it in terms of football, though, but rather in terms of hiring software developers.
Years after the draft, players are called a “bust” or a “steal” based on how they perform, but Tanier’s inarguably true argument is that how players develop once they reach the NFL is more important than their qualities when they were drafted. Incredible athletes who are drafted into a bad situation often have short, unimpressive careers. Lesser athletes who are drafted into good situations wind up in the Hall of Fame. People obsess too much over draft analysis and not enough over how well teams develop players. (Indeed, many teams that are considered great at picking players in the draft are more likely great at developing the players they pick.)
What does this have to do with software development? Obviously hiring developers is different than drafting football players. What I think is similar, however, is that what you do to enable programmers to succeed once they start work is just as important is hiring the right people in the first place. There are all kinds of situations a talented programmer can be placed in that will lead to their writing poor quality code and developing bad habits that are hard to break. A lesser programmer on a good team with solid processes and better mentors can produce great software.
This is one of the things I wonder about when I read articles about Google’s hiring practices. Does Google produce the software that they do because they hire incredibly talented people, or do they create an environment for developers that enables them to make the most of their talent? I expect that they’re good on both counts, but people seem to obsess more over the former than the latter.