On Job Titles: Juniors, Roman Numerals, and the Elusive “Python Architect”
As I spent the last week of 2015 updating some database records on my candidate network, I began to notice various job titles and how the industry uses a variety of naming conventions for people who ultimately do similar things. I’m sure this isn’t exclusive to technology, but there are industries that appear to have more defined terminologies.
Junior Software Developer (or Engineer, Sysadmin/etc.) — What is the benefit (to anyone) of including the term Junior in a job title? When we post open jobs, using the word Junior is valuable to discourage those who will be seeking responsibility and/or compensation well above the level the job provides. But once someone is in the door and hired, doesn’t the Junior title do more harm than good. A team member with the Junior title might be more responsive when pitched jobs that don’t include Junior, with the thought that it is a step up (even if the repsponsibilities and compensation are identical).
Couldn’t we just use the title Software Developer without the somewhat demeaning prelude, and then use more positive terms to reflect seniority?
Roman Numerals — The use of Roman numerals to indicate seniority seems to be exclusive to the enterprise monoliths, and I’d hope that some of these firms would reconsider their titles. I’ve never personally seen a startup or even mid-size company that uses them.
The numerical use is particularly unfortunate when common criticisms of these organizations are phrased “you’re just a number at $COMPANY”, as the concept of being unimportant to an employer is directly equated with numbers. The use of numbers allows for many specific levels within one job title, which primarily seems to serve in limiting an employee’s ability to negotiate compensation. “We can’t pay you $125K until you are Architect IV. You’re only Architect II.”
Where are the Python Architects? — The Architect title has always been a bit of a hot topic. When my business was focused entirely on Java and my clients were larger firms, I saw it every day. Now that I work mostly with startups (most not choosing Java as their primary language) it’s rare that I hear the term from job seekers or hiring clients, except as a verb.
Architect means “I don’t write code” to a segment of the industry, which some seem to translate to “I’m above writing code”. I believe this is the ultimate source of any controversy about the title, and it’s obviously not the case for many who do code or at least don’t feel they are “above” coding because of their title and status.
I rarely (if ever) see the title Architect used in combination with a language or platform other than Java or .Net. (ASIDE: Almost half the 6K Google hits for “Python Architect” go away if you ignore the hits for the Monty Python architect sketch.)
Ninjas and Rockstars — It seems the industry has finally moved away from these references, thankfully. The connotation was often negative and the terms today probably scare away more applicants than they attract.
“Junior” may also encourage people to apply for the job when they are just breaking into a new technology, or recently graduated, or otherwise not cocky enough to feel they fully fit the non-junior form of the job title yet. Maybe that’s a good thing. I see LOTS of people hesitating to apply for a job with a long laundry list of required skills, just because they feel weak on one of the skills. Maybe this combats that hesitancy? Personally, I like working for companies that hire some “junior” people because the company and the employee are both admitting right up front that they don’t know everything. So, it’s natural to settle into a cooperative “let’s all learn from each other” environment. If everyone thinks they are “senior”, sometimes egos get in the way, and sometimes the company doesn’t budget time for cross-training.
Valid points. As opposed to using the word “junior” to encourage an applicant that doesn’t check every box, I might encourage companies to try and simply express their flexibility and openness for hiring people with diverse backgrounds (“We don’t expect applicants to know all of – or even most of – the listed technologies”). A senior dev that doesn’t meet all the requirements may not even click on a listing with “junior” in the title.
I share your appreciation for companies that hire junior level devs, and calling them “Software Developer” instead of “Junior Dev” could solve at least a couple problems.
Thanks for commenting.