Understanding & Hiring DevOps Developers
What is a DevOps Engineer?
DevOps describes a wide range of roles. On one end of the spectrum, there are back-end developers who focus on building infrastructure and automation tools. On the other end of the spectrum, there are systems experts who serve as the first line of defense against production outages but rarely write code aside from the occasional shell script.
What skills are required to be a DevOps Engineer?
These will vary depending on the flavor of DevOps, but in general, it's important to have a strong understanding of all the different pieces that work together when running a software application — so things like operating systems, servers, VMs, containers, networking, and databases. They should also know about infrastructure platforms like AWS, Azure and GCP, orchestration platforms like Kubernetes, and configuration management tools like Terraform, Chef or Ansible. If they will be writing custom code to extend these tools, they will need to be proficient programming in languages like Go or C++. They may need experience writing automation scripts in languages like Python, Ruby, or Bash.
DevOps Engineer archetypes
Operations-Focused DevOps Engineer
This is an engineer who focuses on operational excellence. They have strong practical knowledge of operating systems, and are often the first line of defense against downtime.
Cloud-Focused DevOps Engineer
This is an engineer who focuses on cloud systems. They have strong knowledge of modern tools and practices around deploying and managing large web applications.
Infrastructure-Focused DevOps Engineer
This is an engineer who focuses on building automated tools and other infrastructure to improve productivity, performance, and reliability.