I haven't seen anyone mention the following yet, and it's INCREDIBLY important! When something is not working right and you have to debug it, you need to re-evaluate your abstractions and drop down a level in your technology stack. In Dan's case, he had to look at, and think about how the logic gates worked. In a more modern case, when your REST calls aren't working right, you may have to debug HTTPS stuff. If your H…
> There's no authoritative definition, but I see it as "I can trace a visual problem down through CSS styles, debug the JavaScript code that sets them, intercept the AJAX call with the problem-data, debug the backend language that is run, diagnose the SQL that finds the malformed row... And apply a fix on any of those levels where it is needed."
> You might not like the code you wade through, but...