Recently I started researching what people think DevOps means. What it was originally intended to mean and how ridiculous it is to actually see it in a job title. On the flip of that, since one of my titles was actually “Site Reliability Engineer” I started looking into what is perceived to be the roles of that job. This article is my findings, in full unconstrained wording, about the absurdity of one as a title and the specifics of the other.
Part I - DevOps is… Nope
In linguistics the word DevOps is generally considered a blend word or a portmanteau. It’s the combination of developer or development and operations. Meanwhile, Google actually understands what it is. But hey, we know Google is basically a smarter than humanity AI at this point right? Well, ok, maybe Google’s definition of DevOps isn’t 100% spot on, but it’s fairly close to its perceived meaning.
Google’s definition reads, “DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes.”
Part of that definition also takes it into account that some companies have no clue what they’re doing. Hiring a “DevOps Engineer” and then they end up throwing that person into the fire of systems administration menial servitude or the absurdity of cluster fucked crossed wires network administration. So often a DevOps Engineer is hired without a company, human resources department, or management having any idea that DevOps was and is mostly focused around an idea more than any practice or notion. Sure, some of the practices we undertake are specific, but the idea is more important. It’s the combination of development and operations into a focused effort instead of being two battling organizations.
But has that even really happened? In most offices DevOps has grown into another segmented, broken, and often dysfunctional group autonomous of both operations and development. Where the DevOps engineers may be creating automation or who knows, maybe just off drinking in the corner, ops doesn’t know because they’re fighting fires and development doesn’t have any idea because they’re building flame throwers to put the fires out (ya know, fighting fire with fire and all).
If you want to get super pedantic about DevOps and what it might mean, check out the Wikipedia or go get your google-fu karate ninja chops going and make up your own definition from the various sources. I’m sure it would be super entertaining! …or not?
Suffice to say, DevOps hit full buzzword bingo status a few years ago now. Now it exists in that strange limbo of worthless buzzword and relatively useful in a relative way.
DevOps Damage - An Aside
During one of my efforts researching DevOps I stumbled into Pete Cheslock’s blog post, “DevOps in Your job Title is Doing You Harm“. He points out it is better to title yourself something like
- Site Reliability Engineer
- Automation Engineer
- Release Engineer
- DevTools Engineer
I’ll add, if you see titles like…
- DevOps Hadoop Cloud Engineer
- DevOps Ninja
- DevOps Programmer
- Operations DevOps
…it’s ok to respond with a “WTF did I just read?” and then just go ahead and fire that company. The company obviously hasn’t invested even the 10-30 minutes into figuring out what they’re trying to do. The risk is huge, everything is just gonna be a giant tire fire, leave before you even apply to a job with a title like one of these.
Pete actually goes on to mention,
I don’t know why recently there is a need to move away from the same job titles we’ve used in the past, as if there is some negative connotation towards them.
To which my research into what exactly a Site Reliability Engineer differs versus titles like
- System Administrator
- Operations Engineer
- Network Engineer
These notes aren’t the only gem of smarts in this post of Pete’s. Go read the blog entry, it’s here, I’ll wait as you should have the context. One more solid blog entry, check out Jez Humble’s “There’s No Such Thing as a DevOps Team“. Again, I’ll wait so go ahead and read it.
Well, it’s time I dove into role of Site Reliability Engineer.
Site Reliability Engineer
I’ve gotten a few mixed results around what people think this role and title encompasses, but unlike DevOps which has unfortunately become a buzzword with oodles of overloaded context and meaning. What is generally sought out in the role of a site reliability engineer can be described best by what Ben Traynor stated:
“Fundamentally, it’s what happens when you ask a software engineer to design an operations function.”
I see SRE individuals and teams as the people who are actually moving us past the dark past inferred with the mystic past associated with the strange black magic mysticism of systems administration, operations, and network engineering of the past. It’s setting the practices involved in running those systems into a known manner of operation, that is repeatable, and in many ways more importantly able to be automated.