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.

18 responses
I do not feel like a "rock star", "awesome" or "incredible" software developer, but I know my job very well, and know my responsabilities. That leads me to stay learning continously, which I think is more valuable than self-made descriptions... still I want to learn prolog (for example).
Yes, agreed. Thank you.
> First, sorry to break it to you, but a little over 49% of developers are below average.

No, probably not, that's not what average means.

> First, sorry to break it to you, but a little over 49% of developers are below average.

No, that's not what average means.

"but a little over 49% of developers are below average" Are you sure about that ? (hint: statistics-101).
"but a little over 49% of developers are below average"

Nope.

I wish more companies would heed this advice. The article is spot-on and also can be applied to systems administration and network engineers.

I've responded to ads asking for either "ninjas" and "rockstars", both completely subjective and therefore meaningless terms.

Companies that are looking for miracles need to understand that the hiring process is a two-way street and not be looking for a self-described savior.

If you want to hire a "rockstar" probably you should "think outside the box", focus your "synergy", so you can "push the envelope" while "driving the bottom line".

"First, sorry to break it to you, but a little over 49% of developers are below average." Some are better than others at computing averages :P
"First, sorry to break it to you, but a little over 49% of developers are below average." Some are below average at averages -_-
Brilliant! I wish you were in Australia so I could use your services.

What is your opinion of posting non-job related perks in job adds, like "we have a pool table" ?

- James.

What happened to my comment? Why have this if you're not going to post them?
sheesh
FFS - Get over the % bit and think about the guts of what is being said.
Actually, average simply means a "central" summary statistic, and does not specify mean, mode or median.
For the 49% of commenters here who are obviously below average when it comes to statistics, the 49% statement can be correct. Average can mean mean OR median. Also, 49% can be below average if the distribution of scores is flat enough (platykurtic). Lastly, if a sample is normally distributed, then mean and median actually produce the exact same statistic (although the 49% would probably no longer be correct).
An assessment test of a programmer's ability (or any kind of job where skills are required up front) should be mandatory and common sense. Something like this would help people without college degrees get better jobs, it could help people who've self studied compete with people who have degrees.
@Daniel Molina - that sounds like a great attitude to have.

@Developer - thanks!

@Christos Porios, @Chetan, @ActualStatistician, @Bitwise, @Nicky.Kong.JR - you're absolutely right. I've added a comment to note it should be median above.

@Strasser - spot on. That point about miracle workers is a sentiment I see in a lot of companies. (sorry about the comment trouble - had some issues with my blog host).

@James - We're definitely considering Australia. How is the software job market there now? I think it's fine to post perks - especially ones that distinguish you from other companies.

@ITjobsdepot - Good point about assessment tests. One thing I find hard to balance with assessment tests is how much "hoop jumping" you make high-demand candidates do.

2 visitors upvoted this post.