We're always trying to abstract away details in software so that, well, we don't have to think about everything all the time. It reduces the cognitive load and allows us to focus our brain's processing power on the details most relevant to the task at hand.
The concept of abstraction is fundamental to software engineering and it is so necessary (imagine if we all had to think about memory allocation or scheduling tasks or routing packets). Abstraction is powerful and a sign of progress in this field that we don't have to think about this stuff all the time.
However, often we are in fact left thinking about it all the time. In a slightly different form, the thought is something like "I don't really get this or I wish I knew this at a deeper level but oh well". That lingering thought creates a psychological load of having to be okay with not knowing or not understanding something. Many of us crave details and not knowing exactly how something works is a psychological burden we subconsciously carry.
I think this is true at all levels of experience as a software developer, even with decades of programming under one's belt there are threads they haven't had a chance to pull at to full satisfaction. I imagine this can be especially painful for new developers. If typing some code into a browser and having a console print out 'hello world' is not satisfying to you, you're not alone. There are questions that need answering, how? why?
Things do progressively get better. As more time passes you can hope to have more foundation under your belt, you see patterns and can predict outcomes. I like keeping a log of things I want to understand deeper and try to pull at those threads when I can. This, of course, requires some discipline and some free time and motivation.
What are some concepts, abstracted away in your day-to-day, that you want to understand at deeper level?