DevOps professionals are in demand. It’s not surprising when you think about it. DevOps is often seen as a silver bullet in the product development arena. It can help companies create higher quality products, go to market faster, and respond to customer feedback and competitive pressure more efficiently.
But hiring for this role is no mean feat.
What is DevOps, really? If we played a game of Family Feud and asked 100 CTOs, we’d probably get 100 different answers. It means different things for different companies depending on the business model, company culture, and goals.
As many companies have yet to define what they mean by DevOps, hiring someone to fit the role is tough. Even developers often don’t understand what is required from a DevOps job. That’s why people market themselves as DevOps experts but don’t actually have the skills to get the job done.
And if you’re only starting your journey towards DevOps, you’ll soon find that shifting to this model isn’t easy. How do you change the way you operate and bring together traditionally siloed departments without causing massive disruption to competitiveness and delivery?
Much DevOps hiring goes awry because people are starting in the wrong place. It is especially easy when your organization doesn't already have a strong DevOps culture - it would seem that by hiring 20 DevOps engineers, you'd have a great starting point for a strong DevOps culture, right?
If you view DevOps as simply another job title instead of something that your whole organization (at all levels and in all departments) needs to embrace, then any new hires will have a limited impact.
We haven't investigated why it's hard to hire for DevOps yet, but we're already offering some solid advice - DevOps engineers don't make a DevOps-first organization, the DevOps mindset does. Work on that before hiring a single person and you might avoid the question "why is it so hard to hire for DevOps?" completely.
Almost half of HR professionals say they struggle to recruit DevOps engineers. Is this hiring struggle just a simple supply and demand problem? Or are there other issues at play that make it so difficult to hire for DevOps?
Here are some of the most common objections we’ve heard. Let’s take a look and see how many of them hold up under scrutiny.
Companies ask a lot when hiring DevOps engineers. The skills often required for this role include:
It’s rare for engineers to possess all of the above skills; often they will specialize or have preferences. They also take a lot of time to learn. You can’t just recruit people fresh out of college, which narrows the field.
On top of that, DevOps engineers need soft skills, such as leadership, communication, collaboration, empathy, and problem-solving. It can be hard to hone these skills when you aren’t already in an organization that uses a DevOps model.
According to rumors in the industry, a recruiting firm compiled a list of people who have the necessary DevOps skills in a major city. There were only 40 names on the list. All of these people were already happy with their jobs.
Even a quick search for DevOps Engineers jobs on LinkedIn reveals 16,628 openings in the EU alone. This is what recruiters are up against when they try to hire.
It’s a competitive field!
Soft skills are also tough to recruit for. If you thought it was hard to find someone who masters programming, systems admin, and QA skills, try to add soft skills to the package. If you want a ready-made DevOps engineer, you need to pay through the nose.
But what if you haven’t even defined what DevOps looks like in your organization? Without a clear idea of what you need, you’ll end up creating job roles with imprecise requirements. Either you’ll get no applications as candidates don’t trust the job description, or you’ll end up with a ton of irrelevant resumes to sift through.
Traditional recruiting sites such as LinkedIn often won’t yield the kind of results you want. Even if you do find someone who seems right for the role and has the necessary skills, will they even respond to your cold approach? They probably already get more messages than they can handle from recruiters trying to poach them for their DevOps role.
Developers have very strong opinions about DevOps. There is no shortage of rants about the topic on Reddit!
Some common gripes include the worry that they won’t be respected as developers or will end up spending very little time coding as they just don’t have the bandwidth. Will they even be seen as programmers or will they be labeled “the DevOps person”? You don’t want to spend 10 years learning programming languages only to end up as a jack of all trades and a master of none, and the only go-to person in your company when it comes to product development.
One Reddit poster says, “DevOps is harder, more stressful, and requires a wider variety of "soft" as well as technical skills (including programming) than your typical front or backend developer role, but is somehow less respected by management.”
If that wasn't bad enough, don't get developers started on the topic of DevOps tools. Using a hodgepodge of tools and a messy technology landscape, DevOps engineers are under increasing pressure to build, test and deploy faster and faster as businesses look to reap the benefits of their investment.
As another Reddit contributor in the above thread explains, “you're stuck trying to contort these tools with their crappy DSL or YAML languages into something that could potentially be useful”.
Ah yes, the old tool contorting. Definitely, a situation you want to avoid...
There's no magic formula to explain how to hire a DevOps engineer. DevOps isn’t a specific role: it’s a way of thinking, a methodology, and a way of life. It unites people, processes, and tools. DevOps removes the old siloed way of working, the idea that a job or a problem is only the responsibility of one department. It requires collaboration and an end to anti-patterns, like the bus factor, Ikea effect, and ping-pong thinking.
DevOps roles are often lumped in with developer roles, but instead of imposing specific requirements such as needing X years of experience with certain tools or programming languages, instead, look for smart people. Search for candidates who take a collaborative approach, ones with a good attitude and work ethic. Take time to see if there's anyone already in-house that you can train up.
Don’t be lured into spending a lot of time and money trying to hire perfectly formed DevOps engineers - it's not always the only way. Remember that the more your tech team adopts DevOps thinking, the less you'll actually need to hire a whole army of DevOps engineers.
How can you move forward? Well, before hiring anyone, make sure you truly understand the motivation behind DevOps, then make as many moves as you can towards championing and encouraging it in all your tech team members, not just the DevOps engineers.
Eventually, when you decide you need a DevOps engineer, make sure you have the necessary framework and mindset to support them and ensure their job is more than just tooling. Commit to ending siloed departments and creating a truly collaborative working environment. Do all this and you might just be able to avoid becoming the subject of a developer’s wrath on a Reddit thread!
We hope we've given you some food for thought. To continue your journey, take a look at our free ebook, Life in the Fast Lane - DevOps and hybrid cloud mastery, or how to do both, without ruining your team.