The Famous Last Words of the Software Engineer
They say that the first step in solving a problem is admitting you have one. Software engineers certainly have a problem, but happily (in the main) it isn’t drugs, alcohol or cigarettes.
Our problem? The job and the addictive nature of solving problems. Let me explain.
Just One More
For those of us lucky enough to write the software that the world uses “one more bug” is equivalent to “one more episode” on Netflix.
For every person binge-watching Friends, there is a software developer hunched over a keyboard telling themselves it’s almost done, and they’ll finish in a minute.
As for the Netflix bingers, the taskmaster isn’t a boss watching over us. We are the ones making ourselves work late into the night, and we need to ask ourselves what it’s all for.
The Issues
As ever with software development the issues are many. Addiction, poor estimating and assumptions are to blame.
Addiction
Many software developers are conscientious types, and that means that they like to get their work complete (no matter how many hours they have been working).
The “just one more” feeling of squashing bugs can therefore get the better of us. If we can just do a little more on any given day the team will benefit, we will benefit and perhaps everyone will be that little happier. If only it were true.
Poor Estimating
Bugs are like roaches. Fixing one shows two or three more hiding under the floorboards of your codebase, and they never seem to end.
When we think that we can solve a bug tonite, we often discount the fact that the blighters often hunt in packs. Remember: Tech Debt is like this too.
Assumptions
We assume we can beat the bugs, but sometimes legacy spaghetti code can get in the way of our making progress or perhaps even solving the bug.
We assume we can do more than might be possible, and this is seemingly a constant for those who make software.
I’ll tell you what I mean. The default setting for this meme and the developer community as a whole still seems to be that developers are male. The “he” as a default software developer is as dated as VGA. Sure, men still dominate but they’re not as common as the bugs in the legacy codebase I work on.
It sometimes feels that the last bug we need to fix is one of gender bias.
Conclusion
Bugs are a part of a software engineer’s life. They probably always will be, or at least until AI takes all of our jobs and makes coding a thing of the past.
Until that happens, I hope we can all agree that bugs are equal opportunity.