If you are a devops engineer working remotely or on a distributed team, you have a couple of challenges that can make or break your success working with agile developers, quality assurance engineers, site reliability engineers, and other system operators.
The first challenge is the ops responsibilities: making sure the systems and services operate reliably. According to a recent survey on the future of monitoring and AIops, 61 percent of respondents state that both the network operations center and devops engineers are responsible for responding to system and application incidents. So, most devops engineers need to help resolve operational issues, such as scaling infrastructure, dealing with blocks in build pipelines, or providing subject matter expertise on security issues.
The second challenge is the dev responsibilities, especially developing and supporting CI/CD (continuous integration/continuous delivery) pipelines, infrastructure as code, and other automations. Devops engineers may be members of agile development teams and take on user stories to build or enhance automation. Other times, devops engineers can be part of a shared services team that supports these automations for multiple development teams. Regardless of the approach, creating CI/CD and infrastructure automation requires collaboration to understand functional requirements, operating environments, compliance factors, security posture, and performance considerations.
Although devops practitioners have dev and ops responsibilities, devops more specifically refers to the collaboration between application development and IT operations. My definition of devops focuses on collaboration. “Devops is about the culture, collaborative practices, and automation that aligns development and operations teams, so they have a single mindset on improving customer experiences, responding faster to business needs, and ensuring that innovation is balanced with security and operational needs.”
Devops requires establishing working principles to drive collaboration and foster the culture. If you consider yourself a devops engineer, study these best practices, especially if you work remotely or on a distributed team.
Meet your teammates where they are
The first important consideration is to understand who your teammates are and what tools they use to collaborate. This sounds simple, but it may not be in large organizations where departments and teams have some autonomy to select their tools and collaboration practices. It’s further complicated because, as a devops engineer, you may have to use one set of tools when working on dev responsibilities and a second set when responding to ops issues.