This is a newer role and represents the bridge between the worlds of building software and the operations required to support it. As more organizations move into the cloud, and running systems becomes more about writing code than about configuring hardware, you’ll see more of these roles and responsibilities being created.
This role requires a candidate who understands the operational best practices of a website, but who also has the programming skills (or at a minimum strong scripting skills) of a software engineer. It is very hard for someone to fill this role without at least some experience running a production website, unless the role is in a bigger company with a larger support staff to properly train new hires.
Software engineers are usually great fits for DevOps positions; excellent candidates will have a great passion for debugging and troubleshooting systems, and deeper systems knowledge. DevOps candidates can also come from system administrator roles who have a strong software and coding background, but with a solid handle on the operations required to deploy and release software. In general, this role usually requires a decent amount of programming, so it is more common to see an engineer moving into a DevOps role than a system administrator, because of the programming knowledge required going in.
Questions for DevOps Engineers:
- Q: Have you ever been on-call? Do you mind it? Why or why not?
A: First and foremost, look for someone with some basic operations experience. Most operational engineers can tell you stories until the cows come home. Ask about the worst time they were ever on call. What happened? How did they get things resolved? Great candidates will give you confidence in their abilities.
- Q: What are some attributes of a great post-mortem meeting?
A: Post-mortems are key in a DevOps role, since they are the meetings that usually follow an incident or issue, and are focused on understanding what went wrong and how to prevent it in the future. Most operational engineers will have opinions be able to offer format and agendas that would make sense.
- Q: How do you know what to monitor in a system?
A: Some engineers will tell you that you can never have too much monitoring. However, there are always metrics that matter more than others. For example, up time (is the website up or not?) is one of the most important, along with number of transactions per second, and system health (memory usage, CPU, IOPs, etc.). As they rattle off ideas, ask why and how frequently these metrics should be watched. Great candidates will have tons of examples.
Return to Technical Hiring Guide or get descriptions and interview questions for other tech roles: