Devops is a culture and philosophy that, in a nutshell, aims to unify the formerly separate silos of development (the people who create applications) and operations (the people who make sure those applications are working the way they should) into a single team. This team uses continuous integration, continuous delivery, and testing to release frequent incremental improvements to the existing codebase into production.
Logically, then, a devops engineer is someone with the skills necessary to serve on such a team. But like all things devops, the precise definition of a devops engineer can be difficult to pin down—and some people claim the term “devops engineer” isn’t a meaningful job description at all. Nevertheless, more and more companies are saying that they want to hire devops engineers and are willing to pay them good money. Let’s see what it is they’re looking for.
Devops engineer defined
Implementing a devops philosophy doesn’t mean that you’re replacing your entire development and operations teams with an undifferentiated mass of devops staffers. Different staffers will have different skills. There will be programmers, sysadmins, DBAs, and so on, all working together.
When companies use the term devops engineer, they want someone who can help tie all of these roles together. The company blog for Altexsoft, a software engineering firm, describes the role this way: