Software Engineer Job Description – Read This Before You Write One

October 29, 2020

A software engineer job description doesn’t always accurately represent a company’s internal needs. 

The job description should not be taken lightly by HR nor the hiring manager. It should not be repurposed from a prior job posting, either. 

A successful and clear cut job description will represent your needs as a company. It will also determine the type of talent you’re going to attract. 

Click here if you prefer to read the script rather than watching the video!

So, Why Do Companies Have Issues With Writing an Accurate Software Engineer Job Description?

Just because you create a job description for a “software engineer” doesn’t mean you’re going to find the right talent.

You’ll probably receive dozens of resumes from unqualified candidates that have “software engineer” listed somewhere on their profile.

This doesn’t necessarily equate to them having specific technical skills that are required for the position. 

As a hiring manager or HR, you should move beyond just the “software engineer job description”. You will need to list out the priority needs, necessary skills, and soft skills. All the extra information after that. 

Eliminate any unnecessary skills and only list the ones that meet the requirements of the job. 

Sometimes a job description ends up not doing its “job”, and it doesn’t represent the full picture. So, that’s the number one problem that companies are dealing with. 

The software engineer job description will be the first thing candidates will look at before interacting with your company.

The tech space is already saturated with competing companies looking for top-notch software engineers. Your software engineer job description needs to stand out by accurately connecting with applicants. Displaying the challenges that the candidate will be solving in the role is key to attract top tech talent

The job description is an important asset in the tech space due to the vast amount of technologies, responsibilities, and niche specialties in the market. 

By connecting with so many candidates in this niche space, we have learned that most of the time, candidates have similar motives. They might leave their prior position not necessarily for better compensation, but for the opportunity to be a part of a challenging, exciting, and larger opportunity. 

According to the Data & Analytics salary guide, 80% of the tech workforce is open to leaving their current role if the right opportunity came along. 

Understanding The Hiring Need 

Part of our success when placing top tech talent in a role is to first figure out the company’s needs instead of simply just filling it. Are you willing to take the company to the next level? 

Time is money.

The next thing to consider is figuring out the type of work that needs to be done to get to the next step. 

Is this a new position? Or to fill someone who just left the company? Is it a contract or permanent to fit the needs of the company? Based on that, you can then break down the software engineer job description to include technical and soft skills. 

As an Engaged leading technical recruiting staffing agency, we work directly with tech candidates. We have built a robust talent network. We always ask tough and important questions to really iron out the specific details of a job description.

When we get into a conversation with a candidate, we try to identify the candidate’s motivation for pursuing a particular role. This gives us more information about what it is they’re looking for (beyond the job description).

We put on our niche specialty thinking hats and ask ourselves the following questions: 

-Are they looking for more money or career growth?

-Different environments? 

-Are they not satisfied with their current company due to a lack of growth or opportunities? 

We start digging until we understand the needs of either a client or candidate and then we start the magic recruitment matching process. 

Ask The Right Questions to Create a Successful Software Engineer Job Description That Reflects the Company’s Needs

Asking the right questions can greatly transform and improve the craft of the software engineer job description.

If you’re asking the one in charge of asking questions specific to the software engineer job description, you might encounter the following scenario:

-You need a software engineer with 8 years of experience who has Scala and C++ languages as their strong suit. 

-On the other hand, you have someone who doesn’t quite fit all the requirements posted in the job description. This particular candidate has a strong background in coding languages and a proven track record.

Now ask yourself this: 

If a prospective candidate with 6 years of experience checks all the boxes, are you willing to interview them? If not, are your expectations realistic?  Would someone with 2 extra years of experience make more of an impact? 

The initial conversation with a candidate can also help you better understand what they are looking for and why.

Don’t Focus on The Title of The Job Description

Every hiring manager wants to retain and attract the best talent for their team. After all, who would complain about candidates with extra skills on top of the skills listed in the job description? 

Many of the jobs we help place have interesting requirements. Here’s the thing: Titles aren’t always the most important part of a job description. But, unfortunately, many companies and candidates take it seriously and believe they are looking for that particular role when in reality, it’s something much more specialized. 

Keep in mind that the title doesn’t always represent the company’s needs. 

Sometimes, software engineer job description titles might be misleading or actually belong to another role within the company. If a company hasn’t done a good job of figuring out their needs, the job description will reflect their inefficiencies. 

So what is really the need?

For instance, a job description for a software engineer role might actually align more with the need for a software architect. In reality, the company could be looking to fill a software engineer role that is specialized in certain technologies more aligned with a software architect. The title, therefore, could be misleading. 

Get Specific – But Not Unrealistic.

The mix of technical and soft skills is an important element to add to the job description. Take the time to sit down and figure out what it is the company is looking for in the role. 

The shorter the job description, the better. You don’t want to overwhelm the candidate with a list of unrealistic criteria. Most of the time, you won’t get a candidate that checks all the unrealistic bullet points of your job description. 

The key to writing effective and accurate job descriptions is to be as specific as possible without making the description too long. 

For instance, if you want someone with specialized experience, state it. 

If you want someone with “so and so” years of experience, state it. 

Also, try to open up the gap and be more flexible. Stay open-minded so you don’t miss out on quality candidates. This means sacrificing the strict “7-years of backend dev experience” and going for a candidate that might only have 5. 

Make sure the hiring manager is the one to write it

At Focus GTS, the number one value we bring to the table is our network. The reason we are considered market experts is because we work with top-quality candidates (browse our talent vault).

Often, we will come across companies that post job descriptions for engineers with experience in Linux or other types of technical infrastructure. After posting them, they end up getting bombarded by resumes from unqualified candidates. Posting a job description without truly understanding the company’s specialty role needs is not realistic. 

Oftentimes we see that many job descriptions end up being pushed or assigned to HR or someone who might not know what the hiring manager really needs. They don’t know and they don’t ask. That’s why having a specialty partner that understands the company’s needs and is plugged into the tech market is the right person. 

We’ve seen job descriptions that require the candidate to be well versed in a number of programming languages and software that most might not use on a daily basis. Plus, the process becomes even more confusing when job descriptions end up asking for unrealistic skills and requirements that would be a better fit for another separate description

For instance, one job description might require a candidate to have both data analyst skills and data scientist skills. But then, they’d also need developer skills as well. This can confuse and deter candidates from applying. Or, you might deal with the issue of being bombarded by candidates who don’t fit any of those skill sets. Be realistic and understand that it is rare to find a candidate that is proficient in every expectation or skill set you list out for one job description. 

Align yourself with an expert at Focus GTS. 

00:09 [Mauricio]: I like to put it like this. I don’t just fill roles. I partner with you to get your company to the next level. The only way you’re going to make it from a 10 person startup to a hundred-people-billion-dollar-company is with key people in the key roles. And the only way to get those people is to partner up with someone who understands your needs.

00:32 [Aziza]: We are here today with Mauricio Montaldo, our Specialist Recruiter specializing in placing really really talented developers. So to start off with today, I want to start off with a question to start off the episode. If you had to choose one place in the whole entire world and you could teleport to right now, where would it be?

00:55 [Mauricio]: Greece.

00:56 [Aziza]: There you go. Where in Greece?

00:58 [Mauricio]: Santorini.

01:00 [Aziza]: Santorini. Right now you’re on the beach in Santorini.

01:02 [Mauricio]: Yes.

01:03 [Aziza]: Perfect. Love it. So what’s the problem with the job description?

01:08 [Mauricio]: So a lot of the times, the job description is not exactly a representation of the need of what the client needs or has. So I would say that’s the number one problem. That pretty much you just. They’re just putting together some things to just throw a job description is so they can start getting resumes.

01:29 [Aziza]: How do you push past this with the manager? How do you communicate this being the middleman?

01:35 [Mauricio]: So, it’s not easy. Obviously, right? Everything’s time, so time is money and everything. Everyone’s trying to do this as quickly as possible. The number one thing is to have a proper conversation and fully understand the need for that manager in that role. Sometimes they do push back on the manager and I’m like: “Look, is it okay if we can rewrite the job description? Is it okay if we can add things to the job description or take things out of the job description?”.

02:02 [Aziza]: How do you determine the need?

02:03 [Mauricio]: First off is understanding the company. So what they do. Once you understand what the company is doing, then you can break it into the actual manager. What is their part in this whole piece? And then once you understand that, then you ask them, okay, “So what is this role? How this role came in? Is this person going to be filling a position that someone left? Is this a new position that came in? Your team is growing? And then based on that, then you can start breaking it down to actual technical skills, soft skills. Some people prefer to contract. Some people prefer permanent. You know, so those will be like the number one thing to start thinking about.

02:48 [Aziza]: Do you have any examples of stories on where the job description wasn’t it, and then they didn’t want to change it? And then you went in and you were like, okay, this is how it’s done.

02:55 [Mauricio]: One that I remember the most, it was insane because I actually told the manager, “No, you need a DevOps that can be also a developer, not a developer that can do infrastructure. So I flipped it on the manager and I was like, and I send them people that I knew can do both things instead of what the title was. The problem here was the title. That’s also a different problem that I see. They give you a title. They’re like, okay. So we’re looking for an Engineer when they’re really looking for something else.

And then, if you send that to someone that doesn’t know, then there’s going to be just searching on people in the title and that’s already a misunderstanding. So that’s why it’s so important to understand why they need it, then they give you the job description, the title, and then you can do the search on. I actually, sometimes I don’t even put the title they gave me. I put a different title.

03:56 [Aziza]: Yeah.

03:57 [Mauricio]: Not all the time, but sometimes, you know? Yeah. And I’ve seen that happen. They’re like, “Okay, so we’re looking for a Back End Developer” and you’re like, “No, you really need a Full-Stack because you also want the person to understand front-end technologies.

Sometimes this is pushed to HR. This is pushed to someone. And then that’s why having a partner that understands the need is the one that is going to help you get your company to the next level. I like to put it like this. I don’t just fill roles. We partner with you to get your company to the next level.

The only way you’re going to make it from a 10 person startup to a hundred people billion-dollar company is with key people in the key roles. And the only way to get to those people is by partnering up with someone that understands your needs.

04:49 [Aziza]: Exactly. Couldn’t have said it better myself. So what types of questions would you ask somebody when you’re really trying to dig deep and figure out what is it that they really need?

04:57 [Mauricio]: When I get in a conversation with a candidate, one of my first questions is watching motivation on looking into something new. That tells me right there what is really what they’re looking for. You know, are they looking for more money? Are they looking for growth? Are they looking for just a different environment?

They’re not happy in their current company? Why they’re not happy? “Oh, I just gotta get outta here” Okay. Why? “Oh, you know, I just have problems with the company”. What type of problems did you have? So that’s when you start digging in, so you start fully understanding what motivates that person. And then based on that, once you really understand the need of the client, that’s when you start matching. Understanding the needs of the client or the candidate and what motivates them.

05:41 [Aziza]: Right, and then you have like a backlog of candidates in your brain of like, if I say I need JAVA developer, that’s perfect and this and the other and he’s from there. And then he’s willing to relocate. And this is the pay. You’re like, I have the guy. How do you do that?

05:55 [Mauricio]: Well, it’s years of experience, I’ve been doing this for close to six years. I’ve been working in all the different technologies all across the United States. I’m always getting up to date. I’m always talking to the same people. So I create all these connections with people that. They text me. I text them, “Oh, look, I’m back in the market, I’m looking for something else”. So I’m always on top of the people that I’ve been able to create a really good rapport and just stay connected with them.

LinkedIn helps a lot. That’s why they say the network is everything really networking is everything. The more people you know, the more jobs you feel, the more clients you help, then, you know, the more your network just becomes massive and massive. And I can literally just get on my phone and I can talk to people that I placed three years ago. And that’s why I have the ability to just connecting people with opportunities.

06:53 [Aziza]: Yeah. That’s how you build up the skill set. That’s really amazing. Yeah. The final question on my end would be what is your advice to the hiring managers writing job descriptions? Especially for a critical role.

07:05 [Mauricio]: So job descriptions can be lengthy, they can belong, and can be boring. I think the shorter and most precise is better than just something big and just. We’re looking for this unicorn. We’re looking for all these things, and everyone knows that you’re not going to get someone with all those things. Most of the time, you don’t get someone with all those things, when the job descriptions are huge.

I will say, these are the key components. We’re using this. So we want someone that is using this or that has experience with this. Sometimes they’re like, we need people with seven years of experience. Okay. Well, what happens if you find a rockstar with five years of experience. Would you be open to it? So also. Try to open up the gap. So you don’t miss other great candidates.

07:48 [Aziza]: That’s awesome. So opening up the gap. That’s interesting. So when you have a conversation, like, “I need seven years and they need this. And the other. You’re like what happens if it’s with five years, and then you have a little bit of this, then a little bit of that, would you be open to it?

So then that just puts them in a different mindset, makes them think differently. And they’re like, “You know what? I would be open to it. That’s actually not such a bad combination”. So that’s a great skill set to have because of thinking on the fly. And being able to identify other candidates. You’re like, I already know what’s out there and you already know what’s realistic and what’s not.

That brings you as a valuable resource to them as well, because on the spot right there, you save them so much time already.

08:23 [Mauricio]: Exactly. And the number one thing I would say the number one value that we bring in is our network. Our network, literally. I see companies posting. They’re like, okay, so we need an Engineer with experience with Linux and any other types of infrastructure. And then you see the people that apply and you just get a bunch of people all over the, all over the world, applying for positions that are not sometimes realistic. So when you talk to someone that actually is connected and knows what everyone is doing or the market is doing, then you know, it just becomes easier to make that connection with the right person.

09:03 [Aziza]: Definitely. So networking, connections, everything. Yes, that’s perfect. Thank you, Mauricio, for coming to the show and we’re so excited to have you. We’d love to see you again, share your expertise in the market. I’ll be here. Sound good, all right. Have a good day. Thank you, bye!