3 ms·
* When troubleshooting and hitting a wall, there is always sanity in checking the obvious thing that you assume always works. Not a cursory check, but an actual
by GrinningFool 9y ago
* When troubleshooting and hitting a wall, there is always sanity in checking the obvious thing that you assume always works. Not a cursory check, but an actual look without assumptions.
* What customers and clients _need_ isn't always what they say they need. Learn to drive at the underlying problem in your discussions with them, and don't focus on what they think the solution should be. While you should always accept their input for the latter as well, keep in mind that most of the time it will address a symptom and not an underlying problem.
* What a customer wants may be related to what they need, but this varies.
* Don't solve problems prematurely. Even simple bug fixes - what is the impact? Are you changing something used downstream?
* Don't assume good tests will always catch all breakages. If they did that, we'd never have to fix bugs.
* Don't trust your dependencies, vendors, platforms, or anything else to reliably inform you of breakages and incompatibilities. They're all run by humans and humans make mistakes.
* You are responsible for shipping working products. If you include a dependency and it breaks, you are responsible for finding that out before your customers do.