One of the biggest lessons I've learned as a developer isn't about programming.
It's about assumptions.
A client once asked for a feature they were convinced would solve their problem. Technically, it was straightforward to build. But after digging deeper, I realized the feature...