Don't hire just self-described awesome developers

tl;dr: Confidence and programming ability are not correlated. If your job post requires a developer to evaluate their own skill, you're doing it wrong.

We've written before about What developers think when you say "Rock Star", and we'd like to expand on the broader problem: companies often feel they need to state they only want the best. Here are a few job post titles I've found in the wild recently (in the order they offended me):

  • Talented web developer
  • Stellar Developer
  • Elite Engineer
  • Amazing Software Engineer
  • Incredible engineer
  • Awesome developers
  • A-player hackers
  • Ace Developer
  • Top Hackers apply here
  • Kick ass programmers
  • Superstar engineer
  • Rockstar developer
  • Best hackers only

First, sorry to break it to you, but a little over 49% of developers are below average. It's a given that everyone wants the best, but not everyone can have the best. That's not how best works. [A few above average developers over at Hacker News noted that we should have said median not average. They're right.]

Second, and more seriously, silly titles discourage developers who evaluate themselves honestly from applying. According to the well-established Dunning Kruger effect, the best developers question their abilities. They know what they don't know often due to their T-shapedness:

Valve Handbook for New Employees: people who are both generalists (highly skilled at a broad set of valuable things—the top of the T) and also experts (among the best in their field within a narrow discipline—the vertical leg of the T)

Their breadth of development knowledge exposes them to topics they realize they could know more about. And their depth of knowledge in a specific area helps them understand how deep expertise can go in areas they don't understand as well.

These types of people gererally apply a healthy dose of self-questioning when they see a job post. Don't make them feel like they're wasting time talking to you if they don't think of themselves as stellar developers.

How to do better

 Job titles do matter. However inadequate, they're essential in the UI of most job platforms. There's a good chance the title will be the only thing a job seeker reads.

Try to convey only what you're looking for and avoid synonyms for "good". When you're thinking of the title, picture an employee saying it to someone else. Hearing someone say, "I'm a stellar developer," or "I work as an ace developer," is ridiculous.

Instead, try expressing a piece of your culture or mission: dog-loving hacker, activist developer, foodie web developer

 Or something about your development process: generalist software engineer, creator of performant & maintainable code, quick-and-dirty hacker

Or how your team communicates: team-oriented developer, remote engineer, self-directed coder

Pay attention to the body of your job post too. Watch out for phrases like, "we're looking for awesome developers to help us..." or "think you've got what it takes to...". Good software development is multidimensional, and what is good at your company may not be good at another. A few questions to consider:

  • Do you need a specialist or a generalist?
  • What specific areas do you need an expert in? Can you afford a specialist?
  • Do you want a technical person who cares more about the business/market challenges you face or do you want someone who cares more about the technical challenges?
  • Do you want someone who prefers quick, practical, "good enough" solutions or do you want someone who prefers to take their time and do things more maintainably or scalably?
  • How should developers at your company differ from developers at other companies? (hint: the answer is not just "be better")

About Hirelite

Hirelite runs "speed interviewing" events over video chat to connect software engineers and companies hiring. If you're looking to evaluate the software job market or looking to hire, check out Hirelite.com. We have upcoming events focused on NYC, SF, and purely remote positions.