Spot on. This is why MIT moved away from feeding undergrads SICP: it was a sad realization that the reality of modern software development was less about building/understanding a world from first-principles, and more about finding yourself in a sea of libraries/frameworks and having to do enough "basic science" on them to discover how to make them do what you want (reliably).