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.