Hiring for DevOps
Hiring for DevOps
Hiring for DevOps can be a challenge. What skill sets should you look for? What does it really mean to be a DevOps engineer? Gain some insight from these DevOps experts.
Join the DZone community and get the full member experience.Join For Free
With the influx of DevOps-related products and services on the market, today’s application delivery toolchain has become complex and fragmented. Watch Avoiding the DevOps Tax to learn best practices for integration and automation to realize a faster DevOps lifecycle.
Our expert panel included: Chris Riley, analyst at Fixate.io; Imari Kontulainen, CEO of Deveo; Marc Priolo, software configuration manager at Urban Science; and, our very own Sam Fell.
During the episode, the panelists discussed whether or not a DevOps engineer exists, the challenges of hiring for DevOps, the skills to look for, and more. Continue reading for their full insights!
Is There a DevOps Engineer?
“DevOps” and “DevOps engineer” are often confounded together, but are actually mutually exclusive, explains Riley: “When people started using the title 'DevOps engineer,' they were essentially renaming SRE’s and release automation in QE and QA, and they neglect to include stewardship of the DevOps principles. ‘DevOps’ and ‘DevOps engineer’ are really two separate things. If you want to hire somebody who has DevOps principles, it should really be everybody on your team.”
A DevOps engineer could be a variety of roles, and it’s up to the company to define what it truly means, per Kontulainen: “Any person on the operations side of the product could be called a DevOps engineer. For example, a system administrator who does a lot of automating is a good example of a DevOps engineer. But, ultimately, it’s up to the company to actually describe what the position means.”
Priolo says that it depends on how your own organization defines DevOps, but, it really is more about culture than a title: “DevOps is more of a culture. I wouldn’t want to use that label as the role because DevOps is meant for multiple teams to work together and not one person to wear the whole teams’ hats.”
There are no “Agile engineers,” so why does the title “DevOps engineer” exist? Fell digs in: “To say you want an ‘Agile engineer’ or a ‘DevOps engineer’ is sort of saying that you want an engineer who understands DevOps, or an engineer who understands Agile. But I don’t think anyone ever came up with the idea of having the job titled ‘Agile engineer,’ but here we are with a DevOps engineer title running rampant all over LinkedIn, and getting the inbounds from people.”
Why Hiring for DevOps Is Difficult
Organizations are struggling with finding where a DevOps function fits on their teams, so it’s really about having full-stack developers rather than a DevOps engineer, says Riley: “One of the words we haven’t said yet is full-stack. Every developer out there right now has the goal of putting 'full-stack' in front of 'developer.' When they say 'full-stack,' it means they can be autonomous when it comes to building dev environments and not relying on people to hold their hands.”
Full-stack developers are good to have, but be careful once the organization starts to become larger as having domain expertise might be more efficient there, per Kontulainen: “Having a full-stack developer works up to a certain level, but once the organization scales, it’s more important to specialize in continuous integration, test automation, etc. Of course, you don’t need to master all of them or be able to do more of the tiered release to production, but it’s good to have the basic knowledge. Other than that, I fully agree that more developers should be aware of the pipeline as a whole – from idea to production.”
Perhaps, the root of the problem is that people in college are not being taught DevOps and don’t have those collaborative skills when they graduate, says Priolo: “Developers don’t go through college learning the idea of, ‘We want to have this DevOps culture. We want to work in a collaborative environment.’ They go throughout their education saying, ‘I want to be a developer. I’m only going to do this. I want to be a CIS Admin, I’m only going to learn this.’ And then, when they graduate, we say, ‘Hey, we understand you learned this silo, but we’re not looking for siloed approaches. We’re looking for holistic approaches. We’re working at collaboration, seeing the big picture.’ That’s really the challenge is new recruits are not applying for those type of jobs because it’s totally not a match for what they went through their education for.”
Fell breaks down the difference between a full-stack and DevOps engineer: “A full-stack engineer is more developer-focused, but they can understand the ramifications into production. A DevOps engineer would be somebody who’s more focused on the pipeline. They’re not necessarily building features in the product, they’re really building the pipeline as a product.”
What to Look for in a DevOps Skill Set
Being fearless and quick to learn are key attributes for hiring, says Riley: “It’s more about not having fear. They need to respect the entire delivery process, but not be afraid to learn something new because everything is changing very quickly. I grew up as a .Net developer. Now I’m doing stuff with Python and release automation. So the approach is really being persona-focused, but also making sure that we’re motivating and cultivating the right people.”
Make sure that the person you are hiring aligns with the company culture and values, advises Kontulainen: “What I look on every hiring decision, whether that’s a DevOps role or not, is if the candidate has the values that our company encompasses. For example, we have simplicity, openness, proactiveness, curiosity, and customer focus as our main values. If the candidate agrees on those values, there’s already a fit.”
Priolo makes sure that when he hires someone new that they have a big picture mindset: “The ability for the person to see the larger picture critical. This comes back to the whole silo concept of people who only concentrate on their deliverable and that’s it. What is more critical is the larger picture. How does that deliverable affect at least two layers above you? It’s not about your deliverable, it’s about the customer experience and giving the feedback so that you can continue the loop. When I’m recruiting, I want to see if the prospect has that type of perspective.”
If you are hiring someone for an Agile or DevOps position, they need to have those types of characteristics, not just learned skills, says Fell: “I love the idea of having a doctrine or list of characteristics to look for. I love the idea of making sure that the person is an agile learner. They have to be able to be agile in the way that they progress their skills. They can’t just say, ‘Well, it’s waterfall, and if I need to learn Chef, I’ll see you in 18 months, and then I’ll know everything about Chef.’”
How to Hire, Build, and Retain a Winning DevOps Team
Riley discusses successful use cases of bringing internal people from QA/QE into DevOps roles: “I’ll be very specific when I say quality engineering, because this can’t be typical QA. These are people that are technical and understand scripting and automation, and they have a really strong holistic point of view on the delivery chain. The problem is they don’t tend to be the people that champion themselves. You can find these people who maybe want to take a different direction in their career, but are just too afraid to do it, and morph them into this role and be very successful.”
Autonomy, mastery, and purpose are key to retaining your DevOps talent, advises Kontulainen: “DevOps already is all about the autonomy, giving developers the autonomy to do stuff without interfering with what operations is doing. Then, on the mastery level, you need to train people so that they could leave, but treat them well so they won’t. Finally, in regards to purpose, you need to have very clear goals so that everybody understands them. Make sure they are specific, measurable, attainable, realistic, and timely goals to make it clear for everyone where we are going.”
Priolo says, “Whenever the term DevOps comes in, it’s there to empower. As the leader of the team, you must personify that. You must make sure that it’s very clear that that’s the goal of the team. Everything you do follows that principle. The more wins the company has as a whole, the more value that’s seen in the team.”
A blameless DevOps culture helps those who might be shy or scared to step up into a new role finally make that move, explains Fell: “In a team of equals where everybody is contributing to a common goal, and everyone clearly understands that goal, is a fantastic opportunity for those types of people to be able to blossom into something that they could not have done in a culture of finger-pointing.”
Watch the full episode.
Read the original blog here.
Opinions expressed by DZone contributors are their own.