As the DevOps model has grown in popularity since its origins more than a decade go, the movement has spawned more than a little debate about the potential of DevOps to "kill" developers. Now that DevOps has become a mainstay of the software development world, it's time to ask: Did that happen? Did DevOps end up killing developers, as many predicted? The short answer is no. Here's why.
How DevOps Might Have Killed Developers
When people (starting with the programmer Jeff Knupp, who touched off the debate in 2014) accused the DevOps model of "killing" developers, what they meant essentially was that DevOps deprived developers of being able to specialize in what they do best: writing code.
In other words, Knupp said, DevOps was forcing developers to become jacks-of-all-trades. In a DevOps organization, developers are supposed to work closely with other technical staff to make sure that the code they write can be tested and deployed seamlessly. What this means is that the DevOps model places greater pressure on developers to learn skills like software test automation and application deployment processes.
By demanding an ever-larger skillset on the part of developers, the argument went, and by requiring them to complete tasks not directly related to coding, DevOps was killing traditional developers. In their place came "DevOps engineers"--task-masters who were supposed to be and do so many different things that they often couldn't do any of them very well.
None of these arguments was unreasonable. The DevOps model did indeed expand the skillsets that developers had to possess to succeed in their careers. It also did away with a world where developers simply wrote code, handed it off to the IT team and called it a day. Today, even in organizations that haven't gone all-in on DevOps, developers are more answerable than they were a decade ago for code that has security, usability or performance problems.
Developers Are Alive and Well
This does not mean, however, that the death of developers that some folks predicted five or six years ago ever came to pass. There remain plenty of jobs for software developers--about 150,000 right now on one major job site, compared with only about 16,000 positions for DevOps.
I also have yet to hear of any university that offers a degree specifically in DevOps, although most still offer traditional degree programs in software development. This suggests that the up-and-coming generation of programmers will think of DevOps only as an ancillary skillset, not the main focus for anyone who wants to work in software development.
My hunch, too, is that many of the DevOps "offshoots"--concepts like DevSecOps and QAOps--have kind of plateaued. They remain influential, but they have not evolved into distinct disciplines or become all-encompassing ways of redefining the roles they impact (security, in the case of DevSecOps, or software testing, for QAOps).
Thus, not only is it true that the DevOps model never killed the developer, but it also never killed the security engineer, the software test engineer or anyone else whose job responsibilities were affected by--yet not totally reshaped because of--DevOps.
How DevOps Has Changed Software Development
The DevOps model has, of course, caused some irrevocable changes to software development. Concepts like CI/CD, automation and "continuous everything" have become central to the way many developers work. They have DevOps to thank for that.
More broadly, there is an expectation that developers today will be able to understand all of the systems and processes that IT teams use, even if the developers don't have to work with those systems directly. Developers today have to know how things like cloud IAM frameworks or APM platforms work, and why they are important for deploying and managing the applications that developers write.
But these changes do not mean developers' unique skills are being undercut. It just means they have been modernized for a world in which application environments move faster and run on a larger scale than they did a decade ago.
Developers vs. DevOps Engineers
It's true, too, that "DevOps engineer" remains a common job title for roles that fall somewhere between traditional development and traditional IT work. In the past, some developers saw these sorts of jobs as threats, because they worried that all developers would be forced to adapt to "DevOps engineer" roles.
But, again, that hasn't happened. There remain tens of thousands of jobs for developers in the conventional sense. Developers work alongside DevOps engineers; they don't compete with them for the same roles.
And that's how it should be. To me, the DevOps model was never about replacing traditional developers or turning everyone into a DevOps engineer. The core goal of DevOps is merely to achieve better collaboration between developers and other staff, not merge all technical roles together into an awkward conglomerate.
In short, the DevOps model never killed the developer, and there is no reason to think it ever will. On the contrary: DevOps helped modernize developer roles while also creating a new role--DevOps engineer--to support the work developers do. If you want to specialize in programming alone, you can still do that.