So if we're ranting about the good old days...

And maybe "kids these days..."
I have not been inside a school for a looong time, so I don't know what is taught how, but I think would-be software developers should start with assembler.* This gives them some first hand knowledge about registers, addressing memory by absolute address, etc. When they then start using high level languages, marvelously productive though these have become, the computer is not just a magic black box.
In the same vein, start with HSS tools that you grind yourself. Then all that fancy geometry on the inserts that are now available has some practical underlying meaning gleaned from first hand experience.
*I won't insist on toggle switch entry. Or building one from scratch.