While I believe that this advice is technically true - it avoids a very critical issue and is thus misleading. The more important questions are: How "good" do you have to be to get an outcome comparable to the average lawyer or physician (or MBA grad)? How many other people are this good? How different are the outcomes between people who are "good" and those who are not "good"?
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"
> If you want a conventionally successful career study law or medicine - professions which take protecting their wages and bargaining power seriously.
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.