I believe (partially anecdotally and partially from reading articles over the years) that a big part of this problem is more like "mis-education", rather than "under-education". In primary and high school education in the UK, computing is a dire situation.
It's clear that being good at using a computer is a huge asset in modern society, so why don't we gear education towards it? Programming ought to be seen as vitally important as English and Maths.