Devops has been pitched as a way to improve collaboration between developers and operations persons, streamline software development practices. and even let developers take on operations tasks themselves. Instead, argues software developer and blogger Jeff Knupp, the concept has morphed into forcing developers to be jacks of all trades but masters of none.
In a recent blog post, Knupp argues against devops and the full-stack developer. "The devops movement is so popular that I may as well say I hate the x86 architecture or monolithic kernels. But it's true: I can't stand it," Knupp said. "The underlying cause of my pain? This fact: not every company is a startup, though it appears that every company must act as though they were."
Developers can end up being tasked with other roles, such as database administration, quality assurance, or testing, while the people in those roles are not going to be tasked with software development, says Knupp, a software engineer at online advertising company AppNexus. (He says in his own situation, he has a fine relationship with his company's operations team.) "What began as an experiment aimed at increasing software quality has become a farce, where the most talented employees are overworked (while doing less, less useful work) and lower-level positions simply don't exist." The effect of the full-stack developer is to make them technology utility players, he argues.
In an interview, Knupp said there are now fewer job opportunities for traditional operations and database administrators because developers are taking those jobs unintentionally. Developers, meanwhile, have less time to code. Knupp said his stance is based on observations he has made at previous jobs as well as from people responding to his blog post. "If they're a devops person, then they hate the blog article. But if they're a developer that this is happening to, they identify with it."
But at consulting firm BenchmarkQA, devops advocate Jeff Roth dismissed Knupp's protests as "whining." By splitting such tasks as builds, coding, functional automation, and unit testing, a team of developers gets exposure to the overall software development picture, said Roth, Benchmark QA vice president of consulting services. Developers get "a bigger view than just their myopic view of 'I write code.'" The main benefit of devops, Roth said, is it can produce higher quality outcomes much faster in a more repeatable fashion.
Still, Roth agrees with Knupp to an extent. "I don't disagree that there's expertise. You can't make a BA (business analyst) become a developer," he said. "I can't necessarily make a developer become a QA (quality assurance specialist) person." There has to be a balance between being an expert and collaborating and sharing knowledge.
Both Roth and Knupp also concur that that definition of exactly what devops is has become muddled. "There are 10 different definitions of devops," Roth said. "Wikipedia has a fairly good definition, but devops is like agile. There's no one solid definition." For his part, Roth views devops as principles involving business persons, developers, and operations finding the slickest path to delivering software from idea through production.
"Devops as a movement, as a thing, has really lost all meaning," Knupp said. "No one can agree on what the term means." The word, he charged, has "been misinterpreted by companies to mean that developers do all the work."