I think I've mentioned before that I've always felt just about one step ahead of where I really need to be in terms of my programming career. My book was written to address the previous step, in fact. (I sure would write it differently today.)
At work I did some of the more secondary coding for a framework in our application. The guy who mentors me was the architect and challenged me to think better, and work smarter. I'll freely admit that my involvement in that project, however limited in scope, really changed my way of thinking for the better.
Today I walked through a solution to a problem with a younger developer. What seemed clear and obvious to me, both in its intent and its design, was not to him. I could see him getting very frustrated by this, and I didn't know exactly how to react other than be patient and try to explain things. The problem was, I wasn't sure how to explain it exactly, because I never really intellectualized the rationale behind the design myself. I didn't blindly accept it from the architectural guy, I just felt like I "got it" and left it at that.
I think we left things in a pretty good place, and I'm fairly confident that he'll code the solution the way we'd like. It just left me in a somewhat strange place because I wasn't able to teach the way I had been taught, and that frustrates me a little. My mentor is out of the country, so I have to keep the keys to "our" kingdom. It's strange having that responsibility.
Anyway, while Mondays generally aren't that fun, I have to admit this one offered some challenges.