5 Debugging Confessions
You might believe that debugging is more art than science. Yet as anyone who has been programming for some time will tell you, there is something of the paranormal in debugging.
You’ll see the impossible happen. You’ll see code come in and out of existence. You’ll understand that breakpoints sometimes do not stop execution.
So, here are my confessions as someone who has dabbled in the dark arts of debugging.
The Setup
Before even starting on a debugging journey, you need to ensure that everything is set up correctly. Here is the set-up required whether you are at home or in the office.
A Preemptive Strike
Depending on your environment and culture you will need to make sure that you are covered for the failure of your future work.
Experienced developers know about this. Perhaps blame the test team for using the wrong test data. Claim that the user AC‘s aren’t clear, and the functionality is correct as specified.
Before you start debugging start innovating. You got this!
Your debugging playlist
You’ll have your own “go-to” for bangin’ beats during an intense debugging session.
It’s always good to slip in another track or two. Here are my suggestions.
Under Pressure
Eye of the Tiger
Don’t Stop Believin’
Comfortably Numb
Fix you
They’ll certainly help you fix that issue nobody has been brave enough to even look at for 6 months. You know it.
The Sacrificial Coffee Cup
Sometimes the only way to get through your work is to pour another coffee. Then another. You know that if the problem persists you can pour a cup of joe, which will probably help.
The Process
Let us get into the spirit of debugging for the hardcore coder. This is how it’s done!
Rubber Duck Debugging
Desperate times can call for desperate measures. Don’t use a plastic duck, that’s so 2023. Get a real duck from the nearest pond and explain the problem, ensuring at least one of you will understand the solution.
Give Up and Take a Nap
Sure, it won’t actually solve the problem. Yet you know a refreshed mind is more likely to solve any given problem so, take that rest. While you’re at it why not take a break on the Xbox too?
Ask for Help
Summon the spirits of Linus, Knuth, and Carmack (or contact them on social media). Someone must have the answer? So, look for inspiration from those at the top of their game.
Either that or copy-paste the top answer from a 2012 Stack Overflow question which is *almost* the same as your issue.
Rebrand
If you can’t fix it, rebrand it. Users can’t click on buttons? You’re stopping them from encountering errors. Endpoint fails? That’s throttling working correctly.
Conclusion
This is all fun and games, but the only real way of getting better at debugging is by doing it.
So, roll up your sleeves and get on with solving problems in your codebase. You know you want to!