In the desperate fight to recruit engineers, start-ups and major companies alike are trying to spruce up their job descriptions with titles like "Code Ninja" and "Rails Rockstar." It turns out that, by and large, engineers aren't fooled by this. If anything, they're turned off by this language.
Cute things like Ninja make me think I'll be working with idiots and hipsters. [Start-up Employee]
Personality is cool, but "ninja" is such an overused term that it decreases personality rather than adding it. [University of Washington Student]
I dislike "programmer" because it implies work consisting of only programming, as opposed to design and algorithmic aspects. "Code ninja" is a beautified form of "code monkey", which is bad for the same reason as "programmer". Titles like software developer are more general and more neutral. [Student]
The company shoudn't force cool on its job descriptions. [UC Irvine Student]
Ninja / Rockstar / whatever just sounds immature. Have you ever heard someone outside of technology refer to themselves as a Ninja? [Anonymous]
Ninja and Expert are sometimes outside a new grad's reach! So I hate it! [NC State Student]
I conducted a survey of 200+ software developers, asking them their thoughts on different titles / labels in job descriptions. Each person was asked to rate the following titles on a scale from 1 to 5, with 5 being the best.
The specific question was this: Suppose you see "we're looking for a _____________", do you like it or hate it (the title / job name)?
- Programmer
- Software Engineer
- "Ninja" (Code Ninja / Java Ninja / Ruby Ninja, etc)
- "Expert" (Java Expert / Ruby Expert / C++ Expert / etc)
- Software Developer
People were also asked for their gender, country (US, India, or "Other"), and profession (Professional vs. Student). Note that the last of these was added after about half the responses had been submitted, and not everyone chose to answer these questions.
So what happened?
75% of coders like the term Software Developer in a job description; only 25% like "ninja."
Cool terms like "ninja" do not impress - anywhere.
Another way to look at this data is this: For every person who hates the term Software Developer, 11 people like it. For every person that likes Ninja, 2 people hate it.
Why are some titles liked more than others?
The titles tell you something about the job itself.
- Software Engineer / Software Developer: As the official title given at company, these terms are largely neutral and synonymous with each other. They're not "flashy," but you can't really be turned off by them. It is what it is. Only 8 - 11% of people reported hating those terms, and in almost all of those cases, there was something wonky about their response (giving 1s to all or almost all of the choices, etc).
- Software Developer is just slightly preferred over Software Engineerin India, but there's little difference in the US. Software Engineer may have more of a "science-y / advanced" connotation to it, while Software Developer sounds more practical / real-world. The data here is really too close to tell much more than it doesn't matter much.
- Expertis preceded with an expert in something - java, rails, etc. If you're looking so much for someone who's a Java expert, it suggests that you might be one of those people who doesn't understand that a good engineer can pick up a new language quickly. And if you don't understand that, do you really respect engineers? Is your current team talented?
- Programmersounds like code monkey. Developers are advised not to call themselves programmers, and you shouldn't call them that either.
- Ninjais perhaps the most debatable term. Not surprisingly, it had the highest variance in responses compared with any of the other job titles. Some people love it; it's the new hip term. For precisely that reason though, some people hate it. It's too trendy, and it sounds like you're trying to be cool. You're the kid wearing the clothes that some magazine told you was "in style," not realizing that everyone else is looking at you kind of funny. But hey, some people still think it's cool.
How Gender, Profession and Country Matter
The good news is that
every group
reported the highest satisfaction with the terms
Software Engineer
and
Software Developer
. But why are some groups a little more comfortable with terms like
ninja, expert
, and
programmer
?
- Womenare statistically more likely to be turned off by job descriptions featuring competitive language (note: "competitive language" is not the same thing as "competitive jobs / careers"). And you don't get much more competitive than terms like ninja and expert. In fact, here's a great story: "In 2006, GNOME received almost two hundred GSoC applicants – all male. When GNOME advertised an identical program for women, but emphasizing the opportunities for mentorship and learning, they received over a hundred highly qualified female applicants for the three spots they were able to fund."
- Students and Professionals differ little, interestingly, with the exception of their feelings on ninja. The relative youth of students probably makes them more accepting of hip / trendy terms.
- Indiais considerably more accepting than the USof the terms ninja and expert. I'm not an expert in Indian culture, but this might suggest a greater focus on competition. India also doesn't like the term Software Engineer as much. Anyone who knows a bit more about India care to explain this?
Conclusions
So yes, country, gender, and profession matter - a bit - but generally, coders are in agreement.
Programmer
makes you look like you want a code monkey.
Ninja
is (too) trendy, and may also turn off many women (and some men) due to its "competitive" language.
Expert
may suffer from both the competitive issue and from the code monkey issue. But
Software Developer
and
Software Engineer
? Those are perfect in their neutrality.
So go ahead and jazz up your job post with
ninja
if you'd like, but don't be surprised if you turn off women, more experienced people, and anyone who rolls their eyes at flashy or ultra-competitive terminology. Me? I'll stick to calling people what they want to be called - a term no one can really hate:
Software Developer
.