I caught myself doing something last week that I often chastise others for. At that moment, I thought I was justified in doing it, too, which made it worse. The worst part was that I did it in front of a coworker.
What was this DevOps sin? I did not show a customer empathy. We were decommissioning a legacy service and somehow a customer did not get any of the notifications. The customer asked us to not decommission the service for a few days which the business agreed to. I was against the idea for a variety of reasons, many of which were related to streamlining things to help our DevOps transformation. However, our DevOps transformation is not our customers' concern; it's mine. Their concern is keeping their business running and I am supposed to enable that. I did not remember this until Sunday while I was vacuuming and reflecting on the week.
I have heard the word empathy quite often in the DevOps circle. It is probably being overused in some sense, but I believe that it is an important concept to understand and apply. The business will not believe in DevOps unless DevOps believes in the business. DevOps must empathize with the business in scenarios like the one I mentioned above. The business is unlikely to bend over backward for technology teams. The role of technology teams is to improve business, not drive it. While I agree, most companies are tech companies now whether they admit it or not. Often, tech folks need a buffer between the customers they serve and themselves. The role of the buffer is the business and it is a necessary one.
The question is, how do you build empathy as a skill? It takes time and you have to know when you should apply it and when it could be paralyzing. There is a fine line between empathy and saying no. You should never be afraid to do either. I approach empathy similar to how an actor cries on command. I think of times when I wish empathy were applied or when it was actually applied. My experiences drive my empathy. Think of all the things that have happened to you in life, from being made fun of on the playground to graduating from high school to the loss of a loved one; you have been through some stuff. Adversity and success make you who you are. It is also what can help you build your empathy skills.
I do not equate a business missing notifications about a service ending with the death of my best friend in 2000. The two are completely and totally different things. However, the empathy that was shown to me by a North Carolina State Trooper when I pulled over on my drive to my friend's funeral in western NC is something I can equate it to. I was simply being safe and he was simply doing his job. I was breaking down as I drove past the exit to his place in Chapel Hill so I pulled over. The State Trooper was concerned something was wrong and he pulled in behind me with lights flashing a few minutes later. When the situation was explained he apologized and showed empathy then went on about his routine patrols. I did what was right; he did what was right. In the end, it is still a great example of empathy applied in my life.
Empathy is something the world needs more of in general, and DevOps should do its part. I was only seeing things from my point of view when the customer wanted more time before a service was decommissioned. If I saw things from the customer's point of view, I would have thought of how I felt when Google shut down Reader. I was miffed and my way of consuming news had to change. This example seems trivial compared to a business having to change a process or the way they operate. Allowing a few more days before shutting a service off seems quite trivial in the grand scheme of things.
The next time you take a hard line on something, make sure you have thought from the opposing perspective before doing so. It will surely teach you how to apply empathy and will make you a better person (in the eyes of "the business," at least). Stay safe out there and happy DevOps-ing