October 2020 Archives

Much as we wish it were otherwise, the pre-DevOps operations team has not gone away. There are still many companies and organizations across the world that still have old-school Ops teams, some of you may even still be in one. I'm going to call you out (and for the rest of you, explain how cynical-asshole happens).

There is a thing that humans just do, it's emergent in our psychology. If it's your job to clean up after other people's messes, you get cynical.

If you are a custodian at a school with kids aged 5 through 9, you're probably cleaning up kid-puke anywhere from 2 to 19 times a day (and on the two days that will live in infamy: 400). You're not salty at the kids, they don't know themselves enough to really know better. No, you get that certain look with your coworkers, and especially with custodians at other schools. You bond through misery, to prove you've seen what each other have seen, and prove you belong to the team of puke-cleaners.

If you are an Animal Control officer, it's your job to respond to animal abuse complaints among all the other crap you have to put up with. You see first hand, more than most, just how callous and cruel humans are to the animals we live with. Not just that, but how certain people simply don't even come close to understanding why what they just did is wrong on so many levels. It's a hard job, and some days you're glad you do it. But around your coworkers, you circle up after someone had a bad call-out and help them through it. Show you've been through the same. Build that empathy. When you meet other ACOs you talk about the good times, but over beers you end up talking stories of your bad call-outs, for bonding. You bond through misery, because not recognizing the bad sells the job wrong.

If you are an emergency room professional, it's your job to deal with people who accidentally tried to kill themselves. You live in dread of Firework Season and the mangled hands and faces that come with it. You have an abiding hatred of band and table-saws sold before the technology to stop lopping off fingers was standard on everything. You privately call motorcycle riders without helmets 'organ donors' because you've had to make that call, many times. You're saving lives, but it would go better if people would stop trying to kill themselves so hard. You'd never say it in front of a patient; but to coworkers, or other emergency professionals, you share (appropriately redacted) stories of epic stupidity. You bond through misery, because showing you understand to another person requires revealing your own pain.

You may be getting my point now.

If you are in old-school Operations, it's your job to deploy the software that Development gives you and keep it running. Only, Development doesn't understand your job, or has terribly wrong assumptions about it, so installs never go quite right. Or the software is buggy in ways that wake you up at night. Or hasn't updated the troubleshooting guide in five years, so two thirds of it have completely wrong resolutions. Or the software comes with a whole bunch of new hardware you have to integrate -- somehow, somewhere -- on a challenging deadline. Or Development can only be reached during business hours, so when something goes wrong at 2am you're improvising on no information until someone wakes up and checks email.

Unlike the previous three examples, you work with the people who are causing you pain; so you have the opportunity to stop the pain. If the organization doesn't have official feedback loops (DevOps techniques) the unofficial ones of sarcasm, belittling, quiet swearing, and low voiced rants of just how hard it is are all you have left. You are the dragon in the datacenter. Like the custodians, Animal Control Officers, and ER professionals, you bond with your peers through shared misery and a wish that the world was a better place, so you didn't have to clean up other people's messes so often.

DevOps is all about breaking down silos, getting Dev and Ops actually talking. And not just talking, getting involved in each other's processes.

  • If Operations can change the trajectory of software development to be less painful, it feels less like cleaning up other people's messes.
  • If Development has some stake in how the software is operated, Ops is more likely to encounter empathy when something goes wrong in production.

It's far from perfect, but having official ways to communicate and get effective change is far better than relying on unofficial change-management techniques based around being hard to work with.