DevOps is a horribly misapplied term. I recently referred to a client systems administrator as a "sysadmin", because they were doing sysadmin things: provisioning and configuring production hardware, networking, backups, databases, etc. I was chastised by the [much-younger-than-I] CTO, who said he "hadn't heard the term sysadmin in 20 years" and that they were the DevOps team.
No, sorry. They were sysadmins. DevOps is valuable role, and I'm glad there's a focus on supporting developers and their needs, and in empowering developers to manage their own build and deployment infrastructure. In a larger organization, having a dedicated person or team working closely with developers on software build, test, and deployment automation is great.
But if your job is maintaining production hardware, network, operating system, DNS, SSL certificates, firewalls, backups, etc., then you're a sysadmin. It's not a pejorative term. In a small organization, or within a team, that may be combined with a DevOps role. You may even have one person who maintains all your infrastructure for production and development, and even doubles as a developer. That still doesn't mean you label the entire role DevOps.
In a way it’s like how people call themselves “software engineers” instead of “programmer” even if that might be more fitting. You sound more competent when you say devops so you might be able to get a larger salary than a sysadmin.
Writing code (aka programming) is only a part of being a software engineer. CI/CD, tests, deployment concerns, etc. are what make a software engineer a software engineer.
Ehh, a software engineer is a programmer. The name evolved, but I don't think there is any organization that has software engineering and programming roles separated.
I know software engineers that hardly write any code at all. They spend most of their time working on specs and design.
No separate job title, though. But similar things are happening in e.g. architecture and fields like mechanical and civil engineering. Used to be that you would have separate draftsman but nowadays you could say “an architect is a draftsman” and it would be about as accurate as saying “a software engineer is a programmer”.
A programmer as a job doesn’t exists because programming is in great majority of cases the easiest part of software development and/or engineering. Unsurprisingly it’s the people who are the most challenging at this job and the term ‘programmer’ is completely orthogonal to dealing with people.
I'm working with a big corporate client right now and not only is their DevOps team just sysadmin, but build automation is also a separate team.
For my money, the crux of DevOps isn't specifically about who does what task with code, it's about vertical alignment. The notion that your build pipeline and infrastructure are as much a part of product development as the coding, design and everything else and everyone up and down the stack is aligned to the same goals.
Most sysadmins have pretty much always coded to some extent.
That was one reason that Perl became so popular among sysadmin back in the early 90's: it was a really useful language in which you could do much the same as you could with (and had a syntax which was similar to) shell scripting, sed, and awk, which were tools that were popular among sysadmins up 'till then.
> The job description of a sysadmin always required knowing at least one interpreted and one compiled programming language.
You'd be surprised. A large chunk (say, more than 50%) of the sysadmin job market are guys that can set up a Windows LDAP and/or some Cisco and Wi-Fi equipment, but no more.
It's why the 'DevOps' moniker was invented, to differentiate the old-school Unix sysadmins from the LDAP-and-Exchange guys.
It's my understanding good sysadmins have always been able to script.
It's bridging the gap between software developers and sysadmins where devops falls into place. Taking applications and optimizing their environments, rollouts, versioning, reliability of deployments, reduction of downtime, automating server provisioning, etc.
IMO the best devops are software devs with some sysadmin experience.
Okay, this may what it has become but I've done both jobs at the same time.
To me DevOps: One must understand the build system, stack, and the minutiae related to maintaining that build stream. It's a lot of work and at least in the past was more of a developer responsibility and not a "System Admin" type responsibility.
System Administration: Security, User Accounts, Policy, Backups, Network Configuration, Automation, Reliability.
Sure there is some overlap but these used to be completely separate functions and with good reason there was a lot to understand about each workflow.
Modern workflows (K8s, AWS, Docker, VMs, Jenkins, CI, TDD) have mostly take the "System" out of system administration while improving reliability and speeding development while (I think) suffering security. But that's another post or maybe I will write an article about it.
One type writes a script to back up systems. Depending on their level of expertise they may also include error checking and tie it into the monitoring/alerting system so we know when the backups don't run correctly.
Another type buys backup software, and configures it to back up their systems.
Each type has pros and cons, and each may feel superior to the other. However the ones who haven't coded may find themselves ill-suited to moving to a job where they are expected to be more of the first type, the coding sysadmin.
When interviewing prospective sysadmins, I've tried to tease out whether they are a "maker" or "doer" type of person. The makers tend to be more scarce, and the doers may be ignorant of how much they could be learning and experiencing if they widened their horizons a little.
It may sound like I'm very dismissive of the doers. I'm not, a good team is going to have a mix and have different levels of expertise too.
I worked at 2 companies since graduating. The first company had a DevOps guy that was strictly not programming (setting up AWS things, CI, etc). It was clear that programming wasn't his skill. Although he was able to learn it, he wasn't hired to write code. The second company I worked at, DevOps engineers were software engineers/computer science majors. They could immediately switch teams to a write-code-only team and be qualified.
Technically, yes. But because the word had been misused for so long, it has taken on the meaning of a developer/sysadmin combination role.
The word “irregardless” also got misused long enough that it became acceptable.
irregardless
irregardless /ˌɪrɪˈɡɑːdləs /
▸ adverb non-standard regardless:
the photographer always says, irregardless of how his subjects are feeling, ‘Smile!’
irregardless, the song is a fine piece of work.
– ORIGIN mid 19th century : probably a blend of irrespective and regardless.
Irregardless means the same as regardless, but the negative prefix ir- merely duplicates the suffix -less, and is unnecessary. The word dates back to the 19th century, but is regarded as incorrect in standard English.
Your perception of a typical sysadmin and their sw-dev skills is widely wrong in that case.
Most sysadmins focus on keeping things running. They are usually taxed to the point that they don't have the luxury of sitting around and writing code to be more efficient.
From a career standpoint sysadmin is a pejorative term in 2019.
I'm the 'not feature code' director at a company that manufactures companies. Meaning 20% of my time is what you describe above.
This is along side security work, occasionally feature code for one aspect of our moonshot that I have more experience than everyone else on, architecture work for all the properties to make sure they can talk to each other (while still maintaining enough separation that we could sell any of them at any time), building out a small manufacturing facility, and managing their transition to docker (which they only pursued because I pushed it). I also manage 2 other people (one of whom is a remote contractor) who do bits and pieces of the same and yes, a little endpoint laptop crap.
If they had billed the position as a sysadmin I wouldn't have taken it. Sysadmin pigeonholes you into a very specific role in many peoples eyes, whether it's true or not. Labels matter.
The role of SRE was derived at Google. It has an obvious overlap with DevOps, especially where it concerns automation and scaling to reduce waste and eliminate toil. Regardless of the differences or similarities, in the eyes of the c-suite, those insisting upon using 'Sysadmin' as a role, displays intransigence; which will only embolden recruiters to either low ball potentially more experienced candidates or sideline them in favour of those who are more willing to tailor their attitude to fit the new paradigm.
They might prefer that, but it's misleading. "SRE" is closely associated with Google's approach, where SREs are supposed to spend the majority of their time writing high quality code. If you aren't doing that, you shouldn't call yourself an SRE.
I'm told that internally, SRE at google is divided into SRE-SW and SRE-OPS. At least, thats what the recruiter told me when setting up the interview panel.
Is there a good term for SRE-as-the-Google-inspired-philosophy to distinguish it from SRE-as-the-job-title? I'm trying to find a word that conveys e.g. "We ought to be measuring SLOs and defining error budgets" and not e.g. "We need to make sure the people we wake up at night are sysadmins who can code well and not just coders".
(In fairness, I think Google brought this on themselves by reusing SRE as both the job title and the philosophy.)
Another aspect of the whole devops thing is the idea that you don't silo your ops from dev. Calling someone 'just a sysadmin' because they do all the sysadmin work that needs to get done gives off the impression that they shouldn't attempt any devops or dev work.
Its not enough to just rename your IT guys devops. However, When you're a stickler about titles its also counterproductive to the goal of removing the wall between dev and ops.
I automate and work with Linux systems and I still consider myself a sysadmin -- I'm not DevOps, I'm not an SRE. My skillset and experience might coincide with what those roles require, but I am and always will be a sysadmin in my mind. Putting lipstick on a pig doesn't make it a supermodel.
Do you search for DevOps or sysadmin in job postings?
Whether you want it or not, sysadmin is left to designate the low end of the market, namely desktops and windows administration work, sometimes all the way to helpesk. Devops simply evolved as a separate term to designate the higher end of the market around linux and automation.
Maybe in the silicon valley every company is a tech company looking for linux sysadmins and developers, but in the rest of the world "sysadmin" will usually get one into windows or low end roles.
I search for neither in job postings. Whatever the market wants to call it is fine, but that doesn't change the fact that at the end of the day we're just sysadmins with bigger hats and different titles. Even in San Diego, I see job postings for Systems Administrators and they are in fact just that, a sysadmin (sorry, "DevOps Engineer") and are not just for Windows or helpdesk work. The world outside of San Francisco is pretty normal, generally. Even my previous role at Sony was for a Linux Systems Administrator, but I still automated and did way more involved work than someone just doing printers and helpdesk.
No, sorry. They were sysadmins. DevOps is valuable role, and I'm glad there's a focus on supporting developers and their needs, and in empowering developers to manage their own build and deployment infrastructure. In a larger organization, having a dedicated person or team working closely with developers on software build, test, and deployment automation is great.
But if your job is maintaining production hardware, network, operating system, DNS, SSL certificates, firewalls, backups, etc., then you're a sysadmin. It's not a pejorative term. In a small organization, or within a team, that may be combined with a DevOps role. You may even have one person who maintains all your infrastructure for production and development, and even doubles as a developer. That still doesn't mean you label the entire role DevOps.