When discussing developer burnout, many technologists will point to the necessity of smart project management as the solution. To be sure, schedules that accommodate the unexpected, proactively identify risks, and incrementally track progress are vital to ensure project success as well as employee satisfaction. Perfect Sense applies these philosophies to project plans for these very reasons.
However, there are still things the individual 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.
In the superhero world, if Superman was really available to intervene in every crisis that occurred, he would undoubtedly be a hero. He would also be on a 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:
Tip: Try an “egoless” code walkthrough. Have your code reviewed by your peers while treating it as if it was written by someone you don’t know, even though you are responsible for maintaining it. With this mindset, any question or suggestion offered by someone else is devoid of defensiveness and is instead a chance to make the code better and the maintenance easier. Moreover, the lessons learned earn dividends in improving 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 also might surprise you how the exercise of patience with someone else makes it easier to be patient with yourself.
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 as early as possible where estimates need to be reevaluated with new information. Allow the setting of priorities and modification of requirements as an alternative to last-minute heroics. The more you start as a team effort, the more you end as one.
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 multi-tasking. 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.