DevOps: Start large or start small, but never forget about communication
Whether you specialise or try to learn the entire tech stack, remember the three Cs of DevOps: concepts, communication and conflict resolution
DevOps, the blend of development and operations teams - and, increasingly, a term used to refer agile methodologies more generally - has revitalised the way applications are built. Instead of shunting code back and forth across the company whenever a change is needed, DevOps means multiple people collaborate on it at once, all with a sense of ownership. It's one of the most rapidly adopted changes to the way IT teams work in recent history, and everyone wants a piece of the action.
Getting into DevOps today can be difficult: demand for professionals is high, but so is supply, and standing out from the pack can be hard. It can help to specialise, says Aliaksandr Shulyak, senior site reliability engineer at Divido and former judge at the DevOps Excellence Awards.
"The larger the team, the narrower your specialisation can be: so, you can focus just on one tool or one cloud and be confident in it. In a small team you need to do everything."
It's important to understand that you don't need to know all the tools to be successful in DevOps; it's more important to know the concept that a tool is made for.
"Take CI/CD: the concept is common across all tools, but you have Jenkins, TeamCity, GitLab, Concourse, Oracle, whatever. In general, they are similar, they do just one thing in slightly different ways. So, you need to know concepts, you don't exactly need to know tools."
Specialisation is only one route to success, of course, and it's not the only one - in fact, it can be limiting. Shulyak points out that he's trained on Amazon, and wouldn't apply for a role that asked for Google Cloud expertise.
Unlike large firms where it's easy to specialise, small companies often ask their team members to "do everything." That can be helpful in a different way, especially for people who are just starting out in the DevOps space. Being involved with every task means learning how every piece of the DevOps sausage is made, so smaller firms and teams can be a great place to expand your knowledge.
"In smaller teams you can easily experiment with any tools or any techniques you want to bring... If you have enough resources you can experiment with whatever you want and understand if it's fit for your current situation or not.
"In larger teams, sometimes you have the freedom to choose what you want to do, but usually it's a more formal way of doing things, so you need to get through the approval of your team lead, the approval of protocol and stakeholders, planning for some sprints in the future and et cetera, et cetera. So, it's a much slower process."
It's more like a technical and management job
Up to this point, we've mostly talked about hard skills: experience with concepts like CI/CD, and tools like Amazon, Kubernetes and Terraform. But soft skills are just as important for a DevOps professional, even if they don't always appear on job adverts.
As Shulyak mentioned, an important part of working in DevOps is the ability to gain approvals from managers and other departments, and that means that your IT staff will need to talk to the business - an increasingly common way of operating. They'll need to work with operations, of course, but they might also need to reach out to finance, HR and possibly the board, too - especially when you're just starting to promote a DevOps culture in the business.
"The DevOps side of the DevOps job is not only about operations, it also about communicating with everyone," says Shulyak. "It's more like a technical and management job."
Communication leads in to other important traits, like conflict- and problem-solving. In fact, it's so important for DevOps professionals that Shulyak is hesitant to label it a soft skill. "It might even be a hard skill," he says, "because without communication you cannot do DevOps as a culture."
Finally, anyone working in the DevOps field must be curious; not in their mannerisms (though few businesspeople would argue that IT departments are wholly without their quirks), but in their approach to work. Think about any tool you use on a daily basis: have you merely scratched the surface, enough to do your job, or do you really understand how it functions and how to make the most out of it?
"For example, if you know Kubernetes you can tweak it to any platform. If you don't know it, it's still a great set of concepts that help you to develop, but you will not be able to keep it in production in live states.
"So yeah, you need to have curiosity to get to know the tools and systems you are using."
DevOps has changed the way IT departments operate, but there are many variations in the way businesses handle it - and in the way professionals approach a DevOps career. Some will opt to start in a smaller team to enjoy more freedom, more responsibilities, and a wider understanding of the whole technical stack; others choose a larger team that can support their development in a specialisation.
"It's something you need to keep in mind while you're starting your DevOps journey. If you're already in a middle-senior position, you probably know what you like, but if you've always worked in a smaller company it might be time to find a bigger teams and see how it feels."
We are now accepting entries for the DevOps Excellence Awards 2022.