В отличие от юристов, экономистов и уже тем более, знающих языки, программистом может стать ограниченный круг людей,  слишком несочетаемые качества требуются, математика,  логика  на высшем уровне при фантастической усидчивости и кропотливости, как правило, не в первом поколении математики, инженеры. Я имею ввиду тех, кто сможет реально что-то создавать, а не в третьем уровне поддержки работать.   Этим и объясняется дефицит  - сложных задач много, и отраслей все больше, (тут нам только торговлю привели в пример, интернет магазины - там плагины- шаблоны 15 лет назад уже были),  а  качественных специалистов  больше не становится из поколения в поколение   Наукоемкие отрасли также потребуют программистов в большом количестве.  Также туда будет отток способных , которые не пойдут в программисты, и опять дефицит кадров в программировании.