Empathy vs. sympathy for Site Reliability Engineers (SRE)Thu 15 July 2021 by Moshe Zadka
This article was originally published on Enable Architect
Many people have had the insight that DevOps is about people. Often, they will summarize it as "DevOps is about empathy". I have found, however, that idealizing empathy is just as bad as thinking that DevOps is about a single technology.
"I'm writing a book on empathy," psychologist Paul Bloom tells people. They respond warmly, until he follows up with, "I'm against it."
SRE are different by design
Many of the people who are titled, at times, Site Reliability Engineers (SRE) -- or DevOps Engineers, or Production Engineers, or Platform Engineers, or other terms that indicate the same responsibilities connected to DevOps practices -- are fundamentally and intentionally different than many of the people they have to work with. In order to be good at this job, you need a reasonably solid ability to program and a reasonably solid ability to handle operational issues.
This is an uncommon skill set. It often is acquired by starting as a software developer or an IT administrator and slowly gaining complementary skills. This means there are few truly "junior" people in that role. Gaining the necessary skills and experience takes time.
Sympathy vs. empathy
Being more senior than someone, and having skills they lack, makes it difficult to empathize. It is difficult and inaccurate to guess what someone might be struggling with or what they need help with. Site Reliability Engineers who try to use empathy imagine themselves in the other person's role and will build tools and processes that would be good for themselves if they were in that role.
In contrast, sympathy begins with trusting that people have unique insight into their own lived experiences. A Site Reliability Engineer focusing on sympathy will start by talking to people, understanding their problems, and believing them when describing pain points. A Site Reliability Engineers focusing on sympathy will involve others in the decision process to solve those problems. A Site Reliability Engineer focusing on sympathy will release partial solutions to focus groups to see how they fail when used by people different from them.
It starts with caring
Sympathy. Compassion. Trust. These are the main tools a Site Reliability Engineer uses daily to make DevOps possible. Developing those is easy, as long as you care about people. Caring about people is the only thing that can't be taught.
I cannot teach anyone to care about people. If you do care about people, you already have the most important skill needed to succeed as an SRE.
Minimal packing list
With in-person conferences starting to open up, I need to clear the dust off of some skills that have not been used in a while. One of those is how to pack for travel.
This list works for me. It will probably not work for you as-is. Among other things …read more
Post that PR
Sometimes you will be working on hairy and complicated feature in a shared repository. Maybe it's for work. Maybe it's an open source project.
As a responsible person, you are working on a branch. The usual way of working involves a lot of "intermediate" check-ins. Those serve, if nothing else …read more
Portable Python Binary Wheels
It is possible to work with Python quite a bit and not be aware of some of the subtler details of package management. Since Python is a popular “glue” language, one of its core strengths is integrating with libraries written in other languages: from database drivers written in C, numerical …read more
So you want to create a universe
A story about looking for a universe, and finding a pi(e)
This is fine. You need not feel shame. Many want to create a universe. But it is good you are being careful. A universe with sentient beings is a big moral responsibility.
It is good to start with …read more
Virtual Buffet Line
Many people have written about the logistical challenges of food in a conference. You trade off not just, as Chris points out, expensive food versus terrible food, but also the challenges of serving the food to everyone at once.
One natural method of crowd control is the buffet line. People …read more
DRY is a Trade-Off
DRY, or Don't Repeat Yourself is frequently touted as a principle of software development. "Copy-pasta" is the derisive term applied to a violation of it, tying together the concept of copying code and pasta as description of software development bad practices (see also spaghetti code).
It is so uniformly reviled …read more
Fifty Shades of Ver
Computers work on binary code. If statements take one path: true, or false. For computers, bright lines and clear borders make sense.
Humans are more complicated. What's an adult? When are you happy? How mature are you? Humans have fuzzy feelings with no clear delination.
I was more responsible as …read more
I have written before about my Inbox Zero methodology. This is still what I practice, but there is a lot more that helps me.
The concept behind "Universal Binary" is that the only numbers that make sense asymptotically are zero, one, and infinity. Therefore, in order to prevent things from …read more