I think my favorite lesson was their term "implementation-driven design" that I still see pretty frequently. It's where you build your UX to match your system architecture and is the opposite of "user-driven design". Like building forms that are just one-to-one with the database tables. It's why I cringe every time I see devs on hacker news saying they don't need managers or designers to build products because you'll end up with an implementation-driven design more often than not.
The big takeaway is that humans shouldn’t be required to think like computers when they are interacting with one.
“Warning : Failed to load library” <ok>
Why did the library failed to load? Why are we being informed? Why does it say “Ok” when it is not ok?
As a lovely example. And on the regular you still have these problems. The daily wtf is full of current day examples.