Overtime. It's a word used often by those who are compensated for their hours worked, and brings with it the expectation of an increased rate of pay in exchange for the impact the extra time has on their personal lives. In the software development world, most of us find ourselves working on a salary basis, and instead discuss things like "work/life balance" and "crunch mode."
These are, of course, simply euphemisms we use to talk about the expectation of uncompensated overtime.
Pain Has a Purpose
There is an extremely rare genetic disorder known as "congenital insensitivity to pain with anhidrosis," or CIPA for short. Those with the disorder (only about 100 worldwide) are unable to experience pain. The disorder itself is not deadly, but toddlers diagnosed with CIPA don't usually survive. Being unable to experience pain puts them at a great disadvantage when it comes to catching infections early, or just learning how to avoid injuries.
So it turns out that pain, though unpleasant by design, is a critical sensation an organism must experience in order to have a long and healthy life. It's there to protect us from ourselves.
Even so, in cases of acute pain, we may wish to "opt out" of the experience for a while. A doctor may put a patient on a morphine drip after a major surgery, for instance, to lessen the pain of recovery. For a short time, this is acceptable, even necessary, and the patient is closely monitored to ensure nothing else goes awry while they are in this compromised state.
The problem with morphine is that it's highly addictive, and we can rapidly develop a tolerance to the drug that requires ever-increasing doses to achieve the same effect. This is one reason that doctors place a lock-out on a morphine drip, to prevent their patient from inadvertently harming himself with an overdose.
Overtime is organizational morphine. When a company is experiencing pain (like a production issue preventing customers from using the service), a concerned developer will do whatever is necessary to address that pain. But it's important to remember that overtime, while masking the pain, isn't the cure for its source.
A developer who is truly concerned about the health of his or her company also must be careful to ensure the "patient" isn't developing an unhealthy dependency on their heroics, allowing the company to limp along without experiencing the pain that should accompany unwise choices. Pain is how we learn to avoid repeating mistakes.
Symptoms that may indicate a developing overtime-tolerance:
- Deploying extensive but non-critical changesets at 5:00 on a Friday afternoon
- Carryover of a backlog from the previous sprint on each and every iteration
- Lots of e-mails being timestamped after normal business hours
- A persistent feeling that the work you actually want to do to move the project forward must be accomplished either before- or after-hours, or not at all
- Scheduling of an aggressive target date, then filling developer days with meetings that distract from the task at hand
Like a conscientious doctor, it's up to you to protect your "patient" from doing long-term harm to itself. Be sure to set a reasonable lock-out on the administration of overtime, so that your company sets realistic goals and achieves sustainable success.
Don't let your company mask the pain for so long that it wakes up one day and finds itself in septic shock or missing an appendage. That missing appendage may well include a burnt-out you.comments powered by Disqus