After working for about 8 years at 2 different companies, I started a new job. When I came on board I found the dev team to be highly dysfunctional, and repeating a lot of mistakes I'd spent the past few years working through. An example is: using Java Hibernat/JPA ORM to build intricate object hierarchies that resulted in massive amounts of data loaded at runtime, causing out of memory exceptions and constant gc pauses. On a 32 bit jvm you only get something 1.5GB of usable heap (even if the jvm/os allow you allocate more), when a user logs on and 500MB of data is loaded, well, you can only accommade 3 concurrent users.
So I went in, tried to communicate this, and talked about at my previous job we had used views and stored procedures to not load the entire object graph when only a subset was needed. Crickets. No one cared.
It was very disheartening. Really made me doubt myself, and my ability to communicate.