If you're ever stuck on a bug for more than ~15 minutes, type out a precise explanation of the problem as if you're sending it to a team member for help.

Include everything you've thought of and/or tried as well as any additional context you think might be related.

You'll find the issue before you're done typing it all up. In the rare cases you don't find it, make one editing pass and send the email.

Alternatively, describe the problem out loud to nearby pets or plants. It works. Guaranteed.

@garrettdimon Possibly related: When I was giving private math lessons during my college years, I would sometimes think that I fully understood something, but then when I tried to explain it, I couldn’t do it well. Over time I realized what the rule is: If I can’t explain something properly so that the other person understands it, that means that I myself don’t fully understand it yet.
@simevidas Can't remember where I heard it, but I've always bought into the idea that the burden of communication/understanding should always be with the sender not the recipient.
@garrettdimon @simevidas Nonviolent Communication maybe?