About Job Descriptions for Software Developers and their flaws. There are good and bad examples but sometimes they're so "creative" that you cannot ignore them, and I might have some suggestions for the creators.

Job Descriptions Done Right, Almost

About Job Descriptions for Software Developers and their flaws. There are good and bad examples but sometimes they're so "creative" that you cannot ignore them, and I might have some suggestions for the creators.

Thu Jul 22 2021

15 min read

1

Before things are getting out of control let me begin with a disclaimer. I understand the situation that happens right now in the world, I acknowledge there are people that are in a hard financial situation and what I'm about to discuss further might look snobbish or pretentious when considering the working field I'm going to touch, but trust me, if you think a bit more about it you might also agree with me that today, referring mostly at the Engineering and IT fields, job titles as well as requirements are transitioning from the meme state to the cringe state!

The reason why I'm writing this is that I recently found in my feed complaints from both HR and candidates about the recruiting process and I want to give my point of view as a possible candidate, with the good and the bad, having also an HR point of view is essential to try to get to the source of the complaints and acknowledge the reason of the complaints from both sides, if you know a legit article such as this, written from the HR's point of view I encourage you to send it to me.

The Recruiting Strategy

As a DevOps Engineer with some experience I usually get approached by recruiters either by email or by LinkedIn, everyone who works in my field knows this and can confirm. Now most of these cute young ladies (90% of recruiters) usually send a JD (Job Description) attached to their message, and I reached the point where I almost know by heart what the requirements are going to be because the requirements for jobs in my field of expertise are always the same, all!

Daily discussion within candidates and recruiters during an IT Job Interview

Daily discussion within candidates and recruiters during an IT Job Interview

And by all I mean you need to know and be able to do everything, from logic gates to advanced quantum physics and Qbits. But jokes aside, what I would like to also focus on here are the Job Titles that are associated with such requirements, because if the requirements are always the same, the job titles are mutants, overtaking any dictionary word or meaning and so becoming meaningless.

Can somebody help me explaining my family that I'm working as a DevOps Engineer? Because I still wasn't able to, seriously when they heard this they thought that I was on drugs. Now DevOps it's still a soft term, the hard thing is when you're presented a DevSecOps Data Cloud Engineer with Kubernetes role, take this, illiterate!

Of course, the more information about the actual job is provided the better, but usually, it ends with a bullet point hell of tech stack and requirements as if you were a manager with 20+ years of experience that almost always include everything that the so-called DevOps is actually up to, even though you'll never end up using such technology if you get the job.

Job Descriptions Done Wrong

So here is the first one I want to analyze, it comes from a big retail company in Europe:

This is the bullet point hell I was referring to before, too many requirements and no salary or compensation presented

This is the bullet point hell I was referring to before, too many requirements and no salary or compensation presented

That's it, nothing else. I didn't even get the name of the Client after asking twice! No benefits, no info about the schedule, remote... I kindly asked for these information but didn't receive anything about benefits or remote working, it ends up they were seeking for relocation in another European country, what a great moment in history to drag across the continent Software Engineers that can fully do their job remote, scrapped.

Just imagine someone reaching up to you and throwing in your face all those Expected Technical Knowledge and more dangerous Responsabilities you should take on without any compensation in change, am I supposed to even consider committing to something such masochistic?

I don't have suggestions here, a .docx file made on the go without any information about the above mentioned is not even to be considered.

Fake Benefits

This other JD coming from a Bank has many "benefits", or at least that's what they're claiming because few of them are benefits, not for such role that often comes with remote work.

Above these "benefits" it's again a bullet point hell that might as well fit an entire IT department

Above these "benefits" it's again a bullet point hell that might as well fit an entire IT department

Let's break it one by one:

  • Flexible working schedule: It's good to know but for today's standards this is mandatory, also will require back to the office which is not desirable by the majority
  • Extra vacation days: Yup, 1-day vacation more per year after 10+ years of service will make me consider you in front of the other recruiters
  • Online well-being program: I'm having a hard time thinking someone's about to use such a thing but fine, I'll take it
  • Cool community: Not a perk, nobody wants to work with toxic people and this is also considered mandatory by default
  • Online Tech Neighborhood: Filler, but if you read it twice it means nothing
  • Relaxing environment back at the office: This is fine but again, mandatory, you're assuming other places besides yours have stressful environments
  • Various benefits: These are fine, it's something that you might have or not but it's your choice
  • Enjoy your monitor and chair from the office at home: This is something every company does if their employees are local, but I'll take it, it's good

At least they made an effort to include the Benefit and Rewards section in the post, most of the time this is absent entirely, they just ask for requirements and expect to have candidates that will waste time with their meetings and discussions without any assurance, the 30th time this happens I guarantee it's not funny anymore. Considering also that interviews have to be done during your working schedule at the current company, makes it difficult to include them within your meeting/working hours and also requires a shift in focus from the current task you're working on, to the interview itself.

There are many others besides the above "offers". Another example comes from an IT Outsourcing company that proposes the following:

The requirements and the offers, I think I'll go get a beer, I'm thirsty

The requirements and the offers, I think I'll go get a beer, I'm thirsty

  • Competitive Salary: This doesn't mean anything besides "We don't want to tell you how much we pay yet"
  • Onsite/Remote: Mandatory but fine
  • Exposure to Leading Global Organizations: You mean so that I have more chances to share my CV to then dump your company?
  • Continuous Personal Development: My personal development depends on guess who, me. Projects can be initiated also by individuals not just by companies
  • Opportunity to Train: This sounds more like another requirement, they masked it with the "opportunity" word

Freelancing Requests

More often than a couple of years ago, the freelancing offers that are sent by companies are rising. There is nothing much different between these and the contract-based offers that I presented till now, the only exception is that requirements are even more absurd. These 2 JDs have been sent to me by a Recruiting Company HR and again, they are way over my actual skill level, still making me wonder how HR does its job, is spamming to everyone the job a thing or I'm just overthinking it? But I have to admit that even I don't know anyone who might be a genuine fit for such a thing, maybe an entire department at IBM.

The first one it's for a so-called Cloud SRE Expert whatever the hell that's supposed to mean, and has the following responsibilities:

Basically, you're in charge of the whole Cloud Architecture, including on-call shifts that might be a real pain in the ass even in L3 Support

Basically, you're in charge of the whole Cloud Architecture, including on-call shifts that might be a real pain in the ass even in L3 Support

While the requirements for such role are again something that I think is exaggerated overall, you might split this JD into 3 separate roles and present them to 3 individuals because such heavy load, done right, for one soul is just too much to handle within 40hr + 4Hr On-Call of weekly working schedule.

The description of the entire Cloud and SysAdmin Department of an average company

The description of the entire Cloud and SysAdmin Department of an average company

As always there is no benefit, pay, or any useful information, just the bullet point hell that I love so much I'll have to buy myself a bulletproof vest (boomer joke but sadly true). Judging by the > 5 years for the professional experience in general in IT, along with the > 3 years requests for DevOps field expertise I understand that this should be addressed not even to seniors but to head of departments or managers or other job titles that are way over mine, just as a reminder that for a total of about 8 years experience requested, I only have 3+ years yet this JD was sent to me. Seriously, it's this happening because there is a lack of competent people on the market or because their approach to candidates is total trash and they get ghosted for good? I think both.

The second JD context along with some requirements of what you're gonna be doing in such a position at the company

The second JD context along with some requirements of what you're gonna be doing in such a position at the company

The second JD coming from the same source was about a Data Engineer / Data Developer MS SQL to work as a contractor (B2B – through and SRL or PFA), for an undetermined project role. I'm not even joking here, the undetermined project is my favorite part, what the hell is this supposed to mean? Let's find it out by reading the only thing that is presented here as well, requirements!

Unusual requirements and also very vague, you don't get what exactly their stack is made of but you're required to kinda understand this from yourself once joining the interview

Unusual requirements and also very vague, you don't get what exactly their stack is made of but you're required to kinda understand this from yourself once joining the interview

Strange enough, this JD looks more like a Scrum Master or something along those lines, no specific tech stack is required besides the MYSQL from the job's title but instead, there are some unusual requirements such as the Finance/Risk business understanding, I think they may want to merge the Cloud with the whole business process, this can be confirmed by the responsibilities that include also making technical and strategic decisions. Anyway Data positions are not of my interest but I assume this is how the average JD looks like.

Looks more like a Manager's job, but ok, maybe I'm still a noob and I just cannot see that far yet

Looks more like a Manager's job, but ok, maybe I'm still a noob and I just cannot see that far yet

Providing The Salary

You may notice in the above example that it's missing the one and most important benefit that employees require (and it's missing from all JDs), the compensation! There are many reasons not to publish the compensation publicly for companies and I respect this. The problem is when a company takes the initiative to contact an Engineer and still not providing this information in the JD. If it were for me to knock on a company's door I wouldn't pretend them to give such sensitive information without testing my skills, but when companies knock at my door and ask me a bullet point hell of requirements with fake rewards but the salary, what do you think I'm supposed to do?

The reaction of someone reading job titles and realizing the clock shifted 1 hour in 1 second

The reaction of someone reading job titles and realizing the clock shifted 1 hour in 1 second source

Attending days or sometimes weeks long interviews with HR, Department Manager, CEO and so on is a waste of time that nobody can afford in order to discover at the end that the budget allocated to such position by the company is half your current salary (or just being ghosted without even this information). If such detail would have been provided from the beginning, developers would either attend and sacrifice their time for the position, either won't because they know the salary is not within their expectations.

This would avoid time waste from both sides but still, no company does it. I usually end up asking the HR in the first reply to their messages but my luck strikes just once per ten tentatives, if a company is needing urgently to occupy a development position and is not even willing to provide the compensation (in private) to candidates they reached up to, it means by their seriosity that it's not something worths working for.

The Unwritten Rules

There is this myth that is more a reality that not all that is written on a JD is to be considered mandatory. I find this annoying because the premise is to try to reach as many candidates as possible to find the best fit, both skills and benefits requirements based and I'm fine with this, what I don't like is when this strategy just wastes everyone's time to just cherry-pick the top of the top. If you need something from a candidate put it into the JD, otherwise don't.

I've been presented more than once with JDs that were expecting at least 6+ years of experience from the candidate when I asked why such a position was offered to me that I have 3+ years of experience at the time this post is written, they answered that the requirement is more sort of a path, and I didn't have to respect them all to get the job, this sounds like bullshit to me, just because you don't find candidates for whatever reason you can't just resent the JD to everyone until someone falls into the web, fishing like this is inefficient and you might end the day with an empty stomach, as it's happening it seems.

By this logic, if requirements are a path I am also feeling entitled to cheat and lie on the interview and my resume, something that is wrong morally and doesn't benefit anyone but it's exactly what some recruiters are encouraging.

When the requirements tech stack is so overflown that you can't process any exotic tool/procedure name anymore

When the requirements tech stack is so overflown that you can't process any exotic tool/procedure name anymore source

If you don't find candidates for a JD you should review it, make sure no exaggerated requirements have slipped in and remove them or adapt them, lower the bar to less experience years or cut the useless stack tech requirements that are not going to be de facto used within the project development and you might at least get someone to attend your interviews.

Fun Fact That's Not Funny

A couple of months ago when I disagreed with crap offers explaining also the reason why recruiters sometimes asked me if I don't have a friend or maybe if I knew someone who might be interested in taking the position I just refused. Seriously? If the job description is a joke no wonder nobody wants to commit, and for sure I wouldn't advise a friend to take such a thing, how much of a jerk do you think I am?

Now their strategy has changed, asking from the first message that in case I'm not interested if I might know someone who might be. If the job description is legit of course I'm going to reference someone that I know would be a good fit for a good JD, but holy buckets, such valid JDs are one in dozens.

Tips For Awesome JDs

A friend of mine once said that we are mercenaries, we solve problems in exchange for money, even though I argued with him this is not the case, I now realize that he was right. That's exactly what we are. Of course for today's social standards we are not soulless rude individuals without feelings, but at the end of the day, if you're someone in charge of writing JDs for an open position at your company, and I at least hope you're the head of the department the JD is related, these are some tips from a possible future candidate that you might consider before sending it further to HR to be presented to the candidates.

What companies and candidates both want to achieve, a working agreement that respects each other on both sides

What companies and candidates both want to achieve, a working agreement that respects each other on both sides source

  • Include the company name and information within a couple of lines, just to get an overview of the environment devs might be working in
  • Make reasonable requirements, 14 technologies to be known across Cloud, Backend, Databases, Protocols, Monitoring and sometimes also Frontend for a DevOps Engineer is madness
  • Instruct HR not to reach to candidates for which the lever of experience is not within your requirements, at least not double the requirements
  • Include the budget range that the company is willing to assign for such position to avoid wasted interviews and attract genuinely interested candidates at the same time
  • If you can offer some useful benefits you may include them as well, something like medical insurance, meal tickets or services discounts
  • Avoid the "we are a big family" crap, as I stated before we are mercenaries, if you treat us with respect we'll also do the same, no matter the context

Always remember that everyone has a life, social interaction, team buildings, and funny Friday with fruits and pizza is something everyone can organize within his social group, a job is associated with work, and if a company decides to promote its working environment with minor perks such as those just mentioned and instead stays silent about details that matter in such an environment, it won't be considered professional in the long term.

© Șerban Mihai-Ciprian 2021 • All Rights Reserved

Terms and Conditions Privacy Policy