Hiring in tech

kpd
THAT Conference
Published in
9 min readApr 17, 2018

--

In my various roles as architect/team-lead over the years, hiring has been a constant topic of interest. I’ve been involved in candidate selection, the interview and assessment process, the final decision-making, and even defining the criteria for hiring.

One thing I know for certain, hiring technologists is often really, really hard. I don’t know if all fields have this same problem, so I’ll speak only for my limited experience with technology hiring.

You’d think hiring would be a lot easier by now. The web has been around a couple decades now. So many sites on the web are devoted to listing jobs and listing candidates. Technologists are not limited to Monster.com and Careerbuilder.com. Many sites out there post job listings, and there are places where technologists can write up who they are so they can be seen by employers.

Even with all this technology, all these great minds thinking about the problem and trying different approaches, hiring is still hard.

See, it’s easy to list out some core skills that you would like to see in a new hire. It’s fairly straightforward to find someone who uses those particular technologies (unless it’s something really obscure). But are they talented in those technologies? Are they at least above average? Do they have five years of experience or one year of experience five times?

Many organizations have recruiters in their HR departments that do basic matching of resumes to job descriptions based on years of experience and specific technologies, but my experience with internal recruiting has been poor at best. Either good candidates don’t make it through the filters, or the recruiters don’t have the acumen to properly screen candidates.

Skill assessment

Assuming you find candidates with the desired skill set, how do you accurately assess their experience and competencies? There’s an entire industry built around certification, tech skill verification, pre-interview testing, and various attempts to estimate skill levels through years of experience. However, certifications can be too narrowly focused, standardized testing too limited and onerous, and surveys too vulnerable to reporting error.

Despite the difficulty assessing technical skill, you still have to do some kind of vetting, some kind of due diligence. Hiring an employee is expensive, and a bad hire incurs not just the search cost, but the training cost, and the opportunity cost of hiring a more appropriate fit. The work it takes to vet a new employee is pretty time-consuming and requires a great deal of time from expensive resources like team leads and managers.

Because of the time it takes to properly conduct filtering and vetting of job candidates, companies automate as many parts of the process as they can. They set up alerts about candidates on job boards to email them candidates. Before you even get to a phone screen, you can be routed to a skills assessment — standardized testing designed to figure out how much you know.

And if, in the interviewing process, you do some live pair coding with the developer, you can even assess their actual skill level in the technologies they claim to know. But doing that takes even more time sitting with some of your most valuable resources.

Sifting through unquantifiables

What’s actually hard is knowing what a developer is like as a person. A tech screen can tell you a few things, but can they suss out:

  • Is the developer a specialist or a generalist?
  • How do they solve problems?
  • Do they need a lot of direction, or are they self-directed?
  • Do they have a great instinct?
  • Are they a planner or do they wing it?
  • Do they think like an owner?
  • Are they better at starting or finishing a project?
  • How do they communicate in a non-interview setting?
  • Are they collaborative or competitive?

What’s tough to determine is heart, enthusiasm, dedication, and determination, the candidate’s trustworthiness and integrity, but those things matter. Maybe more than any specific skill set, they matter. How do you measure the unquantifiables? Those attributes are hard to list in a job description, and even more difficult to get an honest assessment of with just a couple hours of communication.

Referred candidates are always better vetted in these dimensions, because the referring person has seen the candidate in action. The question I always ask a candidate’s reference is “If you were managing a development team, and you had to staff it up, how long would it be before you reached out to this person to add them to your team?” Would they gladly work with this person again? Do they feel they’re the absolute best person for the job? Are they second? Tenth? Sure, some people just don’t get along, but their reference better not offer anything other than an enthusiastic endorsement.

Psychological obstacles

Two very serious effects are at work in finding the right candidates: the Dunning-Kruger effect and Impostor Syndrome. The Dunning-Kruger effect is present when a beginner or intermediate believes their skills to be either above average or expert level. Impostor Syndrome is a bit of the opposite, in which a talented individual feels as if they aren’t as talented as they are; they feel like an impostor posing as talented. Let’s look at how each of these effects affects the hiring process.

The Dunning-Kruger Effect, characteristic of people who aren’t very good at something yet believe themselves to be an expert, can lead to a pile of underqualified applicant resumes for a position that requires deep expertise. Folks that erroneously believe themselves to be more talented than they are can talk themselves into a position they are not ready for. The knock-on effect to the company is that hire, when held to account, can wreak havoc trying to cover up their lack of skill. It’s difficult to measure the negative impact of this kind of bad hire, but I have seen it torpedo projects and entire careers.

In Impostor Syndrome, talented people feel that they’re not as talented as people give them credit for. They feel continuously at risk of being discovered as a fraud, or “impostor”, at any moment. Many technologists I know suffer from some version of this. I honestly don’t know how widespread it is in the industry, since it’s only recently come about as a community topic. I suspect there are a lot more talented tech employees that aren’t stepping up, aren’t stretching to apply for more responsibility because they already feel like they’re stretching everyone’s expectations.

Understand what is required

Employees, especially technologists, are typically a very large expense for a business. So it’s not surprising that an organization might cast a very wide net. They need to find people with a diverse set of skills so they can work on a lot of things. Your in-house Java development drying up? If you hire the right developer, maybe that developer can help out with maintaining the legacy perl ETL scripts that keep your overnight batch data flowing. Or maybe one of the folks that has been absorbing diverse responsibilities has won the lottery and is leaving.

Filling a position with very diverse skills leads to overly broad job descriptions of “required” skills that make it hard to find candidates that would otherwise be a great fit. The HR recruiter filter is merciless if these skills are “required”: an uber-talented Ruby developer might be passed over because they haven’t written enough T-SQL.

Consider the following actual job requirements list I found recently

  • You have a minimum of a BS in Computer Science or related field.
  • Previous full-time remote work experience would be nice to have.
  • 12+ years of software development experience with the Microsoft technology stack.
  • 10+ years of ASP.NET/C# Web Forms experience.
  • 5+ years of ASP.NET/C# MVC experience.
  • 5+ years of experience as a full-stack web developer.
  • 5+ years of experience with Microsoft SQL Server, T/SQL, Stored Procedures and familiarity with using SQL Profiler for troubleshooting performance issues.
  • 5+ years of jQuery and JavaScript experience.
  • 5+ years of experience with HTML, CSS and creating responsive web pages.
  • 2+ years of WebApi/C# experience.
  • 2+ years of Angular experience.
  • Bootstrap 3 experience.
  • Nice to haves: Perl, ASP experience (yes, we have plenty of legacy code).
  • Excellent verbal and written communication skills in English.
  • A team player who also works well without supervision.
  • Expertise with OOP and design patterns (Dependency Injection, Gang of Four, Domain Driven Design, SOLID principles, etc.).
  • Proficiency with Git and Git workflows.
  • Experience working in an Agile development environment.
  • Strong attention to detail.
  • You must be legally authorized to work in the United States.

These are not requirements. This is a wish list. This may simply be the last employee’s resume with the company. Some skill sets feel fungible, this level of multi-variate specificity is tough to meet. Instead, you’re “looking for agile coders used to DVCS workflows who also understand architecture and MVC on the web.” Ok, that description is a little simplistic, but if I were looking for those candidates, that wouldn’t be far off my ideal job description. The long list of bullet items causes me to glaze over, but I’d apply for a job with that shorter description.

The only way this could be a legit posting is if the company is getting around some legal requirement that requires you to post requirements outside when you already have an internal candidate with exactly that skill set. And if you’re doing that, that’s some tomfoolery right there, skirting the spirit of the company policy. You can be better than that.

Attracting the right fish

A common refrain I have heard from hiring managers over the years is that “I’m not getting enough resumes.” But I’ve seen the stacks of resumes, and I’ve gone through the online candidates list myself, and what’s really being said there is “The candidates I’m getting aren’t the ones I want.”

My pappy, an old-school bass fisherman, used to say, “Son, if you’re not catching the fish you want, you’re not using the right bait.” See, if you’re putting out job descriptions like the one above, you’re not getting to the purpose-driven people. What can make the bait better?

I can’t speak for everyone, but here’s a few things that always catch my eye when I look at the job postings:

  • Salary ranges shown — If we don’t have an overlap in salary ranges, It’s not worth the time responding. and going through the process. That tells me at a glance whether to spend the time reading the whole description. If our ranges don’t overlap, I get to save time, so I gravitate to posts with those.
  • Benefits — Being able to see what the benefits look like really helps filter candidates out. If the candidate values vacation and your company offers a maximum of two weeks, or the candidate needs a particular type of health care, and you can’t provide, that can help you eliminate dealbreakers before they even apply.
  • Involvement from a key stakeholder — Knowing that someone like the hiring manager is reviewing the messages. Say so in the job posting. I’ve seen a number of posts that say the resume goes to the hiring manager, not to HR or a recruiter, so you can have more confidence you won’t be auto-filtered.

Writing a job description that gets the right candidates

If you want to write a great job posting, there’s one rule.

Keep it simple.

What kind of job is this? Do you need someone who knows UI/Design? Do you need backend code + database? Do you need reporting and big data? The language or technlogy is rarely the barrier. What kind of person do you need? Thought Leader? Head Downer? Jump Starter or Clutch Player?

What kind of company is this? What makes your company special? What is its mission? Who are the owners, and what in your job description will help attract people that share their philosophy? The job itself may be fungible, but what is going to help that employee stay?

I’ve seen a ton of job descriptions in my career, and you probably you have, too, if you’ve ever had to go through a job search. What kind of description catches your eye? The last job you had, what attracted you to the position? Feel free to share in the comments below.

Another way to find the good candidates

To extend my fishing analogy to the point of abuse: another way to catch the fish you want is to be fishing in the right pond. In developer-speak, that means offering purpose-driven careers with incredible benefits and making those offers visible to the developers you want. THAT Conference not only attracts some of the industry’s most talented developers and speakers, but the active and vibrant community extends well beyond the three days of sessions.

Looking for talented people that have a passion for learning, sharing, and delivering? Sponsor THAT Conference and earn massive tech cred for your support. Join That Slack and post in the jobs channel.

Now let’s match great people with great positions!

--

--

kpd
THAT Conference

Ph. D. Physicist, Software Architect/Archaeologist, Team Leader, Motivator, Educator, Communitizer, Gamer, Reader http://about.me/kevin_davis #ThatConference