This has always been true. What you percieved to be the case was an illusion. To paraphrase myself¹: Imagine someone who started with soldering, electronics, radio, and circuits, and is just beginning with computers and programming. They would probably feel the exact way you do; that they used to know “all the layers”, but that it’s somehow becoming too large for them. Knowing “all the layers” was an illusion for them, as it was for you.
> almost no feedback when things break.
This, however, is absolutely crucial. Fast feedback loops, however and at whatever level they are implemented (REPL, fast development iterations, TDD, monitoring) are essential to knowing that what you are doing is actually accomplishing anything and not just doing cargo cult coding.