Dealing with Hard Problems (2015)
I got a great deal of insight on problem solving from being a university teaching assistant for 2 years. Every couple of weeks or so, there would be a particularly difficult assignment, and I would get many visitors during office hours that week.<p>The first thing I would always do is have the student walk me through their current understanding of the problem. What surprised me was how incredibly wide the range of mental models students used was. Also it was interesting that quite often students make their mental models far more complicated than the actual problem.<p>My job was really just to help the student simply and clarify their mental model, and from there they usually solved the problem on their own.<p>Smart data structures are better than smart code. I think this applies to your mind as well as code.