Joel is right. Software is a great industry and programmers, as a fundamental part of that industry, enjoy great benefits as a result. Professional, clean, safe work environment, good salaries, benefits, smart peers, growth opportunities.
But it's everyone responsibility, including programmers, to take ownership of their career. They need to work on their craft, grow in their roles, learn other parts of the business, and take responsibilities that are aligned with their long-term goals. My gut feeling is that the people who feel stuck in "sucky jobs" are treating their jobs as just that -- jobs, rather than opportunities to grow, learn, and eventually be better than their boss is. The latter requires significantly more time, of course, far beyond the average 9-5'ers habits.
But it's everyone responsibility, including programmers, to take ownership of their career. They need to work on their craft, grow in their roles, learn other parts of the business, and take responsibilities that are aligned with their long-term goals. My gut feeling is that the people who feel stuck in "sucky jobs" are treating their jobs as just that -- jobs, rather than opportunities to grow, learn, and eventually be better than their boss is. The latter requires significantly more time, of course, far beyond the average 9-5'ers habits.