Lets say it this way, "There will be lesser software programming jobs".
There are a few broad categories of software like Games, Web Applications, Industrial Application, and End User application, which cover almost every kind of software we use. Be it 'Age of Empires' or 'MATLAB/Simulink', every software needs programmers and testers. If there is so much demand of software professionals then why at all are we discussing this? No matter what, we will be definitely using all kinds of software in future too. So, where is the problem?
Software programmers are definitely not going to be jobless in the next 10-15 years, but there will be a decrease in the number of opportunities. There can be a number of reasons viz. open source, software re-usability etc. In very far future, automatic programming may pose a trouble for programmers. But, I am very sure we will not be seeing that era. Every industry goes through a cycle and so will the software industry. For example, consider automotive industry. What happened to it? Why are people loosing their jobs? Why are companies laying off at such a large scale? The reason for this decline in number of jobs in automotive sector is automation and efficient use of manpower. Software industry will not face the same trouble in very near future. As I told earlier, automatic programming is a far fetched thing and it is not going to be used in making commercial software in near future. So, what can be the problem?
There can be many! Let us discuss them one by one.
Yesterday, I bought an i-pod; 30 GB, small, sleek and amazing. But wait a second! What am I going to do with those 30 GBs? I am pretty much sure I will never listen those many songs and I will never be able to fill all the space. What if Apple comes with a new i-pod with 100 GB space? Do you find it useful? What if the size is half the current size? Don't you feel a saturation in mp3 player technology? Don't you feel the price should go down? Will you ever buy a 100 GB i-pod? If you think rationally, your answer will be 'no'.
Software industry is bound to face such a saturation in future. Already existing software are capable enough to cater to the needs. The concept of software re-usability can be critical here. Even if there is a slight modifications in the requirement, it is not required to begin the whole development process. I do not find any significant improvements in Windows operating systems lately. Basically, Microsoft is trying to make the OS beautiful because there is not much left to do for them considering they are not able to make Windows as secure as Linux. I do not see a reason to buy Vista instead of XP! This is an example of an end-user software. The same analogy applies to industrial and academic software like 'MATLAB/Simulink'. There is no considerable difference between MATLAB 5.0 and 7.0 except fixing a few bugs and adding some features. 'The Mathworks' wouldn't have hired a fresh group of developers for new version and even if they did they did not have to hire such a big group. There is already so much code floating in the industry and from open source it is bound to affect the number of new hires by a company.
The concept of OpenSource is also becoming very popular these days. I am not going to elaborate upon as everyone is familiar with it. It can also have a major impact. Let us consider a financial company which has an IT department. What happens if there are a number of such firms and they are ready to pool their computing resources in some way? It would definitely help the company in shrinking its IT department and it will be good from the perspective of companies.
Would decent software jobs going to be difficult to get? The answer is 'Yes' and 'No'. There can be a decrease in number of software programming opportunities but not up to the extent people will start loosing their jobs, at least not in very near future. Software testing opportunities may go on growing for quite some time. In spite of all odds, software programming is here to stay.