The five stages of developer grief with Derick Bailey
Denial, anger, bargaining, depression and acceptance – these are the five traditional stages of grief. All of which, says developer and entrepreneur Derick Bailey, are comparable to the stages of grief that developers experience.
Derick Bailey is is an entrepreneur, software developer, and among other things, screencaster, writer, blogger, speaker and technology leader. For his keynote address at the SpaceCityJS Conference in Texas on March 28th 2015, Bailey focused on the human side of software and the problems that developers face.
His approach to the issue was to document this human journey in what he calls the five stages of developer grief, where he looked at open source work, corporate life, client work and the emotions that developers deal with. Bailey considers these aspects “an important part of our lives and something that must be discussed more openly and honestly if we are to move ourselves, our communities and our industry forward”.
People are, by far, the most difficult part of software development.
Bailey begins by admitting that developers have a pretty comfortable life, and together with a higher than average salary (in most cases), their emotional journeys and the “human side to software development” can often be forgotten or ignored. The cycle of emotions that devs go through have been placed in parallel for Bailey’s presentation to the traditional five stages of grief, which we’ll quickly sum up below.
Stage 0: Frenetic Energy
Before jumping into the established grief list, Bailey makes a quick addition with Stage 0: Frenetic Energy. He describes this stage as the initial excitement that a developer feels towards a project before and during its initial undertaking.
The excitement felt when doing something new is almost palpable, which feeds the hours upon hours that devs often devote to a project while at full speed. All available resources (time, desire, caffeine) are pumped into one project which is then concentrated on in a sort of developer tunnel vision.
Stage 1: Denial / Stage 2: Anger
The ‘denial’ stage begins with developers seeing the bugs in their system, says Bailey, which is at first easy for them to deny. Beyond the mistakes, faults tend to become personal, with developers turning these errors into self-styled faults of themselves.
We start to deny our own value as developers, as product builders, as people trying to sell things. We start to deny the value that our products have, that our services have, and the value that we have put into those and that we have provided to both our organisation, our clients or our customers.
Because developers know every little design trait of the product, the risk of this stage eventually turning into a self-destructive critique is quite high. The denial stage can also be turned on its head where developers deny the problems that other people might be having with their product.
This in turn leads the way into the second stage of the cycle, which is anger. With social media being one of the proponents of shared anger as well as the proliferation of open source, its easy for users to forget that there is somebody, a real person, actually building these things, putting time and effort into services that are being used by the wider community. “It becomes really easy to just rage against the problems that you’re having”.
Stage 3: Bargaining / Stage 4: Depression
Once developers are able to move forward out of the anger stage, we are then faced with the prospect of bargaining. While Bailey suggests that he sees this trait moreso in the entrepreneurial sphere, it can also come about for developers who are trying to capitalise on any traffic their product is receiving.
When you build something that you’re trying to sell, you start wondering “Why is nobody buying my stuff? I see all this traffic and nobody’s buying anything”. And so you start pleading with your potential customers.
Bailey says that developers use a lot of bargaining tactics in order to try and get attention for their product or service, from offering things for free, to blogging and excessive promotion. These kinds of endeavours are time-consuming and can also be somewhat deflating if the tactics you employ don’t work.
Once issues start to pile up, the buildup can cause developers to experience depression, which is the fourth stage of the cycle. Bailey describes those who haven’t been through depression as “extremely lucky” due to its “soul-sucking, mind-numbing” effect.
It’s a sobering reminder that even developers can experience such despair and despondency because of their work, not to mention the devs that Bailey points out who are more at risk, such as women, members of the LGBT community and developers from a different ethnic background.
Stage 5: Acceptance
After the rollercoaster of emotions that a developer can go through for their project, we finally find ourselves at the concluding stage of acceptance. Bailey states that in order to accept your circumstances, you need to own up to the work that needs to be done, or recognise what you need to do to make the project a success.
The learning curve that is required for new technologies and frameworks is highlighted by Bailey in the case of React, EmberJS and MongoDB. “You’re going to cycle through these emotions, over and over and over again”. Companies and developers will be dealing with people at every step of the way, which again reminds us that people can often be the most difficult part of software development.
But the good news is every time we go through these cycles, there’s something to be learned, there’s something about us that we can pick up… there’s something about the technology that pissed us off and frustrated us that we can take out of this. And hopefully as we go through these cycles, and we get passed these individual stages… and we can take those lessons learned, and we can start to move forward. And if we can all move forward, even one step forward, then our community as a whole, our company, our client projects, our customers, everybody is going to be in a better place.
The presentation is wrapped up with Bailey’s own roundup of the lessons he’s learnt along the way. The entire presentation is available online on his blog and below.