In 2010, I saw a tweet that changed how I think about programming. I do not remember who tweeted it, and I have been unable to locate it again, but its gist was “The Tao of OOP is that dynamic dispatch is control flow”.
This is true, and it creates an entirely different way of thinking about designing objects. I also find it applies somewhat to functional programming.
My productivity system is working fairly well at a few levels: I feel like my day-to-day and weekly tactical planning are in good shape, as well as my pipeline management and some medium-term planning. However, there are a couple of notable holes that I'm still looking to fill.
I spent the day yesterday at the NSF CISE CAREER workshop. It was excellent, and I strongly encourage any young US CS faculty to go to a future installment or watch the online videos if a CAREER proposal is in their future.