Jef Claes, creator of 2011’s spring sensation arealdeveloper.com, just tweeted a link to a blog on the issue of developer turnover, by Erik Dietrich. This is a topic I’ve considered blogging about, and have probably hinted at in the past. But I’ll let Erik speak for us all.
Erik says one reason talented individuals might leave is that they may be “tired of less talented people in [unearned] positions of [relative] … authority telling them to do things — things that are ‘frequent[ly unwise]’. There is an actual inversion of pecking order as found in meritocracies and this leads to a dysfunctional situation.” Scott Rosenberg writes in Dreaming in Code about how suits often find managing developers as akin to herding cats. There’s a certain hacker culture to this field, a culture that so many still don’t “get.” One thing about geeks is the way they recognize elites and give them props for their skills. This is how Microsoft MVPs are chosen, how employees at Amazon are promoted, and how moderators on Stack Exchange and countless other online forums are picked.
He also quotes Alex Papadimoulis’s description of the “Value Apex”, which I certainly identify with as I consider the presence of “room to grow” a vital selling point for any organization. Jef describes it as a need for a competent mentor. In some companies, either due to turnover rate or personal growth, you’ll eventually get to a point where there’s no one left who’s got madder skillz than yours.
And you’ll start looking for greener grass.
The point of the essay is to emphasize developers’ desire for autonomy and need for self-actualization. While Dale Carnegie says we ought to always refer to potential employers and customers in terms of what benefit it will bring to them—and certainly this is true in how independent developers interact with their clients—what a developer really wants out of their life station is an answer to the question: “what kind of dev will this help me to be?” Will the answer to that question more closely resemble the cubicle-dwelling “Thomas A. Anderson” in The Matrix, “program writer for a respectable software company” who “help[s his] landlady take out her garbage” (disdainful eyebrow) or his night-time hacker alter-ego Neo?
“One of these lives has a future, and one of them does not.”
When you hire or manage a developer, you are helping them write their life’s story. What kind of narrative is it going to be? Are they going to find a real sense of purpose? Or do you just want to use them and get your “man-months” out of them to fill in your fancy reports?
P.S. Where’s my damn watch?