Where I currently work, I'm being mentored (even at my age!) by a developer who is in his early 70s. He really is a curmudgeon, but what he actually does is perform. His code is some of the best I've ever seen, and consistently outperforms that of the younger crowd. Then he just points out when he's using an "obsolete" technique to run circles around them.
Lots of 20-somethings would have no trouble working with a graybeard in his 50s if he was patient, played along, and acted as a mentor. But they don't want to work with him if he's rude and dismissive, and there's more of them than him.
You can be "correct" but still a jerk. If the people who you're rude to can influence decisions, they won't go well for you.
Nobody wants to work with a jerk, regardless of their age.
The system is still an unmaintainable ball of mud, but at least your for() loops can now have ridiculously high jitter and concurrency landmines thanks to multicore use on a system bottlenecked by disk IOPs.
Part of you wants to play the curmudgeon and say "I like my old simple ways" instead of yelling "you idiots are spinning wheels on useless APIs instead of learning to do any actual engineering analysis on maintainability or performance." It's tough to balance!