That's a truism in our industry that far too few people understand, much less take advantage of. If you're good, you don't need to worry about your career all that much. You can go off and travel, join flaky startups, and otherwise sabotage your "career", and know that if it all falls apart you'll land on your feet. So long as you're demonstrably good at what you do, you can always pick up a good contract on short notice.
There's a flip side to it, of course. If you find it hard to get work in this industry, you might want to consider the possibility that maybe you're not quite as good as you think you are.
You could make the same argument about playing professional basketball or football. If you are "good" you won't have any problem finding work and you will make a lot of money. The problem is that only a vanishingly tiny minority qualifies for this standard, and players that are only marginally not good enough to make it to the NBA have significantly worse outcomes.
Computer programming is a fun intellectual challenge. If you want a conventionally successful career study law or medicine - professions which take protecting their wages and bargaining power seriously. Computer programming is something where you must be motivated by a love of the craft. I remember reading Stroustroup's C++ when I was in high school and he pointed out the trend toward the "deskilling" of computer programming. His comments had a somewhat cynical disillusioned tone to them and they turned me away from programming. When I have seen how the careers of some of my high school friends developed and how they feel about the experience I'm glad that I ran across Stroustroup's "advice"
I'm not sure what you're talking about here. My impression is that the legal field is glutted, and medicine is under constant pressure to cut costs and follow cookie cutter insurance-approved routines (deskilling?).
The deskilling of computer programming is counter-balanced by an even larger trend--the continual addition of new software frontiers and automation of existing industries.
On top of that, in terms of security, computer programmers are the alpha-dogs of the tech world. In a gloom and doom scenario, we have options. As a programmer I could edge out people with years of experience for positions in QA testing, software automation, technical support, pre-sales engineers, support engineers and other positions. Not that I have to, because software jobs are still plentiful compared to other fields, even in the current recession.
My take is that doctors and lawyers both have powerful professional associations that limit the supply of new doctors and lawyers by establishing competency standards. The AMA also explicitly caps the number of residency positions available in each hospital.
Because all we need to be successful is a little more protectionism, right?
And the dark side is, ageism is rife in our industry. You could be an expert in language X with 20 years experience and every programmer knows that you could learn language Y easily enough. But you have to convince a hiring manager on the "graduate fast track" who wants someone who knows Y and thinks that anyone who hasn't made manager by 30 is a failure.
You can screw around and play the "rockstar" in your 20s, but it gets harder and harder as you get older, and the number of people able to live this lifestyle in their 40s is orders of magnitude smaller.
Websites are in their own world though. An * expert web programmer has certain advantages. At any moment you can delve into blackhat stuff and make money. I'm not sure what you mean by website technology as always changing so maybe I'm about to say something dumb but here it goes - The syntax changes a lot, sure, but the basic ideas of automation and data work of mining, collecting, and organizing have always been around. Now they are just at the forefront.
* all this really means is you're a good programmer that understands how the web works and knows things like traffic generation, and how money is made on the web. But basically 90% of the real expertise and time is still with actual programming.
As an analogy, think of the Swiss watch industry. There were people there with 30 years experience with the most intricate mechanical devices in the world. Didn't help them one little bit when the Japanese invented the quartz movement, the skills just weren't transferable.
Did you know that, ironically, the British used to be the premier watchmakers, but they were driven out of the market in the 19th century by cheap competition from (amongst other places) Switzerland?
From there, you get something that's definitely not true of any other career (or at least only applies to a few). Doctors and lawyers generally don't get to disappear on year-long vacations and then drop back into their previous career path without missing a beat. Developers can. You can go on to lead the life you want, without having to think about how it will damage your career. It's all good from there.
That's a big part of why starting a company is so appealing for recent college graduates. You are forced to "earn it."