I've worked (or studied) in some STEM area for around 20 years or so, usually in a company engaged in engineering and technology. As a student of software development, I have sought a sense of groundedness and found it to be elusive in that particular domain. Why is that?
The title of this entry comes from something Richard Feynman's dad taught him in a discussion about a bird. The brown throated thrush has many names in many human languages, but even if you were to learn every one of its names in every language you would still know nothing about the bird.
That's a big part of what's wrong with information technology today. People believe their own marketing so much, that they really conceive that giving something a new name constitutes invention; that labeling things constitutes learning and the labels constitute knowledge. As Feynman also observed, labeling has utility when you want to talk to other people about things and concepts. But beyond that knowing labels is not the same as understanding a subject.
Feynman's view of "social science" is a related viewpoint, and applies well IMHO to technology, or at least the technological public's view of the basis.