So you are interviewing a candidate and they have described to you five different ways to kill a process in Linux, laid out (in painstaking detail) what happens when someone enters “google.com” in their browser, and they even wrote a FizzBuzz implementation on your whiteboard app.
Sound familiar? Most DevOps hiring managers have probably asked these exact questions to candidates they are interviewing. Unfortunately, rote technical trivia is not a strong indicator of whether or not a candidate is going to succeed in a role. To find “great candidates” vs. “good candidates” a hiring team needs to move beyond the “quiz show” mentality, and start exploring more subtle, non-technical qualities.
Can the Candidate Navigate Abstract Problem Spaces?
This question helps crystallize whether a candidate can bring senior-level experience and acumen to your organization, it is also a strong indicator of whether the candidate can provide both technical and non-technical leadership.
The goal for any senior to mid-level DevOps hire should be to find someone who is good at abstract reasoning. The ability to reason through problems without possessing prior, specific data about the task at hand.
Seniority plays a key role in the types of problems you ask your team members to tackle. The range of seniority determines the amount of data and clarity you provide. More granularly the types of problems that you are handing to junior engineers should always be well defined. An example might be: “make sure all of the web nodes in us-west-2 have the latest openssl package”. There is ample organizational knowledge and resources regarding the problem space, and success is acutely quantifiable. It is very much a case of getting from a clearly defined point A to a clearly defined point B.
Contrast that with the types of problems that you give to your most senior engineers. Perhaps you need application deployments to happen simultaneously in multiple regions, or you need to develop operational processes to help support an entirely new development team. These are not well-defined problem spaces; it is likely that your organization may never executed on these tasks before. When interviewing it is important to ask the candidate to discuss times in their career when they have been presented with a problem that lacked the necessary data, or problems without clear objectives or goals. Great candidates will have successfully navigated these types of problem spaces in their career, and learning about these situations will help define the level of skill and seniority of your candidate.
DevOps, which is the marriage of “development” and “operations”, demands and rewards engineers who can be cross-functional, and operate dynamically within different levels of their organization.
Look for candidates with organizationally dynamic experience, which is a huge selling-point when hiring for principal/staff roles. You will find candidates that check all your technical boxes, performing pure wizardry on your thorniest technical challenges. While these are fantastic candidates, what happens when you ask them to apply themselves beyond the bubble of technical problems? Will they shine, or will they wilt?
The best candidates will possess qualities that make them an asset across different levels of your organization, whether it be in a technical context, or a non-technical one. Can you send this individual to represent your team at the table when senior leadership wants an RCA on the latest outage? What if the development team needs someone to talk to customer engineers on a sticky problem? Do you trust this candidate to help lead next quarter’s multi-team initiative to re-define your operational process for software deployment?
A candidate that can be “organizationally dynamic” is just as comfortable discussing business objectives with non-technical stakeholders as they are talking shop with the senior developers. The candidates you want to hire will be equally adept at shipping technical deliverables on time as they are delivering organizational and process deliverables.
A successful approach in an interview is to have candidates discuss times they have been asked to help with, or preferably own a deliverable that was not necessarily owned by their team or group. Another angle is to have them describe a time they had to go outside the boundaries of their own team to get a problem fixed. It can be a simple technical issue, but try to explore a softer, non-technical scenario.
They Must Participate with Hiring
Jokes about “burying the lead” aside, the importance of this topic cannot be overstated. Hiring is a team effort, and the folks you want to hire are not simply participating in hiring, they are actively driving improvements to it. Great candidates are going to want to work with even smarter people, and they should show a desire to help build their team.
The current employment market is incredibly competitive. Great candidates will often have a multitude of employment offers to consider. Your recruiting team has done their part to bring candidates to the door and now as engineering leaders it is your responsibility to move fast while maintaining a critical and thorough attitude throughout the interview process. When considering a potential addition to your team, they must add value to this process to maximize overall team potential at scale.
Ask the candidate about their experience with hiring. At minimum, they should have experience with interviewing and hiring peers and juniors. Ideally, the candidate has participated in hiring loops for other teams or working groups within their organization. At the highest levels they have taken ownership of some or all of the process and have strong philosophies and methodologies developed.
Additionally, you will want to explore deeper aspects of their relationship with the hiring process. Have they ever regretted a hire they said “yes” to? Or even a “no”? What do they think are the most crucial aspects of an effective hiring process? Their answers may not always line up exactly with what you expect, and that is OK, the key is that they can articulate well-formed thoughts about some or all of the hiring process.
Strong technical acumen is just one part of the larger whole when it comes to hiring impressive DevOps candidates. A strongly correlated metric for any high-performing engineering team is a robust pipeline of great engineers. This begins with bringing in high-quality candidates, and ends with tenured, capable engineers growing to leadership contributor roles within your larger organization.
Start making time in your hiring loops to evaluate potential candidates for these qualities, and carefully track their success with your expectations. Re-evaluate your metrics in 6 months to a year. I imagine you will be seeing positive results.
Thank you for reading,
PS: Please add me on LinkedIn : https://www.linkedin.com/in/mikevanbuskirk/