DevOps is all the rage right now. It is currently the most aggressively recruited job title on LinkedIn, according to a 2018 report. Every CIO, CTO and CEO I know is looking to deploy DevOps in their organizations, and every senior level developer and systems administrator is banging their head trying to properly understand their role in the process. After sifting through a considerable volume of resumes and interviewing a sea of DevOps candidates, I have come up with some crucial traits to look for. If your company is conducting direct hiring or you are a technology recruiter, here are five things to look for on a resume to make sure that you're getting the right person for a DevOps role:
5–10 Years Of Linux Server Admin Experience
The vast majority of DevOps jobs I see on the market right now are for companies that use Linux in their stack. I’ve seen a lot of people in internet communities (like Reddit and Facebook groups) who are looking to take advantage of this new job title. Many of those are former Windows administrators who are looking to come over to Linux simply by doing certification crams. In the overwhelming majority of cases, I've found the body of their overall experience doesn't achieve parity with the credentials they seek, so they are simply studying to an exam. Though certifications are a great way to validate experience, the lack of practical, hands-on Linux experience in a crisis could leave your team vulnerable.
There are a lot of ways that you can validate this experience. One great way to accomplish this is to work with your internal IT resources to come up with a Q&A and conduct a table-top exercise based on some issues or projects that had heavy contact with Linux-based systems. Ask questions like: "We had some problems where this particular web project would throw 503 errors after we would deploy new code to production; how would you fix that?" Or say: "We were migrating our database workloads to a new server, and there was increased latency post-migration. What should we have checked in our configuration prior to migration?" These questions touch on filesystem permissions and database server configuration, which are two things that can be huge problems in production workloads.
Deep understanding of the platforms you deploy workloads to will be super helpful. Many companies deploy cloud workloads to Amazon Web Services (AWS). If your company does, look for an AWS certification on the potential employee’s resume. Microsoft and Google also have cloud certifications. The important piece to this puzzle is to find someone that has experience in your infrastructure platform. Candidates that have a solid understanding of one or more cloud-hosting platforms will demonstrate two important qualities. The first important quality is a fundamental understanding of how applications are hosted in the cloud in general, since many of the offerings out there follow many of the same principles. If you're hosting your current workload on a particular platform, like AWS or Azure, the second quality is a certifiable understanding of the platform you host on, which will reduce the amount of time you would normally need to get someone up to speed on how your provider works. The less time you spend teaching someone how to create a simple cloud instance or how security groups work, the more time you can spend training your new hire on the specifics of your application or workload.
The person you plan to hire should have at least some development experience. They don’t necessarily need to have experience developing an entire e-commerce system from the ground up, but understanding what PHP code looks like, where it likes to live, which user should be executing code, which user should own the code as it resides in the filesystem and how modules and resources should be configured and handled, will often be what separates a good candidate from one that won’t fit in with the DevOps culture. This experience can also help close the gap between developers and operations teams.
Security Standards Exposure
The online retail world is ruled by the Payment Card Industry Data Security Standard or PCI-DSS. PCI has very specific requirements pertaining to the hosting and maintenance of an application that has cardholder data exposure. The same rule applies to websites that deal with the U.S. Government (Federal Information Processing Standards, or FIPS), sites that collect information for marketing (the General Data Protection Regulation and personally identifiable information, or PII) and so on. There is no excuse for ignoring security standards. If a resume comes your way without any mention of anything in the alphabet soup of data security standards, the applicant may not be a good candidate.
In my experience, the culture of DevOps requires one to bridge silos within a company. In an ideal environment, all the silos that form around the functional areas of your application or product are broken down by DevOps, and everyone drinks from the same watercooler. The ability to communicate with non-technical players and other technical headcounts -- as developers and systems admins are not cut from the same technical cloth and are indeed different kinds of people -- is an absolute must. This includes good written communication and excellent spoken word skills. If your potential candidate does not have these skills, I'd recommend that you keep moving through the pile.
It's important to have a serious conversation about these five attributes. Resumes will come in from all over the place, and it will be hard to decide who to call and who to put on the spike. The bottom line is this: once you sort through the noise, there are some great candidates out there that will be an excellent fit for your company.