As an aspiring guitarist, I’ve noticed that music, like other forms of creative art, painting, drawing, or design, require high amounts of passion, enthusiasm, and resolve. More and more, I’ve found the same about development — developers do their best work when they are working on something that they are personally passionate about. Software engineering is a fundamentally creative practice — when I’m hacking away on a feature where I see a lot of value, I go the extra mile-and-a-half.
Let’s define a lexicon for our passion for development:
gumption – (n) Boldness of enterprise; initiative or aggressiveness ~ Wiktionary
A gumption trap is an event or mindset that can cause a person to lose enthusiasm and become discouraged from starting or continuing a project. ~ Wikipedia
The creativity involved with quality software engineering is invoked when my team is working with the highest gumption possible. As team lead, it’s my job to make sure that, everything else being equal, everyone’s workload is the highest use of their time. Gumption traps should be avoided when possible.
That’s not to say that there isn’t drudgerous work to be done sometimes, or that anyone is above drab work, but that should always be a shared responsibility. It just so happens that leading indicators of software quality are also leading indicators of the amount of gumption traps that will be assigned – bugs, performance issues, or other irreproducible or intermittent issues. As a team, it’s our job to keep quality high, and an ounce of prevention is worth a pound of cure. Isn’t it great that what makes sense for the business also keeps the engineering team happy?