Raymond Hettinger is a [[Python]] core developer who delivers popular talks on Python. His presentation style is often to show 2-3 code examples that are made more and more _Pythonic_. He shows worse and better ways of doing things. I suppose this gives the viewers a feeling of progress and success. You get the feeling of mentorship in a talk. > There must be a better way! Check out [Modern Python LiveLessons: Big Ideas and Little Code in Python](https://learning.oreilly.com/videos/modern-python-livelessons/9780134743400/) by Raymond Hettinger on [[O'Reilly]]. [The Mental Game of Python](https://www.youtube.com/watch?v=Uwuv05aZ6ug) is great. It's about reducing cognitive load and managing complexity. It's the core of the craft. He recommends [The Little Schemer](https://www.amazon.com/Little-Schemer-Daniel-P-Friedman/dp/0262560992) ([[The Little Schemer]]) to learn about recursion. Decompose big problems into smaller problems. Solve related but simpler problem. Do [[Chunking]] and aliasing. Chunk thoughts together. Find a simpler problem. - Write down the problem - Think real hard - Write down the solution What causes people to be stuck? Consider object oriented programming as a graph traversal problem.