Good Listens and Reads — Developer hiring and the market for lemons

TL;DR — The “great” developer does not fit a cookie cutter shape. There are things an organization to do to change how they recognize talent internally and externally. Good luck.

Dan comments on Joel’s post on Finding Great Developers.

Joel’s model assumes that “great” developers are sticky — that they stay at each job for a long time. This comes from two assumptions; first, that it’s easy for prospective employers to identify who’s “great”, and second, that once someone is identified as “great”, their current employer will do anything to keep them (as in the market for lemons).
  • Sometimes it’s hard for an organization to recognize talent, and it’s common — Joe did an excellent job saving two projects by doing the grunt work necessary but making sure services do not have global outages when they launch is not recognized in Joe’s organization.
  • “Great” developers are not always sticky; companies are not always capable of creating optimal environment — Jane joined a team where the team lead did not believe in version control or tests. 80+ hour weeks and a toxic environment tends to make people leave.

Joel’s model implicitly assumes that, proportionally, there are many more dysfunctional developers than dysfunctional work environments.
  1. Do you know of any companies that aren’t highly dysfunctional? — “Most people said that they didn’t know of any companies that weren’t a total mess.”
  2. Do you know of any particular teams that are great and are hiring? — “…the most common answer was something like ‘LOL no, if I knew that I’d go work there’. The second most common answer was of the form ‘I know some people on the Google Brain team and it sounds great.’”
  3. Work environments change which puts many good developers on the market.

“From where I’m standing, it seems really hard to find a good manager/team, and I don’t know of any replicable strategy for doing so.”

“When a hiring manager complains about hiring, in every single case I’ve seen so far, the hiring manager has one of the following problems:”

  1. They pay too little.
  2. They pass on good or even “great” developers.
  3. They’re trying to hire for some combination of rare skills.
  4. They’re much more dysfunctional than they realize.

Dan’s post has many suggestions on how one can improve on the above (but probably not #4).