HACKER Q&A
📣 amazonavocado

Why was system admin re-branded as devops?


I am thirty seven years old who has been in the field for 11 years on-and-off. This just gives you only an idea of when I started. I have experience in writing web software for various commercial applications. I don't have experience with scalable design, unit testing, continuous development, or agile development methodologies. I am comfortable with the mechanics of writing small programs.

In most places, I would be considered a junior developer having some mastery over smaller scale work before delving deep into software production and design topics. This confuses several people when they see my years of experience, especially recruiters who usually have to cope with their own limited sense of technical knowledge to accurately fit workers into proper roles.

Seems like I have greatly missed out on a part of the pipeline that has creeping into more developer jobs, and I (possibly a bad luck thing) somehow has continued to evade this invasion through particular jobs that don't expose me to it.

Despite that, I tell myself and others that I am not a systems admin, but a developer. I have 0 experience working with an "operations" team and have little experience with the deployment part of the pipeline, with the exception of blogs and brochure-style websites that use shared hosting services.

My understanding is that it's the people that would be doing the job of fortune 50 companies if they were trying to roll their own data infrastructure?

If developers are expected to take more roles, doesn't that turn development into "second class" work if no one is left to fill a dedicated role for software development?

With the work I do, I just "throwing it over a wall" and we pay a third party hosting service to handle it. Uptime, stability, that's usually left on them so I don't really need to think about it.

Yet if new devops work involves more and more writing code for automation systems, then perhaps we need to make a case for why has rebranding take place. Has it been mainly due to shifting more responsibilities around different people?


  👤 wpietri Accepted Answer ✓
As a recovering sysadmin, I'd say it's not just a rebranding. Sysadmin work was a mix of hardware, networking, OS, and app operations. With the rise of AWS, etc, a lot of that work got spun off to cloud operators. The "cattle not pets" shift removed another chunk of it. So true devops work is more applying developer thinking to what was left of operations.

But I want to address this part:

> If developers are expected to take more roles, doesn't that turn development into "second class" work if no one is left to fill a dedicated role for software development?

The answer is no. My dad started writing software in 1968. From the way he tells it, good developers never just threw things over the wall. They made things for people to use, things that ran efficiently within the constraints of the platform of the day.

I feel the same way today. Devops approaches give teams control over (and responsibility for) the whole lifecycle of the software they write. That's great! Instead of wondering what happens over in ops-land and hoping we get it right, now we can make sure it's right. And this is aided by the rise of the observability movement, giving developers the ability to see inside the running software.

To my mind, there's no such thing as "dedicated" software development, where it happens in isolation. That's like wanting to cook food without caring whether people eat it or how they're enjoying it. I think it's great that teams are expected to operate what they build, and are given the right tools for that.


👤 vosper
I don't think DevOps was really supposed to mean "developers should also do operations" (though, that's a lot of what has actually happened, and you're right that with Cloud Stuff and other third-party solutions like Heroku a lot of specialist sysadmin-era knowledge isn't needed in many places anymore)...

I think it's actually supposed to mean "the people doing operations should also be developers". They should have the technical skills and the agency to create software to solve their problems. And to the extent that sysadmins hacked together perl scripts or bash scripts to solve problems, it is presumed that it would be better if they were more skilled software engineers who would have hacked together better solutions - maybe less arcane, less one-man-band, better abstractions, reusable, less copy-paste, etc... I don't know if that's fair.

I think it's half true and half rebranding. DevOps theory - and the services that go with / enabled it - has really changed how a lot of software teams work. And the rebranding helps with the paycheck, too - which is why all your DevOps teams are now restyling themselves as SREs (and hey, if they actually do some of the SRE stuff then it's a win, right?)


👤 echoteecat
In the "bad old days" a company would commission capacity studies to see how many server they would need to run the parts of their service in data centers and colos. Then they would buy racks and racks of hardware that all had tags for which part of the system they were destined for. An army of network engineers would make sure that the systems were interconnected to the right routers and switches, and that the networks were appropriately segmented. An army of sysadmins would take all of that raw hardware and would painstakingly follow endless checklists and procedure binders to make sure that each piece of hardware was correctly configured to run its part of the system.

But, with the cloud, you buy hardware, stick a base OS on it, and it becomes an amorphous amount of cpu cores, RAM, and harddrives (or at least we try to make people think it works like that). And if everything now runs in a VM, or a container, you can "just" write software that says "I need 6 database servers, 8 event bus servers, 9 back end servers, and 3 load balancers, and we'll use a CDN for all the static assets." (gross oversimplification). And if you need to reconfigure it to be 5-7-12-5-9, you just stop the old VMs and start new ones. You don't need to follow a checklist to make sure that you've correctly uninstalled MySQL 5.6.9, and need to install MariaDB 10.1.35.

DevOps is a very different mindset to traditional System Administration.


👤 ProphetMargin
System administration has been going the route that network administration went a few years prior: Automate and turn everything into a process, so you can hire the cheapest possible people that are capable of following a process and using some pre-made tools. Software development seems to be heading that direction too. As someone who spent the first third of their career in LAN/WAN networking, the second third in Solaris and Linux administration, and the last 10 years or so in the embedded and RTOS areas, it's been painful to watch it happen.

👤 specialist
When I complimented my teenaged son's new found goth sensibilities, he snuffed and deigned to inform me that in fact he was "emo". So I asked for clarification. Best as I could tell, in his opinion, "goth" is what old people did.

👤 CyberFonic
In my experience, a decades ago, many sys admins never wrote programs, not even scripts to automate their work. This was more the case with IBM and similar mainframes and minis. In those environments the networking and various subsystems were complicated enough to require a team just to make sure things worked well. Many enterprise Windows deployments were also like that.

As programmers were increasingly required to administer the machines and networks they worked with, they also started automating their work a lot more than was possible with the rigid enterprise systems. Hence the emergence of the fusion of development and operations in certain cases. I think that the term "devops" can mean different things depending upon the technologies being used at a given site.


👤 rachelbythebay
It’s a warning. If they call it that, be wary of signing on.

Unless, you know, you like doing ops work all day every day.


👤 brogrammernot
The same reason that Quality Assurance or Manual testers as been re-branded as “Quality Engineering / Quality Engineers”. Everyone wants to be an engineer and it’s a recruiting tactic.

Do you see many DBAs anymore? I haven’t seen them for awhile, I’ve seen plenty of Database Engineer or Database Developer job postings.

I’d say if they’re going to call you an engineer, asked to be paid like a software engineer.


👤 sunstone
While they are similar my sense is that Sysadmin is an inward facing function supporting the organization whereas devops is outward facing technology dealing with the public on the internet. Each environment has its own challenges.

👤 burpsnard
first software i bought came in a box, disks and manuals.

now i rent an online service.

the coders behind each of these ventures have different tasks : the first, devising installation and operating manuals for an offline world, the second for a day by day continuous challenge of measuring and updating the service's capabilities and market value


👤 sergiotapia
The clear answer is that corporations paid a lot of money for this change. Google's AWS's Microsoft's all wanted sysadmin to go away and devops to be in as a way to sell their services. Read more into it