Personally I think of programming as a cross between architecture and writing: I'm making something that has a visual presence and which end users can "live in" or "visit" (very much like a building), but it's also a story because the interactive medium necessarily imposes a narrative. This way of thinking helps me figure out the elements that go into software products... But probably everybody must find their own metaphors to make sense of what they want to do in this field.
When asked where he got the confidence as a first-time director to direct a film so radically different from contemporary cinema, he responded, "Ignorance, ignorance, sheer ignorance—you know there's no confidence to equal it. It's only when you know something about a profession, I think, that you're timid or careful."