What is DevOps Really? A Culture More than a Skill
There has been some confusion in the IT space about what this word actually means for business and what would have to change so we at Opsview defer to the experts.
The figure to the right shows DevOps as the intersection of development, operations and the often overlooked quality assurance but this intersection isn't the skill set of the people. Instead, it is the culture that brings the specialists in each area together to provide more overall value to the business.
Looking around on LinkedIn and seeing titles such as DevOps Engineer are troubling because that line of thinking brings to mind the saying that "a Jack of all trades is a master of none." You would quickly find yourself without any valuable specialized skills on your team.
DevOps isn’t just a trendy skill
Professionals in the IT field are subjected to new and exciting trends on a regular basis. As stimulating as this can be, it can be equally distracting. It doesn’t help when management reads a new whitepaper or blog post and make the decision: “We need that now.” Often times the new buzzword is something that everyone wants to start doing but may be cost prohibitive. This is true of technologies like big data and software defined networks because it requires new skill sets, new software, or even new equipment with a relatively hazy ROI metric.
DevOps is different. The name appeared to speak for itself so it didn’t seem like it could be any more straightforward and it appeared to cost the company nothing but training. The problem was that the name of the movement seemed so intuitive that many missed the point.
DevOps is not a job or a skill set, it is a culture. A culture that is made easier to adopt when the right tool set is used. These tools facilitate better communication and collaboration while the talent pool remains specialized.
Don’t Try to Be an Expert at Everything
The unfortunate truth is that humans can only reasonably be exceptional at a few things. By expecting a developer to learn the intricacies and nuances of systems administration they will lose out on learning valuable skills to make them better developers. Likewise, asking an administrator to start developing code because they have some scripting experience is like asking someone to open a restaurant because they cook at home.
This is why it can be frustrating to see job postings and titles on LinkedIn that read “DevOps Engineer.” The position ideally saves money and time by having a team of engineers that are good at both writing the code and pushing it into production. However, in practice this is a decision to embrace mediocrity company-wide.
All coding that should be done by the operations team should be for the purposes of automated provisioning, maintenance, and problem resolution. The development team should be developing test plans with the QA team and for the QA team, not testing code themselves.
It is the collaboration that makes the sum of the parts more valuable, and that’s what DevOps really is.