If you’re reading this article, perhaps you or your company have pondered this question: Why is it so hard to hire a DevOps engineer?
This may be due to a gap between what the engineer knows and is capable of and what the organization is looking for. Other times, this could be due to a lack of soft skills. And maybe it has nothing to do with the engineer, but you!
So before you begin searching, it’s important to define precisely what you’re looking for. There are many different types of DevOps engineers, and whether they can deliver will depend on your needs.
In this article, you’ll learn how to find the right DevOps engineer for your organization. We’ll discuss the different skill sets among DevOps engineers, how to find these professionals, and tips for hiring them.
Understanding the DevOps Engineer
Just as no DevOps tool is capable of magically solving all of the possible problems between a development and operations team, the same is true for a DevOps engineer. While DevOps engineers can certainly contribute and work toward resolving these issues, finding the right engineer for the job requires your company be well positioned to receive them.
DevOps Is a Spectrum
If you were to ask a group of DevOps engineers what exactly their role entailed, each engineer would likely provide a different answer. This is primarily because “DevOps engineer” is a blanket term used for engineers with a wide range of professional skills.
Some DevOps engineers are more specialized in operations, such as deploying infrastructure as code and managing “Desired State Configuration. On the other end, you have the DevOps engineer who focuses on the continuous integration/continuous deployment pipeline.
Your organization will need to determine which type of DevOps engineer is best suited to the company’s work environment.
Breaking Away from the Silo Mentality
A good read for anyone involved in DevOps is Gene Kim’s The Phoenix Project, as well as his other works. The novel takes you through an IT organization’s transformation from the old school “waterfall”-style development to one that implements DevOps practices. It demonstrates how such traditional models fail to keep up with customer demand and introduces DevOps concepts as the preferred alternative.
What rings the truest throughout the book though is that DevOps engineers can only implement the necessary changes if they’re allowed to do so. But as they often get placed in a silo upon their arrival at a company, the high turnover rate among these engineers is far from surprising. They’re simply never given the chance to bring about the organizational change expected of them since they were never able to fully assume the role.
The DevOps Engineer Skill Set
As noted previously, a DevOps engineer can be defined in many different ways, and so the skill set required is equally diverse. But there are some common skills you should be looking for when hiring a DevOps engineer.
The first required skill is experience with enterprise architecture. Without knowing how data flows through an entire system, there’s little hope of automating and improving processes within it. And if the engineer has experience with your organization’s preferred cloud provider (e.g., AWS or Azure), that’s definitely a plus.
Knowledge of some type of scripting, such as PowerShell, Python, or Ruby, is another important skill to look for when hiring. Automation is extremely challenging without these capabilities. Even better is if the job candidate can demonstrate best practices such as unit or integration testing in their work.
Having an understanding of API calls or event-driven architecture is another asset. One of the main tenets of DevOps is creating, shortening, and amplifying feedback loops. APIs and event-driven architecture allow you to harness metadata in your systems in order to take full advantage of this. Although it’s not necessary to have direct experience with this, some background is appreciated.
Last, but certainly not least, is automation. The ability to automate routine tasks in order to boost efficiency and reduce the workload is a critical element of the DevOps process. Such experience can be checked in a prospect’s resumé by looking at the list of business processes they successfully eliminated in previous job positions.
Finding and Hiring a DevOps Engineer
DevOps Engineers are on the cutting edge of cloud computing and automation. The best place to meet potential hires in person is at relevant conferences, networking events, or user groups, such as PowerShell or Ruby meetups. DevOpsDays events is a great forum to find them through as well. Larger conferences like Microsoft Ignite or AWS re:Invent, though not specifically dedicated to DevOps, are also good places to find them.
DevOps engineers have a passion for automation and are leaders in organizational change, and they can be found in a number of online forums. StackOverflow, Reddit, and other popular troubleshooting/scripting sites—even personal blogs—are good starting points. DevOps engineers also have a knack for addressing complex problems and sharing these experiences with their teams as well as with online communities.
The Ideal Job Posting
If you prefer traditional job postings, there are a few things you should include. DevOps engineers appreciate organizations that want to make positive changes and increase efficiency. Job postings that demonstrate NDA-friendly examples of projects and how those projects impact the business generally receive the most response.
While tooling and automation may vary from organization to organization, many DevOps engineers will determine whether a position is right for them based on how forward-minded a company is or how advanced their “stack” seems. And it’s important to be straightforward and honest as to what phase of the DevOps journey your organization is, since DevOps engineers can easily sift through the buzzwords.
How to Attract DevOps Engineers
DevOps engineers are in high demand. And frankly, it’s a sellers market. But there are some perks that might help you win them over.
Most DevOps engineers are familiar with working on teams spread out across the globe. They also can’t remember the last time they touched any server hardware. Because of this, many DevOps engineers prefer to work remotely or at minimum have flexible schedules. While this scares employers who hold to traditional management philosophies, flexibility is practically a prerequisite for any DevOps engineer looking for new job opportunities.
The next best thing for the DevOps engineer is a progressive culture. DevOps is exponentially fast compared to most technical work. Encouraging innovation within the company culture is an absolute must for keeping your DevOps engineers happy. And there should be no finger pointing when something goes wrong, rather the company should encourage unity and cohesion, which is key for succeeding on your DevOps journey.
The Perfect Match
Surely you’ve picked up on the theme by now. Each DevOps engineer is different, and each will bring a different skill set to the table. By knowing exactly which skills you need, you’re sure to find the right candidate for the job, and hopefully one who will exceed your expectations.
DevOps engineers are masters at driving key business initiatives. Their scope allows them to see the bigger picture as they work on the smaller pieces, automating and delivering a tangible objective. Bringing them into your business should be a top priority, but only if your business is ready to keep up.