Over 20+ years I've had to debug all sorts of strange issues, and yet I still make some basic errors and cost myself time because of them. This is a (very) short list of things to remember while debugging, in the vague hope that doing so will reduce time/cost/pain. * Never assume it's a tool or library until you've exhausted options within your own code. If you reach that point, create a minimal reproduction, good odds the bug won't arise there, because actually you've not yet exhausted the possibilities in your own code. * Never assume any line of code is too simple to be at fault. You may gloss over the "if" statement itself, and focus on the code in the block, but never assume it's right! Start at the top and work down. * Pay full attention to all the clues presented to you at the start: a piece of information that might seem a bit random or of little import might actually be the key to the whole puzzle. Examine each clue first and consider it's impact before jumping to conclusions about what the cause could be in a specific area. I recently (as in August '26) wasted hours because I ignored a clue that was the key to the whole thing. * Sleep on it. Yes, you might have one of those terrible nights where your brain runs on loop all night, but there's a pretty damned good chance that you'll wake up with the answer front of mine, ready to rock. * Last (for now), but not least, learn to use the tools available to you, and don't ignore them because they're more faff to run than a few quick manual tests or a few extra log line. Debuggers are worth their weight in gold, if gold was a series of binary digits.