Looking for well defined explanation that is based on a statistically significant correlation to what "real" world programmers are paid to do as a team and what they are told to learn; not for example, how to be a good cowboy coder, or open source team coder.
To be clear, this is not just "how to learn [insert-language]" - but more along the lines of writing quality code, being able to complete common team based tasks, etc. - and being able to quantify that a programmer has mastered these skills in a standard way.
The closet I am able to think of is "Teach Yourself Programming in Ten Years" by Peter Norvig, or the "Programmer Competency Matrix" by Sijin Joseph, and these may in fact be the answer, but they have been around awhile, and it is possible at this point there is something of more use. What is a "real" education in programming?
BACKGROUND: Increasingly find that there's a disconnect between what academia teaches and what the real world needs. Personally, while I understand academic endeavors on there own have lead to great progress both within the field of programming, and outside of it - I gap a huge gap in what academic education offers, as being of use - and what the real world needs. Ventures like Hungry Academy seemed like a good approach, but given it is now dead, it is unclear how to train more coders faster based on fact-based observations of what works.