I agree that self-evaluation is a poor filter. That being said... I know that I am not actually "awesome." From time to time I do something people tell me is awesome, but that's because I do a lot of things and once in a while something I try turns out ok.<p>But here's the thing: I've never been rejected for a job because someone said "Mr. Braithwaite, we advertised for awesome, and you are not awesome." Everybody seems to be in on the secret that "awesome developer" doesn't actually mean John Carmack, Linus Torvalds, and Andy Hertzfeld rolled into one with a side of Alan Turing.<p>So while I don't think of myself as awesome, I look at advertisements for "awesome developers" the same way I look at advertisements touting the "awesome team culture" and "awesome office location" and the "awesome potential to get stinking rich." I just ignore them.<p>This may not apply to everyone, but I'm sure that advertising for an "awesome developer" will still get you good people who have self-critical capabilities. They just have to be a little jaded and cynical. In which case, it may not lose you a candidate, but it won't win you any candidates either.<p>So I doubt it's seriously harmful, but I also doubt it's a great strategy.<p>p.s. Now that my secret's out, I expect someone is going to phone screen me one day and ask: "So, are you really, <i>really</i> awesome? Because if not, we're done with this call." And I'll have to 'fess up.
> sorry to break it to you, but a little over 49% of developers are below average.<p>I'm being nitpicky, but this isn't true (unless you're talking about the median).<p>I think developers follow a skewed distribution by most measures (prolificacy, quality), with something more like a power law distribution. If this is true, the majority of developers are below-average. A sobering thought!<p>The opposite is also possible however. If 90% of developers are equally good, and 10% are really terrible, then 90% of developers could be above average. If this is the type of problem your devs are solving, you shouldn't be paying top wages or trying to get "ninjas."<p>Nitpick aside, this is a great article about avoiding the wrong kind of self-selection in your applicant pool.
I wish more companies knew what they really wanted before asking people to come in. I am at the point where I am getting sick of sitting through three hours of clown questions that having nothing to do with the type of coding that I would use in production only to find out weeks later that it was all a waste because I am not what they were looking for. I understanding perfectly that I will not always be a good fit for the job, but go bother someone else if you want someone to jump through three levels of interviews only to decide that you want a different skill set.<p>PS Thanks for indulging me in this rant. This just happened last week and I am still a bit annoyed that I wasted that much time at a company only to find they wanted someone with a completely different skill set (ie RPG).
Since no-one puts up adverts saying<p><pre><code> "wanted - crap developer, poor time-keeping,
rude attitude and bad test coverage a must"
</code></pre>
then we are just going to have to put up with this.<p>It's just like job title inflation or real estate agent descriptions of property (You also never see "pokey little hovel for sale, noisy neighbours")<p>Just ignore the fluff, read the actual job and decide.
I must +1 this bit - nice idea, where self-selection actually works:<p><pre><code> 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</code></pre>
Regarding Valve's T-shaped employees:<p>When I first read Valve's employee handbook, I thought the T thing was a bad idea because it killed the chances of people who would probably be really good candidates. But after thinking about it some more, I see where Valve is coming from.<p>I spent the last decade working as a non-teaching/research faculty member in academia, where the T/R faculty members were (for the most part) either vertical lines or em dashes. The vertical pipes were world renowned experts in their fields, but their fields were niches within niches. They never strayed far outside of their comfort zones, and a lot of them ended up publishing essentially the same half dozen papers over and over for the entire span of their careers. The em dashes had broad knowledge across a large swath of subject matter and made great 1000- and 2000-level course instructors, but they never really became experts at anything and their research output suffered.<p>I do wonder how many potential candidates have been scared away by the publication of Valve's employee handbook and that image of the Heavy Weapons Guy, though. I certainly have. (I fear my T is too wide and not tall enough, so I don't even bother sending in a CV despite having a desire to work there.)
The best programmers I know continue to have a healthy paranoia and distrust of their own skills.<p>They understand how a small mis-understanding or mis-assumption can lead to inflexible situations beyond anyone's wildest imagination.<p>Most importantly, they are completely comfortable with the following phrases and using them very often:<p>- I don't know, let me look into it.
- You could be right.
This reminds me a phone screening that I self-sabotaged:<p>In the "skills" section of my resume I have a list of technologies that I have "limited experience" with, on which I have included C# and Python.<p>During the interview the interviewer started a question with "In C#..." to which I interrupted him to mention that my knowledge of C# was pretty limited. The question turned out to be a pretty easy question about OO (or something like that). The next question started with "In Python..." and I again interrupted him, only to have him ask an easy question about dynamic vs. static typing.<p>This is sort of the opposite problem, where I was so afraid of overstating my abilities to the point where I made myself look bad.
On a related note, when hiring, I often get candidates describe themselves as <i>very motivated, love learning new things, give out their 100% on every task</i>, etc.. Most of them never bother to finish and reply on a simple coding task I send as an initial screening.<p>So yeah, filler BS goes both ways.<p>(PS. Coding tasks in prescreening are contentunous topic. My
POV: if you don't have open source "portfolio" I can look at, and if you can't be bothered to spend an hour to potentially save both of us from a couple hours on an interview day, I don't want to talk to you anyway).
Amen. "Rock star" or "awesome" in a help-wanted post are code words for me, meaning that the hiring company or manager is a) a douche, b) woefully inexperienced, c) doesn't understand developers, or d) all of the above. I hit the "next" button whenever I see the code words.<p>I am an excellent developer with many years of experience, but I have never once described myself as a "rock star."
> "First, sorry to break it to you, but a little over 49% of developers are below average".<p>Nope -- 50% of developers are below the median. If I could hazard a guess I would say something like 80% of developers are below average.<p>I think the best developers tend to already know where they want to work anyway; the wording of job postings probably has little effect on these people.
I remember Barnes and Noble had a job offering that was looking for "rockstar developers to work in a start-up like environment." When the guy asked me if I were a rock-star, I said no. He ended the conversation right there.
The truly in-the-know companies would be advertising for meek devs, however meek devs don't test well with investors, which is really what this rock star business is about. It doesn't matter what the skills actually are, if the devs don't believe they are rockstars, it's difficult to sell them as such to investors.
Well known fact, low-skills people tend to be more confident
<a href="http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect" rel="nofollow">http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect</a>
I realize this is an issue of job listings as opposed to what developers are calling themselves (mostly..) but something that bothers me as a designer are the amount of portfolios that start "I build <i>beautiful</i> <i>hand-crafted</i> [user experiences, websites, pixels]," or otherwise bloat the person's talents right off the bat with words instead of examples. Maybe I'm being a jerkface here, but that type of language immediately makes me second-guess the person's capabilities (and usually, rightfully so). One's work should speak for itself and be the first thing someone sees when they come across the site.<p>I'd be interested in hearing what others think about this trend.
Surely someone here has posted a job ad asking for "<i>awesome</i>", "<i>rock start</i>", "<i>ninja</i>", etc. Tell us how it went. What kind of people applied? And did they really fit the description?
The use of superlatives in the job ad can work to your advantage when it comes to negotiating pay. If they want "awesome" devs then they should be prepared to pay "awesomely"....
As an addendum to your article on hiring "rockstars". A few weeks ago, I wrote a piece further highlighting how 'rockstar' is a broken metaphor in the development world, based on personal experience performing with rockstars on stage.<p><a href="http://news.nucleusdevelopment.com/2012/08/03/so-you-want-to-rockstar-developers/" rel="nofollow">http://news.nucleusdevelopment.com/2012/08/03/so-you-want-to...</a>