I have some major issues with the information in that link.
Firstly it is said that because of the constant development of new language, experience is not important and "what advantage does a 60-year-old .NET programmer have over a 27-year-old .NET programmer when they both have, at most, 5 years of experience doing .NET programming? Absolutely none." This completely wrong. Any good programmer who has used a single procedural and a single object oriented language (and understands the concepts--something taught usually in intro classes) is only a book and a week from picking up most any language. IE: If you know Java, you will be able to pick up another object oriented language quite easily because you understand the underlying principles; everything else will be small nuances and different syntax.
As for prestige, his argument is incredibly flawed, saying that it is not as prestigious as law, finance and medicine. Well most everything isn't. And who in the real world cares that much about prestige? Certainly not the people who are happy with what they do.
Then the age old "omg computer programming is being outsourced". It is probably the worst argument out there for not going into the computer (programming) field. There is no shortage of programming jobs and I don't see that changing anytime soon. Programming is a skilled job, and where there is skill required, there will be someone willing to pay you for your services. Plus, you may be able to outsource highly repetitive codemonkey jobs, but you cannot outsource innovation, and the computer world revolves around innovation.
Can't comment on project management.
Working conditions: The argument is that 1) they work in cubicles and 2) companies don't provide the right 'tools' (he says that he should have a bigger monitor). Well as for 1, a lot of people work in cubicles, that is not computer programming exclusive, and it also heavily depends on the company, you can't say that every programmer everywhere does. Many technical employees work remotely, for instance.
For 2, if you require a big fancy high resolution monitor to do your job, there is something wrong, and you should not have a programming job. The graphics arts department has large monitors for a reason. Programming just simply does not require anything big or fancy.
Also I'd like to comment on the fact that computer programming does have good things going for it. If you are really into it and like what you do and suddenly have some cool idea, computer programming is quite unique in the fact that you can essentially start your own business with just a computer and an internet connection. Obviously it's more complex than that, but it is a very nice thought, and it can be highly rewarding.
As for computer programmer vs software engineer, they are just titles that mean nothing. You could have someone who took a single programming class call himself a software engineer or you could have a guy who graduated with a software engineering degree call himself a programmer. IMO it all depends on the situation.