Personally, I believe programming is a calling. You will only be slightly successful if you join the field because you read or someone else told you that there were lots of opportunities. Those who, after a brief exposure to programming, become driven to learn more, and to solve problems, will be truely successful in the industry.
Are there opportunities in programming? Well, I have never met a good programmer who was having a tough time in the industry (the period of 2001 - 2002 being an exception). I have, however, met a lot of people who thought they were good programmers, who have had difficulty getting jobs or obtaining a salary they thought they deserved. I have also never met a programmer who did not think they were a good programmer. Nearly all think they are great. Few are.
Being a programmer isn't particularly difficult. Being a truely good programmer takes a lot of time and work. BUT, it is not work to someone who has the passion.
"But... I wore the juice!"