Is your organization ready to fully embrace containers? Consider these best practices to ease the transition as you adopt containers at scale.
DevOps engineers: Common misconceptions about the role
What qualities and skills define a future-ready DevOps engineer? Hint: It's about people, not code deployment
There was a time when engineers worked almost completely in a vacuum, with little interaction on the business side and almost no direct feedback from those who used what they made.
Then came DevOps. Today, the collaboration between development and operations throughout all stages of the development lifecycle has become invaluable to organizations large and small.
No longer are the makers (the developers) walled off from the operators (the people who deal with what’s been made and sent out into the world). DevOps has led to, among other things, faster and more frequent delivery of more reliable software.
[ How can automation free up more staff time for innovation? Get the free eBook: Managing IT with Automation. ]
The trouble with "DevOps engineers"
But DevOps is a methodology, not a role. Rather than labeling your engineers “DevOps engineers,” you should acknowledge that the role of the engineer in both development and operations has evolved – and it is continuing to do so. Because divisional siloing is a thing of the past, ceaseless change is no longer one department’s job and another department’s problem.
[ Want to build a solid DevOps strategy? Read DevOps process: 4 ways to improve. ]
Today, all software engineers need to understand cloud infrastructure architectures, and all infrastructure engineers need to understand software engineering; otherwise, they risk becoming superfluous to business requirements. The old-school IT silos are gone, and every engineer must be more well-rounded and contribute more than just the activities traditionally associated with their job title.
Systems thinking allows an engineer to see the whole rather than just the parts – and to understand the relationships between them. In this way, a DevOps engineer can see the whole business as an ecosystem, understand the interrelationship between that business ecosystem and software development, and work within this much more dynamic environment, in which components may need to be adjusted to fit a given situation or needed outcome.
To remain relevant in today’s environment – and for a future we would not have even begun to imagine in pre-pandemic days – every engineer should know how to build software in a DevOps way. Every engineer should care about metrics and logs in production and be able to configure Jenkins pipelines and Git instances. And every infrastructure admin should be able to support and automate tools.
Everyone on the IT team should understand Linux, Docker, and Kubernetes, for example, along with networking and deployment architecture. At the same time, every engineer must care about making customers happy.
[ Need to explain key DevOps terms to others? Get our cheat sheet: DevOps Glossary. ]
Misconceptions hold DevOps professionals back
To reach its full potential, DevOps needs to be embraced and supported by all levels of the business and by technical contributors. If DevOps culture is instead viewed as a singular job or role, you might still make small, local improvements by adopting DevOps best practices, but the impact of those practices will be limited.
This doesn’t mean you can’t have DevOps champions in a specific role to lead the charge in adopting a DevOps culture, but that must come with the necessary support of establishing the culture.
IT leaders who misunderstand this role often make the mistake of hiring DevOps engineers who end up in a silo, trying to implement best practices and constantly hitting cultural roadblocks. This limits the potential of these professionals and impedes sustained improvements and wider adoption of best practices that require buy-in from everyone. The saying “Culture eats strategy for lunch” certainly applies here.
The human skills of DevOps
So rather than planning to evolve the role of DevOps engineer, identify those people within the IT team — those who’ve been in development, architecture, system engineering, or operations for a few years but who also have the soft skills needed to both pitch ideas and deliver on them.
DevOps engineers should focus on problem-solving skills and on their ability to increase efficiency, save time, and automate manual processes – and above all, to care about those who use their deliverables. Workplace disruption has happened. Communication has proven to be sometimes challenging in our virtual world. Projects stalled by this disruption must be restarted. There is already a skills and gender gap within IT.
The DevOps engineer must become one of what the DevOps Institute calls “the Humans of DevOps.” These are engineers who have people skills along with process and technology skills. Learning among team members as well as within the enterprise is paramount, and there has never been a better time to do it.
Consider whether a DevOps engineer has the soft skills to facilitate the learning of team members and to continuously transform the team according to the needs of the business.
The future-proofed engineer is able to work across teams and functions – not only within IT but across the business. They are able to leverage specialists and incorporate the optimal frameworks and methodologies that deliver value at the speed of the competitive environment with the quality required by customers.
The future of DevOps roles: Changes ahead
Here are some key changes that will be expected in the DevOps role as it evolves:
- Ops and DevOps engineers must understand what is being delivered to customers to ensure that there is complete traceability back to user stories and tasks.
- Security will be even more top-of-mind, especially as software continues to be an amalgamation of open source, libraries from other organizations, Google Maps, and in-house and outsourced development.
- Time to market via automation and process improvement will continue to be important as batch sizes decrease, and customer feedback is tantamount. The side benefit is that automation will allow the DevOps engineer to focus more on enduring value and less on repetitive manual tasks.
- The cloud will play an even bigger role and embracing the cloud mindset will affect every department in the organization, with DevOps taking the lead and driving much of the change.
The DevOps engineer will be key in making the changes to process, automation, and resiliency required to scale DevOps in the enterprise.
The days when engineers worked in silos, with minimal interactions from their business peers, are over. Accordingly, the DevOps engineer label has lost its traditional meaning. As a new DevOps culture emerges, organizations need to support the direction that this changing development and operations role is headed.
[ What do great agile leaders do differently? Read How to be a stronger DevOps leader: 9 tips. ]