Fear and Motivation
In a previous post, I mentioned how our mindset influences how we write code. Here an example of a mantra in this case from pop (or sci-fi) culture and how it can influence the way we think about designing software.
Fear is the Mind Killer
“I must not fear.Dune
Fear is the mind-killer.
Fear is the little-death that brings total obliteration.
I will face my fear.
I will permit it to pass over me and through me.
And when it has gone past I will turn the inner eye to see its path.
Where the fear has gone there will be nothing.
Only I will remain.”
When I get overwhelmed by fear, reciting this litany actually helps. What else helps is remembering all those times I dreaded doing something. You know what I am talking about. We all do it. We keeping putting something off because we fear the discomfort and the potential consequences. Eventually, we are forced to do what it is we have been avoiding. Immediately afterwards, we let out a sigh and say “Oh that wasn’t so bad. What was I afraid of?” Those times always remind me that it’s never as bad as my imagination. Fear is the mind killer, it causes us to be irrational because the truth is deep down we knew all along it wouldn’t be that bad, but we let fear influence our imagination.
Fear is prevalent in our society. If you don’t believe me, just turn on the news. That fear carries over into software. When starting a new project we might feel overwhelmed and have a fear of getting started. Fear of change is something we are constantly fighting within organizations as we try to improve the software development process. When dealing with legacy code, we might be consumed by fear of making changes and breaking stuff. Once we have finally arrived and feel like we know what we are doing we are still plagued by the fear inherent in the impostor syndrome.
There is another way that fear enters into the software development process and that is when trying to motivate others. We’ve all seen bosses who abuse this. They use the stick instead of the carrot to try to motivate their employees. We all know it doesn’t work. Yet sometimes as a community we can fall into this same trap of using negative motivations. When we talk about technical debt we are invoking fear and other negative motivations The problem is that negative motivations aren’t great motivators. We are only motivated enough to move away from the perceived pain. What we need is something to move towards. We need a positive motivation like building technical wealth.
Changing the Conversation
Let’s change our terminology. Instead of getting people to move away from the pain of technical debt, let’s entice them with technical wealth and technical interest. Instead of horror stories about legacy code, let’s talk about the benefits you get from the processes and techniques you have invested in, like that time that having unit tests immediately pointed you to the source of that nasty bug and your automated build and deployment process allowed you to deploy a fix to the customer in minutes so you could make it to your kids soccer game on time.