DevOps can help organizations become more agile and responsive to their customers, but it’s only as effective as the individuals who participate on the DevOps teams. Getting the right people in place is paramount to a successful DevOps implementation. Organizations need professionals with expertise in DevOps methodologies and who can work effectively within a cross-functional team structure. But such individuals can be difficult to find, especially as more organizations embrace DevOps for their application delivery.
Competition for qualified DevOps professionals has never been steeper, and managers have to work harder than ever to get the people they need for their teams. In this article, I provide ten tips for attracting and retaining DevOps talent but keep in mind that these are meant only as guidelines, not absolute rules. Much will depend on your organization’s individual circumstances and DevOps operations. That said, these tips should provide you with a good starting point for understanding the types of issues to take into account when looking to hire DevOps professionals.
1. Identity and assess internal talent.
Before opening up your search to the world at large, consider looking for talent in-house. It’s a lot cheaper to keep and train someone who already works in your organization than to incur the costs of recruiting and onboarding someone from the outside. Managers who interface with these individuals already have insight into how they work, how quickly they learn, which technologies they understand, and how well they interact with their coworkers. In addition, existing employees are already familiar with the company culture, which is a big plus.
Even if you don’t recruit from your internal pool, you should still assess the collective skills currently available on your DevOps team and from this information determine where there are gaps. For example, you might have team members with extensive development and operational skills but not a lot of experience with infrastructure as code (IaC). In this case, you might want to look for someone who’s strong in this area. Also keep in mind the need for soft skills, such as the ability to communicate and collaborate effectively.
2. Create a proper job description.
A job description defines exactly what you’re looking for. It outlines roles and responsibilities, lists the required experiences and skills, and includes any other pertinent details. It also provides an overview of compensation and benefits. You can use this information to develop a job post or when discussing the position with candidates, recruiters, or other individuals. For most candidates, compensation will be a top consideration. Still, many are also looking for other benefits, such as health care, flexible schedules, or the ability to work from home, which has become more of a priority in the age of COVID.
But compensation is only one part of the job description. It should also identify the required technical qualifications and, just as important, desired values for participating on a DevOps team. Be careful not to make the requirements so steep or rigid that it will be nearly impossible to fill the position. You also don’t want to discourage individuals who, with a little training, could be excellent additions to the team. At the same time, you need to make it clear that this is a cross-functional DevOps role that goes beyond basic development or operations.
3. Use all available resources.
Finding the right candidates is no small task and often requires that you cast a wide net. For many companies, a good place to start is with their own employees. Some organizations implement employee referral programs that include incentives. If you seek employee referrals, make sure you provide them with specific information about the position you’re trying to fill. In addition, if your company uses recruiters, be sure you work with an individual who has at least a basic understanding of what DevOps is about.
Of course, you can post the position to job boards such as LinkedIn, Stack Overflow, or GitHub Jobs, but you should also consider other venues. For example, you might make contacts through social networks, online platforms, or local meetup groups, keeping in mind that many group gatherings are virtual these days. Another option is schools, which often have programs for matching up graduating students with potential employers, although it could be difficult to get individuals with the experience you need.
4. Attend to the basics.
When assessing candidate qualifications, make certain you cover the basics, such verifying their skillsets, work experiences, and knowledge of DevOps methodologies. Also talk to their references and ensure that they’re credible and not just friends or acquaintances. Ask them questions about such topics as the candidates’ work habits, communication skills, willingness to learn, or anything else that can help you determine how well they’d fit into your company and DevOps culture.
Another area to look at is how long candidates have worked at their respective jobs. If someone has constantly hopped around from one position to the next, chances are you won’t want to invest the time and resources necessary to onboard that individual, unless you’re trying to fill a temporary position. In general, you’re looking for anything that might cue you on how well a candidate will meet your requirements and fit into your organization over the long-term.
5. Ease up on the checklist.
When evaluating candidates, you might use a checklist to help assess their qualifications. Even if it’s only in your head, the checklist provides a simple mechanism for quickly weeding through applicants. Just don’t go overboard. For example, your DevOps team might use Jenkins for automation, so you include it on your checklist. However, a candidate might be experienced with an assortment of other DevOps tools, as well as DevOps processes in general, but doesn’t have hands-on experience with Jenkins, in which case, the applicant would fail the checklist test.
If you make your checklist too rigid, you might rule out individuals who could potentially be valuable assets to your DevOps team. Candidates might not be familiar with specific tools, have the latest certifications, or earned degrees in computer science, but they might still have years of qualified experience and have demonstrated their ability to solve problems, learn new technologies, operate in team settings, and understand how DevOps works from the inside out. Your requirements are still important, but so are many other qualities.
6. Create the right company environment.
Attracting and retaining DevOps talent represent different sides of the same coin, and nowhere is this more apparent than when it comes to creating the right atmosphere for hiring, onboarding, and retaining employees. These days, job applicants often research potential companies to learn about their work environments and employee satisfaction. Organizations should strive to maintain and present inviting and professional atmospheres that appeal to both potential and existing employees. It should be clear to everyone that yours is an organization made up of quality individuals and engaged leadership who understand the importance of the people who work there.
Establishing the right atmosphere starts when first posting a job and interviewing candidates. You should be honest and transparent about your organization and the available position, so there are no surprises if the individual joins your company. You should also ensure that the hiring and onboarding processes are as welcoming and painless as possible. At the same time, keep in mind that DevOps professionals want to work on interesting projects and use cutting-edge technologies, which could mean making some changes to current operations.
7. Create the right DevOps team culture.
It’s often remarked that the key to an effective DevOps process is to establish the right team culture, with communication, collaboration, and cross-functional skills the key ingredients. The same goes for attracting and retaining DevOps professionals. When applying for a job, they want to know that they’ll be joining a functional DevOps team. If they get the job and the team doesn’t meet their expectations, they probably won’t be around for too long.
To build the right team culture, the organization’s leadership must be onboard, providing a unified vision that encourages learning, information sharing, team interaction, and innovation. A DevOps team also requires the autonomy necessary to deliver applications as effectively as possible. To this end, team members must also have the tools they need to perform their jobs and the necessary training to use those tools to their maximum benefit. In addition, teams should be kept relatively small, so they’re flexible enough to achieve their goals.
8. Ensure the candidate is a cultural fit.
One of the most difficult yet important qualifications to look for in candidates is whether or not they’ll fit in naturally with your DevOps culture. A candidate must be able to feel comfortable working on your DevOps team, and team members must feel comfortable working with that individual. For this, you need to probe deeper into the candidate’s abilities, rather than limiting yourself to questions about past experiences and qualifications.
You can get a sense of a candidate’s team experiences from the individual’s references and past positions, but it also helps to ask the candidate probing, open-ended questions. For example, rather than focus only on their work experiences, you might ask them how they’d solve specific problems or what steps they’d take to improve DevOps processes. If possible, have a candidate spend time with team members or join in one of their meetings, and then get their feedback on how he or she might fit in.
9. Implement continuous learning.
DevOps professionals want to work for an organization that values training, education and ongoing personal development. They need to stay current with the ongoing stream of new tools and technologies. If they’re not provided with the time and resources necessary to keep up with the industry, the DevOps processes themselves will suffer, leading to a less effective team and disgruntled workers.
The organization’s leadership should take an active role in promoting and providing an active learning environment, identifying new skillsets and setting the direction. DevOps professionals want to feel challenged in their jobs. They want to grow and make professional gains. At the same time, the organization as a whole can benefit from the acquired collective knowledge. For example, an education program might include a component that focuses on security, which could help build a greater awareness about safeguarding data.
10. Empower individual team members.
An organization’s leadership should instill a sense of empowerment in individual DevOps team members. Although learning opportunities go a long way in achieving this goal, an organization can also take other steps. For example, it’s important to give team members the time and space needed to complete their tasks, while still providing room to learn and innovate, all of which can help increase job satisfaction and minimize boredom.
For many people, it’s also important that they’re provided with opportunities for advancement. One way to demonstrate this is by training internal staff for more advanced positions, such as a DevOps role, rather than bringing in people from outside. Of course, not everyone is looking for advancement opportunities, but they still want work that is engaging and challenging, and they want to be recognized for their efforts, which is why feedback and praise can be so important to overall job satisfaction.
Keeping DevOps people around
There are no hard and fast rules for attracting and retaining DevOps professionals, but these tips can help you get started with your own process. In the end, the people you bring into your organization and how long you keep them will depend on your specific circumstances and your current DevOps teams and operations. Your organization’s leadership will play a key role by helping to create a company culture that values each individual while recognizing the importance of building strong teams that break down silos. Not only is a team mindset imperative to effective DevOps, but it’s essential to attracting and retaining the right talent.