Thinking of things I have almost forgotten, things I used to be passionate about during high school, and things I didn't really pursue at the time, one thing comes to mind the most and that is the network.
Growing up in a dial-up world where downloading a 10 MB PDF file could take over half an hour gives you a lot of time to think about how we could improve performance. Something I thought was obvious was that if only a certain area in a video changes frame after frame, why redraw the whole screen? Not that I really knew how "drawing" really worked beneath the covers of abstraction but that part seemed obvious to me. Of course, (thankfully) I was not the first person to think of it. This is the beauty of obvious ideas. If it seems like a good idea, someone has probably already tried it.
Of course, the subject of data compression is older than me. H.261 was born ratified before I could spell my name. When I was able to get on networks that reliably went beyond double digit KB per second, I was ecstatic. How could I forget about my woes and my desire for efficiency? Was good enough really good enough? Should we not try to get the most efficiency out of our networks as we can?
At my day job, I rely on a lot of things to "just work". Things like revision control systems are things we do not actively think about and manage the whole day. I bet there are a lot of things I don't know about SVN. There are a lot of things I don't know how they work in entity framework. This is clearly not how I can better myself. I really need to know how the tools I use work. I need to know how the hammer hits the nail, so to speak. Why? Because I would like to contribute to a slightly better hammer design some day. Well, maybe not but I bet it will be fun to try.