When discussing developer burnout, many technologists will point to smart project management as the solution. To be sure, schedules that accommodate the unexpected, proactively identify risks and incrementally track progress are vital to project success as well as employee satisfaction. Perfect Sense applies these philosophies to project plans for these very reasons.
However, there are still things people can do to avoid burnout. My favorite advice is to beware of the “hero complex.” Software development heroism is the understandable and laudable desire to save the day. This manifests in burning the midnight oil to meet an aggressive milestone, staying late to fix an operational issue or working extra hours to create an exciting new feature.
If Superman really were available to intervene in every crisis, he would undoubtedly be a hero. But he would also be on the road to burnout. The number of crises needing his attention would demand all the time and effort he could provide. One wonders how long it would be before he chose to retire to an island for some long-awaited me time.
There is certainly a difference between being heroic and being the hero. Being heroic is a desirable attribute. We all want to work with people who are willing to go the extra mile to ensure success. Conversely, being the hero is more about solely taking on responsibility for averting disaster on an ongoing basis. The former is essential; the latter is detrimental both organizationally and personally.
So how do you stay heroic versus being the hero? Here are some ideas:
- Let go of your ego. One difference between being a hero and being heroic is how much ego you’ve attached to an outcome. Your personal sense of pride keeps you working hard and late until the task is done right, which is great. This focused determination is a strong asset. However, there’s a dark side of ego, which often includes fear of failure. That fear can keep you from asking for help, considering a different perspective, taking care of your health or just plain cutting yourself a break for (inevitable) human error. Letting go of your ego does not mean letting go of achievement. It means letting go of basing your self-worth on those achievements, which, paradoxically, will help you achieve more.
Tip: Try an egoless code walk-through. Have peers review your code while you treat it as if it was written by someone you don’t know. With this mindset, your response to questions or suggestions will be devoid of defensiveness. You'll see it as a chance to make the code better and the maintenance easier. Moreover, the lessons learned will improve the knowledge base of everyone involved.
Additionally, don’t be afraid to let someone else take something off your plate, even if you know you could do it better or it might take longer than if you did it yourself. Not only will it ease your burden down the road, but the exercise of patience with someone else may make it easier to be patient with yourself.
- Be a partner to your stakeholder(s). Sometimes the hero is not just a single person but a team of people collectively acting in “hero mode,” averting one crisis after another. In contrast, the heroic person or team partners with stakeholders to conceive and execute a plan that maximizes success and minimizes risks. Your stakeholder could be your client, another department or your manager. A successful partnership includes predictability and transparency. Information and smart trade-offs deter overextension.
Tip: To partner with your stakeholder, be clear about what you are doing, how long you believe it’s going to take, the basis for your estimates and the areas that contain unknowns. Most importantly, as development progresses, proactively identify areas where estimates need to be reevaluated using new information. Allow the setting of priorities and the modification of requirements so you don’t default to last-minute heroics. The more you start as a team effort, the more you end as one.
- Take care of yourself. Sometimes getting food, sleep or even just a change of task is enough to give you a significant boost in inspiration or energy, often resulting in fewer hours spent on a project than if you had worked through lunch or overnight.
Tip: You know yourself best. You know where and when you are most effective and where and when you are the least. You know whether you need the momentum of singular concentrated focus or the stimulation of multitasking. Structure your days to bring out your best self. Sleep, nutrition, exercise, relationships and personal pursuits will demand equal attention sooner or later. Treat them with the same care—and heroism—as your software development plan.
As a developer, it’s OK to be heroic. However, if you want to avoid burnout and enjoy a long, fulfilling career, be sure to avoid the hero complex by letting go of your ego, partnering with stakeholders and taking care of yourself.