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.

Photo by Domenico Loia @domenicoloia on Unsplash

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 poor 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!

Photo by Rahul Mishra @rahuulmiishra on Unsplash

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!

Previous
Previous

Elon, We’ve All Made Shoddy Software. Own It.

Next
Next

The Test Case Dilemma