I think that the Universities could and should be ones to solve this problem.  They first of all need to start offering 2 year largely vocation degrees for people who just want to learn the basics of getting a programming job and in addition offer 4 year Software Design&#x2F;Development&#x2F;Engineering degrees in addition to Computer Science degrees and really differentiate between the two.  Make it clear to the students (and by extension employers) that if you go for a software degree you&#x27;ll mainly learn X but not so much Y and if you go for a CS degree you&#x27;ll mainly learn Y but not so much X.  Most people currently getting CS degrees should probably be getting a Software Design&#x2F;Development&#x2F;Engineering degree.