Saturday, June 25, 2011

Emergency Room Burnout

By nature, you ignore what's familiar to you. Things that happen all the time become background noise to you, something that barely registers. This happens when you learn something as well. When you first learned to drive a car it took a lot of concentration, but now it's probably so second nature you barely notice you're doing it. This frees up your mind to pay attention when something changes drastically, because that's usually the sign of danger, something you need to notice. This instinct works well normally since ordinary things can usually be safely ignored, but it breaks down in certain artificial environments.

In an emergency room, becoming numb to the everyday means becoming numb to emergencies. How can you get excited over a patient when you know another one is just behind them? It doesn't help that many emergencies are anything but. Many people come to the emergency room with trivial complaints, many are there because they can't take care of themselves. These people have to be treated the same as true emergencies, but that just makes it easier to treat everyone callously. Bureaucracy naturally grows around ER medicine because a mistake can be life or death, but the bureaucracy just adds to the numbing effect. And people die. When death becomes ordinary, your attitude toward death becomes very different from most people. To an outsider, this behavior can seem callous or arrogant, but it's really a human instinct perverted by the artificial environment of the emergency room.

Many programming groups are run like emergency rooms. Everything sent in is labeled "rush, stop everything!" After awhile it becomes impossible to be excited about problems. What's the point of rushing to fix something when another bug will be right behind it? Once you become numb to the infinite progression of bugs, it becomes impossible to get excited about users' problems. This leads to a callousness that users find infuriating. Where a user sees a piece of software as a necessity to get their job done, the programmer sees a piece of junk that never worked right and never will. When you walk through an IT department and see people laughing and goofing off when a major outage has occurred, you're seeing the detachment that comes when disaster is everyday. When everything's an emergency, nothing's an emergency.

Many managers try to fix this by upping the threat level. This works for a little while, but like any addiction cycle, programmers quickly become used to the higher dose and return to their numb daze. Raising priorities feels right because what you're trying to do is motivate people, but it doesn't work because the sameness of emergencies is what's causing the problems. Human beings recognize things through contrast, and without that contrast everything blurs together. People also need a mental break from emergencies to prepare themselves for the next one. If they don't get a break as part of their week, then their overloaded mind will shut them down anyway, and will probably not pick the shutdown time based on management priorities.

The solutions for these problems are written in many programming books. Increase usability to minimize user complaints. Test to increase reliability. Rotate personnel off maintenance so they don't get burned out. These techniques have been adequately explained elsewhere. What I want to emphasize here is that human psychology is what makes these techniques necessary. Human beings aren't like machines; they can't do the same thing over and over without it effecting them. People need variety and contrast to properly react to events around them. When emergencies are rare, they get treated like emergencies.