Swimming in uncertainty and (conditionally) trusting abstractions is one of the skills I have to teach my interns. I love their desire to understand and I try to be careful not to kill it. But at the same time, software engineering in the real world means contributing to a picture that is larger than will fit in your head.