Stop Hiring DevOps
Look. The reason its so hard to find (great) DevOps engineers is that is a shit job at most companies. When last I was hunting for a DevOps lead, most of the folks I talked to had war/horror stories about working at a company (or two or three) where they were on duty 24x7, the codebase was fragile, they got paged a lot (at 2a), and they weren’t given the time or help they needed to dig themselves out of the hole they were hired into.
If you’re a great backend engineer with DevOps skills, you don’t have to put up with that crap–you just take the ‘devops’ keyword off your resume, get a job writing code instead of maintaining servers, and let some other sucker get paged.
Realizing this might be why I was having such a hard time finding great DevOps engineers to talk to, I stopped trying to hire DevOps engineers–instead I asked my senior engineers to do DevOps and made it their top priority to prevent getting paged. They still don’t like being on pager duty, because it makes it harder to go mountain biking on the weekend, but besides that, they generally like the DevOps day-to-day work (when it comes up), they don’t get paged very often (almost never when they are sleeping), and most of the time its a false alarm that’s easy and quick to resolve. Bonus points: having the DevOps skill set and access rights spread out among all our teams means fewer pager duty rotations per engineer, each team can wrangle infrastructure when needed without blocking on another team, and on the rare occasion of a real emergency there are a lot of people that can help.