The Ground Beneath You
A very poetic way to think about “understanding”: It is like the ground beneath you. The ground can be thin and unstable or it can be deep — build on miles and miles of solid rock.
For example: I am using a mobile-development framework building an app. And my app works! However, I would not say that I really understand it. This is because I don’t know what the framework is built upon. I write code and it works. But how? What languages, frameworks, and compilers turn my code into code that runs on a mobile phone?
Part of the beauty of the information age is that I can learn high level concepts without needing to know the fundamentals (the ground beneath). But it is double-edged-sword because I forget that I don’t really understand. And when things go wrong, they can go really wrong. I am walking on top of a bridge/cave roof and occasionally they give way.