I have written about DevOps recently on this blog. You can look at my DevOps introduction here, but to summarise the concept, DevOps refers to Development Operations. It is a combined set of software development practices that bring together the development of software with IT operations. The aim is to improve the systems development environment so the software lifecycle can be shorter – it’s bringing software development closer to the business that it serves.
So far it sounds like DevOps is just focused on software development and the environment used to build software systems – it’s all about coding and process. So what are the skills needed to work in DevOps? Logically you might assume that ‘hard’ subjects such as science, technology, engineering, and mathematics (STEM) might dominate, but I read an article recently that turns this expectation upside down.
Tech Beacon magazine listed four key ‘soft’ skills that everyone working in DevOps requires and none of them are focused on STEM skills. They are:
- Collaboration and Communication
- Customer Experience
- Problem Solving
Why would these be the essential skills and not coding or process design? Well think for a moment about what I said in the introduction – we are bringing the software development process closer to the business that needs this technology system. So some of the key skills will be focused on that process of getting closer to the sponsoring business people.
Collaboration with people outside the IT team will be essential and the ability to communicate technical problems to non-IT professionals. Empathy implies more listening – especially listening to the people who want the system built for their business. Trying to put yourself in the shoes of the customer so you can improve the customer experience is also an important skill that many people ignore, and the ability to solve problems as they are thrown at you is extremely valuable in any team.
I would argue that these four skills are essential for any DevOps team. If you can find people to join the team with all these skills then it is almost certain they can learn the technical skills you need them to use. If you hire for technical ability only then it will be much harder to create great communicators or problem-solvers through training.
It may seem like the opposite to conventional wisdom, but sometimes the best team members in a technical DevOps team are the least technical.