If you're young and sharp, programming looks like paradise. It's more or less a meritocracy, there's a ton of personal freedom, and you get to spend your days doing creative, challenging work and getting paid fairly well. You may not have even had to slog through 4-5 years of college. You'll start to see the downsides as you approach 40 though. Many programmers can't play the social games that management requires, th…
That's assuming you're doing the same thing you used to do 20 years ago. I mean even with new technologies, if you end up building sophisticated CRUD interfaces with language FooBar 20 years from now, you can't really complain about it. People who managed to differentiate themselves in CS over the years moved to stuff like computer vision, natural language processing, designing programming languages, optimizing virtu…
Exactly. You have to constantly reinvest in yourself technically. Learn new languages and platforms, study a new business domain, hack on at least one side project and keep it up on github. There is no such thing as tenure in software.