The part of my career that I particularly enjoy is the concept of continual learning. Normally, my continuous learning process involves researching new technology, test-driving new tools and techniques, and in general, keeping my (and my team's) skill set up to date. Included with these technical skills, I've found that it's also important to keep up on what we sometimes call “soft skills.” These soft skills revolve around the more social aspects of software development. Software development doesn't only deal with ones and zeros. Software development is primarily a social contract between users who have application needs and the software developers who provide the software to meet these needs. These two ideas aren't mutually exclusive but are involved in a complex symbiotic relationship. Over the last three quarters, I learned just how symbiotic they are.

Let's take quick look back to the April/May 2019 issue of CODE Magazine. In my editorial “Ending Malaise,” I discussed a bit of an existential crisis I was experiencing. I was no longer enjoying what should be what I consider the best part of my job: Creating new software. I discussed a mechanism for re-igniting my flame of creativity. I stand by what I was experiencing and the techniques I used to break free of the malaise (drawing, painting, etc.). What I didn't realize is that I was merely treating the symptoms of a deeper issue. I wasn't dealing with the root cause of the issue: I'd become comfortable. I'll use a different word for this...I'd become complacent.

Over a span of 25 years as a consultant, I've been fortunate enough to have a series of long-term projects that provided an immense source of stability. These projects required a high degree of dedication and a large commitment of time and resources. This dedication seems to have blinded me to the amount of spiritual equity that was also being consumed.

I only became aware of this complacency as these long-term projects came to their inevitable conclusion. Because of some changes at one client in particular, I was informed that the likelihood of more long-term projects had greatly diminished. Upon learning about this change, my team went to work to fill that void by “shaking the trees” for more work. Luckily for us, some new and fantastic projects became available and we were able to continue our work uninterrupted.

This is where the breakthrough happened. The malaise I was experiencing had a different root cause. It turns out the root cause was those long-term projects and the cost to our very souls. I know it sounds strange, but my opinions have been confirmed by my senior developer Greg. The client who cut us back so radically “found” another long-term project that they wanted us to work on. When this opportunity presented itself, I had a long soul-searching conversation with Greg. The subject was whether or not we wanted to take this project on. Here's what he said to me: “My wife has noticed that I'm much happier with work now than I have been in some time.” I was shocked. I felt 100% the same way. The new projects we'd taken on were more fun, more interesting, and provided a deeper sense of spiritual satisfaction. We were having fun again!

From this situation, I've learned some valuable lessons. Be careful with long-term projects. It's easy to succumb to complacency with the temporary comfort they provide. If you find yourself in a situation where malaise has set in, carefully examine your situation and look for the root cause. It may surprise you what the root cause really is.

So how could we have prevented this from happening in the first place? The onus is on us. We should have taken time to “take a look around.” We should have examined how the project affected us spiritually. We should have taken the time to work on projects that we were more passionate about, or just exploring new technology. Ultimately, we should have just taken time to breathe, examine, and course correct. Watch out for the malaise/complacency that can settle in with these types of projects.

Figure 1: Is this still working?
Figure 1: Is this still working?