I have been working with several organizations as they implement DevOps. As these enterprises make the transition, it’s been fascinating to see both the challenges and benefits that implementing DevOps provides. It’s also interesting to see how the developer role changes, because engineers become much closer to the customer than in traditional product development organizations. As developers lie at the heart of any transition to DevOps, I want to look at some of the key skills that I believe successful DevOps engineers need.
Firstly, it’s important to point out that having the technical chops, ranging from strong programming skills, to understanding cloud services, to familiarity with the tools required for continuous integration, are of course important for DevOps engineers to be successful. However I believe some of the most overlooked skills focus on communication, business understanding, and alignment to business metrics. In particular I believe that developers need:
- Communication skills. For a DevOps team to work well you need people with the communication skills, flexibility, and proactiveness to make it work. Similar to Agile development teams, soft skills are often overlooked, but are incredibly important, not just for the individual engineer, but also in making the organizational cultural shift to implementing and then standardizing DevOps. Individuals for example who have experience as Agile Scrum Masters are often a good fit for DevOps because they have experience communicating between developers, testers and business stakeholders.
- Business skills & focus on the customer. In addition to having communication skills, business understanding is also critical. Organizations look to DevOps because they want faster, better quality product releases. Successful DevOps engineers understand what their organization’s customers are looking for. In some cases this may mean changing their perspective – for example if they are just starting in a DevOps environment and are coming from an operations background, their goals were to ensure the performance and security of the application. Their focus as a DevOps professional must now be more focused on the customer.
- Knowledge of business metrics. I recommend DevOps engineers develop a solid understanding of business metrics. Typically engineers are focused on internal metrics, or the performance of their application. In DevOps it’s essential engineers develop the skills to communicate effectively with the business, shift their mindset, and measure their contributions by metrics such as customer satisfaction and time to market.
If developers can master these capabilities, they become indispensible to organizations as they make the transition. And this is really at the heart of a digital transformation. To give an example, Belatrix worked with a software-as-a-company which was looking for help with both developing and testing new features of their software product, in order to get to market quicker. Here we quickly set-up a new testing environment and implemented the automation platform, Chef. This meant the SaaS company could deploy faster on different environments and ensure everything was properly configured. We were able to trace increase customer satisfaction directly to these changes, as new features that their customers wanted were implemented quickly and efficiently. But ultimately what made this transition successful was the attitude of the developers who embraced this new way of working, and were able to acquire both new technical and business skills.