I've just inherited a legacy software system and I've been hunting down every podcast episode I can related to handling legacy projects holistically and there is a dearth of material.
Lots of the real world things I've learnt over the years I haven't even seen in books, at best books are incomplete and at worst hopelessly naive.
I've considered writing a book called "The hitchikers guide to software development: Surviving the bosses, the deadlines, the insane team members, this weeks buzzword management style - Towel is optional", I want material on programming in the real world not the idealised "and of course you should allocate time for <insert thing your boss will never understand the benefit off>".
Also on a similar related topic, why the hell are software visualisation systems so bloody useless, everything is optimised for creation not maintenance, I know my IDE has the data since it has internal state for things like autocompletion/jump to definition but when I do a "find usages" it gives me a table with each line and the filename...which is a pretty horrible way of visualising it, why can't I see a neat graph and re-orientate it around things like "find usages in this class and it's descendants" or "show me the class with the most usages of <foo>".
Even the best IDE's (I use intellij which is generally wonderful) still approach the problem from the wrong side sometimes, even the limited diagramming tools it has are very useful but you can't do much to interact with them.
IntelliJ in particular should have such tools - the IDE has all the right information. Just no tools that would be particularly useful for exploring codebase structure.
I don't know if this phenomena you and I are talking about is just my emotion-based but factually-incorrect perception, or an actual trend. I like to think it is an actual trend, because I look at fields like truck driving, and the boundaries of what is required to be known today by even average drivers seems greater than say, the 1930's. But the more specialist drivers have to know far more. Same with nurses, farmers, pipefitters, etc. It seems that while the "table stakes" to get into the entry level of many fields have gone up, certain specialties and career development paths simply didn't exist in the past, and they're far more demanding than the field used to expect of the average entrant. It is like the complexity level exploded across many fields as technology moved us forward, and we're not preparing students for the complex reality of the fields they are entering.
[1] https://en.wikipedia.org/wiki/Software_archaeology
[2] https://www.embarcadero.com/solutions/software-archeology
Might I suggest the book "Working effectively with legacy code" from Michael Feathers.
I also agree about "precious little instruction available at the intermediate level". Though some is out there, if you're willing to spend a lot of money and sift through a lot of dross.
But I definitely disagree about needing to pick up some thick textbooks or go to college to get from Hello World to employable junior. What you need to do is work. Textbooks or college (or bootcamp) are certainly a possibility, but there's no shortage of free material, if one has the grit to do the work.
I mean, shit. Entry into an upper-middle-class white collar job used to be a project of at least 4 years of full-time effort, with a cost (on top of cost of living) at least equal to a year of salary of that upper-middle-class job. Modern educational opportunities in the area of software engineering drop that by a factor of 2 or 3 or 4. But some people (the "everyone" in your "everyone seemed to think...") figure it has dropped by a factor of 100. It's preposterous. Would-be programmers have got it pretty damn good... that doesn't mean it's miraculous!
Same with documentaries on engineering, I've seen 5-6 on jet engines and none of them goes into proper detail.