If you are good at it, software development can be a great career. The pay is typically excellent, you can find employment pretty much anywhere in the world, and (to quote George H. W. Bush on the vice-presidency), it's indoor work with no heavy lifting.
Also, there is a need for software development in every single industry. You want to work in health-care, you want to work in porn, agriculture, manufacturing, banking, whatever, they need programmers.
But here's the thing: you have to be talented. Most jobs, if you just apply yourself, you can be pretty good at it. To be a successful accountant or mailman or security guard, you just have to try hard to do a good job and you probably will.
Programming, I think, is like being a successful model or singer: it's not enough just to work at it, you have to be born with the assets. Someone who is naturally good at programming will be literally 10 or 20 times more productive than the average person with the same amount of training and experience.
Web design company
Yesterday, I watched some doomed job applicant laboriously write out a trivially simple function a task that might take the person who actually gets the job perhaps 15 seconds over the course of two or three painful minutes, and get it wrong. If I had been a kinder person, I would have told him to find an entirely different career path, except that by some unfathomable miracle this guy had managed to already find a job and work there for half a decade.