"The fact that you have 30 years of COBOL experience doesn't help you if you don't learn new technologies." learning a new language is easy. Learning to program is hard.
Let me amend that to "Learning to program well is hard."
I've been earning a living as a programmer since 1986. I'm continually learning new things about programming, from new techniques (i.e. OOP - they didn't teach that in 1982) to new languages to the psychology of the my end users. Comp Sci school is like learning English grammar. It's really useful, but just like knowing English grammar doesn't make you a great writer, neither does a Comp Sci degree make you a great programmer.
Whomever I hire has to be learning continually about his or her craft. I'm not going to hire anyone who knows it all - that person is an ass.
... But absent some kind of organized labor movement -- which programmers are notoriously, irrationally averse to -- it's not going to change, as the people making the hiring and firing decisions are getting by just fine with the current system. There is then little choice but to adapt, or at least emigrate.
At least here in North America, our general aversion to unions is entirely rational. Unions here do not foster creativity - they foster group think. Did you ever want to work a couple extra hours because you were really into what you were doing? Try doing that in a union shop - you'll have a very unhappy experience. I've had unionized jobs (albeit not programming jobs). I cannot imagine a unionized programming job being anywhere near as enjoyable as a non-union programming job. Unions suck.
Work is the crab grass in the lawn of life. -- Schulz