So, at work we’re in this recruitment cycle again. This time it’s aggressive, and we’re really after the cream-of-the-cream. Those hard-to-find coding ninjas who generally don’t ever need to approach a recruitment agent, because of course, the second someone sniffs that they’re on the market, they’re wooed with shares and options and Wii’s and iPads and rubdowns. It’s a mad scramble. Did I mention that I’ve never had to approach a recruitment agent? 😉
The best way to finger these types is through someone you know who’s really good, who knows someone they worked with at some point who blew their socks off. Unfortunately the network method has failed us – sadly it looks like all talent has gone deep underground, or left the country. I’m partial to the latter because quite frankly, the quality of the meat that our corporate designated agent is passing our way has been found wanting… repeatedly.
But before I get ahead of myself – let’s approach this methodically, like we should a new project.
Step 1: Clearly define what we require
Enter the Senior Developer. As expected, this is all too subjective… a quick zoot over to SO confirms our fears and leaves us unsatisfied: it depends. I wish it was as easy as “Spanish male developer” (si señor!).
Being the “main technical peanut” using our PM’s terminology, the responsibility of defining the standard falls on my shoulders. I do subscribe to Joel Spolsky’s “smart and gets things done”, but the definition somehow falls short… it just isn’t complete.
Drawing from that deep unknowable über-developer essence that I supposedly have access to, I therefore decree:
Senior Developer Quality 1: Professionalism
Now we all know that you can’t distil what makes a senior developer into one simple thing, but this
is one of those undeniably big differentiators. Can you do a good job, consistently? If yes, then proceed to next assessment gate.
Senior Developer Quality 2: Intelligence
Where I come from, there seems to be this unspoken rule: “one doesn’t explicitly talk about smarts”. Because of course, smarts is one of those things that if you don’t have, no amount of experience is ever going to improve the situation. Let’s square up to this, for crying out aloud – if you want to be a senior developer you absolutely must be smart. Preferably, very smart.
Senior Developer Quality 3: Passion
Another big differentiator from the unwashed Mort-cast. You gotta wanna learn, all the time, during meals, on the can, driving to work, driving from work, on the treadmill, aside the water cooler and anywhere else you care to mention. Senior developers have technology in their veins, they live it and breathe it. Excitement isn’t derived from the promise of a ticket to the Super 14 final, but rather the appearance of a postal collection note for that 200MB/s write-rate SSD from Newegg.
Senior Developer Quality 4: Humility
Getting to the point of truly grokking that no matter how good you think you are, there’s always someone else out there who’s better than you are is a watershed moment. In all honesty though, no-one enjoys an arrogant git… it just isn’t conducive to greasing the cogs of the team dynamic. The more numerous the alpha-geeks in a team, the more critical the quality of humility becomes.
Senior Developer Quality 5: Experience