Roles and responsibilities on DevOps teams
Regardless of your team structure, all high-functioning teams practicing DevOps regularly share knowledge and experience between development and operations, whether during regular meetings, or people working across different teams, and/or having team members work across both functions. A high-functioning team is marked by the benefits of DevOps: faster time to market, improved lead time, higher deployment frequency, higher quality deliverables, better team culture, and increased collaboration across teams and departments.
DevOps teams are usually made up of people with skills in both development and operations. Some team members can be stronger at writing code while others may be more skilled at operating and managing infrastructure. However, in large companies, every aspect of DevOps - ranging from CI/CD, to IaaS, to automation - may be a role. This can include a release manager who coordinates and manages applications from development through production, to automation architects who maintain and automate a team’s CI/CD pipeline.
So what does it take to join a DevOps team? The job requirements to join a DevOps team evolve due to new technologies and techniques, but the qualities of a good DevOps team are always the same. Solid technical skills, good communication, a team player mentality, and adaptability are some of the core traits of a strong DevOps practitioner. A combination of these is probably more important than an encyclopedic knowledge of Kubernetes or Git. But it doesn't hurt to have both!
Another ingredient for success is a leader willing to evangelize DevOps to a team, collaborative teams, and the organization at large. It doesn’t have to be someone with “manager” in their title, but anyone willing to convince skeptical team members to start bridging the gap between their team and an outside team, whether it be developers, operations, or a platform team.