<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1621132604871265&amp;ev=PageView&amp;noscript=1">

Speaking to your hiring manager about an open position on the engineering team can be a true test of patience. Not only do they ask for someone with experience across all 47 technologies in your tech stack, but they should have industry experience (ideally with your biggest challenger) and be willing to relocate to your headquarters in the middle of nowhere. Oh, and start date? Yesterday.

The reality of the market that hiring managers need to understand is that a job spec is not the place for perfection. It is important that recruiters and HR partners earn their trust in order to have the difficult conversations you need to arrive at the compromise that is best for your company. 

A good place to start is the insights from our recent developer survey. These can help you to understand what the tech landscape looks like and what a realistic hiring plan looks like.

  • Which specializations are earning engineers the highest salaries in 2019? (If you want a break down by region, you should also check out our salary calculator.)
  • Which programming languages, frameworks, databases, and other tools are most loved—and most dreaded—by developers?
  • What do tech experts look for in a new job?

After this check-in with the trends in tech, you should turn back to the job description at hand and go through one simple exercise with your hiring managers: Who’s our Minimum Viable Candidate to fill this opening?

 

Minimum Viable what?

The idea of this job description is to speak the language of your engineering team: In software development, especially amongst tech start-ups, the idea of a Minimum Viable Product is well established.

“A minimum viable product (MVP) is a product with just enough features to satisfy early customers and provide feedback for future product development.”

So to paraphrase this for developer hiring: 

What developer has enough skills to be a satisfying addition to your team and can also be hired in a reasonable amount of time?

Why is this a useful strategy?

Firstly, your job posting should reflect a real, attainable person and not a fictional super developer. When developers read job listings, candidates often become overwhelmed with the extensive list of required qualifications. Your strategy should be to find the barebone needs for someone to start on your team, and what things they might pick up on the job. Learning new skills is something many developers consider a benefit, so if you package it right, you have turned a scary list of requirements into an enticing opportunity for personal growth. Now, what does this look like in practice?

Required skills vs. Nice-to-haves

Make sure you signpost clearly which tools, technologies, and experiences you need to see from a candidate and which ones would be a bonus rather than a requirement. Although this will vary by industry, required skills should usually be limited to five or less in a job listing. Take a look at the example below:

Must Haves 

• Three years developing front end applications

• Familiar with SDLC tools like Github, Jira, and CI/CD systems

• Although you won’t necessarily travel much in the long term, you may need to do some international travel in order to meet our real-world users. 

 

Extra Points for any of the Following

• ASP.NET experience

• Worked in the international aid field, especially monitoring & evaluation. 

• Know your way around IIS, Windows Server and Azure. 

• Comfortable optimizing SQL queries and can tune a database server’s overall performance.

 

Are you asking for a realistic profile or a mashup of two roles?

Another thing that happens when dev teams dream up their ideal new team member is they try and recruit the rare hybrid. “Oh we only need someone on project X for 50% really, so in their spare time they could support on Y.” While these candidates do exist, they probably started out with one skillset and have more rudimentary skills in the other. They are also exceptionally difficult to find. So here it makes sense to split up the hybrid into two listings. Let’s take a look at an example excerpt. 

System Administrator

  • With guidance from our architecture team, build and design low-latency middleware 
  • Enhance the next-generation messaging router for Linux support
  • Convert a proprietary in-memory real-time database to run on Linux
  • Understand different trading strategies/tactics and contribute by recommending enhancements to them
  • Knowledge of Equities, FX, and Derivatives trading, with experience in real-time trading apps, algorithmic trading, high-frequency trading, low latency trading
  • Manage the infrastructure and maintenance of servers to minimize downtime

On the one hand, this role requires the developer to work on generic infrastructure pieces ("low-latency middleware", "messaging router", "in-memory real-time database"); at the same time, the company makes clear it’s looking for candidates with industry domain knowledge ("Understand different trading strategies/tactics", "Knowledge of Equities, FX, and Derivatives trading"), which sounds more like an application-level developer or even a task that is more suited for a product management role.

 This is where we advise testing what happens when you break the same advert into two different job listings, one with Backend as focus and one with System Engineer. This way you get a good version of either and can interview those candidates inclined to learn the other. A unicorn that might know both seems highly unlikely.

Backend Developer

  • With guidance from our architecture team, build and design low-latency middlewar
  • Enhance the next-generation messaging router for Linux support
  • Convert a proprietary in-memory real-time database to run on Linux
    • If you also have an interest in fintech and would like to learn more about different trading strategies and the algorithms involved, this is a role that offers growing into a new field

 

System Engineer

  • Manage the infrastructure and maintenance of servers to minimize downtime
  • Understand different trading strategies/tactics and contribute by recommending enhancements to them
  • Knowledge of Equities, FX, and Derivatives trading, with experience in real-time trading apps, algorithmic trading, high-frequency trading, low latency trading
    • You will work closely with our architecture team, so if you have an interest in learning more about middleware, message routing, and database infrastructure, that is a plus

 

Note how the phrasing here, as previously in our “nice-to-have” section, emphasizes that this is by no means a requirement. 

Talk to Your Engineering Team

Ultimately, your goal is to find developers that are right for your engineering team—and your engineering team is the biggest authority on what those candidates’ profiles should look like. By no means is it part of a recruiters job to look at 20 bullet points job description and be like “Oh I can see the five required core skills!” So of course a Minimum Viable Candidate is something you can only find in coordination with your team. But the next time you get a new job description on your desk, don’t launch into a new search immediately. Take the time to interview at least one developer and one engineering manager about the role. To help guide your conversations, here are a few talking points to get you started:

  • Clarify the responsibilities these candidates should handle.
  • Reconfirm the core technologies required for the role.
  • Ask for any industries you should (and should not) be sourcing candidates from.
  • Discuss how many years of experience the ideal candidate would have—and the number of years of experience the team would accept.

Sound intimidating? Be sincere about the pressure you feel to find the right developer candidates to work alongside them. Your openness will make it clear that you don’t intend to waste their time.

How to Communicate with Developers

Topics

Developer Hiring, Active Sourcing

Comments

Schedule a 15 minute call

Call +1-877-782-2577 or email careers@stackoverflow.com for answers to any questions you may have