There are plenty of skills that are important to have if you want high-performing DevOps in your enterprise. To help us know what to those are, the DevOps Institute (DOI), and Jayne Groll, co-founder and CEO (@JayneGroll), are here to help. Here are insights from her All Day DevOps '19 presentation, Upskilling DevOps.
The DevOps Institute is a continuous learning community whose goal is to provide a framework of skills and ideas for advancing DevOps in the industry. Let’s look at some results backed by research they’ve performed.
IT is a system of autonomous other systems. The various aspects of IT learning didn’t start off unified. These ideas, such as scrum and continuous delivery, emerged separately. Then DevOps came along as yet another initiative: how we deal with post-production support.
The problem with these separate systems of systems is that there’s no integrated way to work across our tools and teams. We need to stop the system of systems and view software delivery as part of a single value stream; we need to be thinking end-to-end about our software.
In order to develop into systems thinkers, we must become T-shaped professionals. This means we have a wide breadth of knowledge but also deep knowledge in a couple of areas. For example, if we’re software engineers, we need a basic knowledge of test-driven-development. A cloud engineer may need to know some Python for scripting deployments.
It’s what’s at the top of the T, as a T-shaped professional, that will bring your software performance to life. We need that broad knowledge to support key specialized skills for that performance. This includes soft skills.
The Skills You Need
The DevOps Institute partnered with Chief Research Analyst Eveline Oehlrich to ask what software skills are must-haves, nice-to-haves, or unimportant to software professionals across the globe. The results? There are three key “must-have” skill categories: automation, process, and soft skills.
Automation seems obvious, but the survey showed that soft skills and technical skills are equally important. This comes from an almost equal distribution of operations professionals and software delivery professionals.
IT operations and security are also key. Everyone needs to understand their software development lifecycle, and they ignore it at their own peril.
But the biggest takeaway is this: organizations must recognize that hiring from within is key to high performance. They need to upskill those employees to meet new roles.
But Which Skills Are Most Important?
According to the DevOps Institute’s research, depending on the role of survey respondents, there were different perspectives. The C-suite valued automation and soft skills the most. Managers put importance evenly across process, automation, and soft skills. Individual contributors thought automation and process skills were must-haves, with soft skills closely behind in importance.
Interestingly, all three groups rated process skills equally. It seems to be universally understood that all roles need to grasp the processes in which they participate.
Breaking down functional skills, we see that IT operations knowledge was considered the most important one. Even if not directly involved, software professionals need to understand how their software works in production.
What else is valuable to those polled? Security practices were at the top. We professionals are increasingly aware of security’s critical role.
As far as technical skills, we need to understand that cloud reigns over everything else. This will be key for us if we want to handle the complexity that our systems contain. Trailing far behind knowledge of the cloud are a few things, like:
- Knowledge of specific frameworks
- Experience with UI design, and
- Mobile environment knowledge.
Software professionals are gaining an understanding of how important it is to create a healthy user experience.
With process skills, understanding your software development lifecycle leads the way in importance, but just by a little bit. We must know how software is incepted, implemented, put into production, and used.
We also need to track and understand this flow: not just our part in it but also the overall value stream. And it’s vital to know our source control tools and processes, such as continuous integration. We need to know how this fits within the flow of our software. In IT we love our frameworks, and this shows in the bottom half of our skill breakdowns. We’re not loyal to a specific framework, but it’s worth knowing what framework is useful for what environments.
The Takeaway? Work on Being T-Shaped, on Your Soft Skills, and on Your Automation Skills
Soft skills, where the key is to be a good problem solver and collaborator, is almost universally understood to be of critical importance. Software is a team sport, not one of individual acumen.
Personal values are also important. We’re here to improve humanity. Survey respondents seemed to understand that empathy is an important learned skill and not just something that one is born with. The message here is strong: if you’re looking for a good job, you need to deliberately develop your soft skills.
To wrap up, a final emphasis: we should become T-shaped. No matter what role we’re in—whether it’s security, operations, or software delivery—we must understand the breadth of skills needed across roles. We don’t have to be an expert in the skills of other roles; we just need enough knowledge to be multidimensional systems thinkers.
We are all part of the same value stream. Polish your soft skills every day and keep building your automation skills. Look at recent technology, such as Kubernetes. Stay curious and be aware that your company is cultivating DevOps skills from within.
If you’d like to learn more, you can find a full copy of the report discussed here at the DevOps Institute website.