Schools are definately part of the problem. I went to secondary school (high school) in an 'inner city comprehensive' in Chalk Farm, Camden in the early nineties. I wanted to study structural engineering at university. At the time it wasn't possible to study the combination of subjects that many universities required to study engineering either at that school or most others in the area. The school system definately wasn't and isn't set up to prepare people for jobs in IT, construction, biotech, medicine and engineering. Not just for engineering design type jobs but maintenance and technician jobs or construction jobs like carpentry, plumbing etc. There is huge demand for skilled construction workers in London.
It was the same for me at secondary school in the late 90s and early 00s. They hadn't moved on. ICT education at GCSE consisted solely of being taught how to use a computer in an office environment, and mostly how to use Microsoft Office. They didn't touch on how the things actually worked... presumably because those teaching to the syllabus didn't actually know.
Why we aren't giving every single kid in this country the chance to write some rudimentary code before they leave school (I've anecdotally heard this is the case in parts of India) is beyond me. Those are the skills we need to get the country out of this hole, not a million more 'TV producers' or 'admin assistants'.