It’s often said that there are two hard problems in programming, cache invalidation and naming things. And indeed, naming things is both hard and important because it affects the maintainability of our software — the ability of another person to read and modify what we have written. The computer couldn’t care less, but the people with whom you work care a great deal. In this talk, Jacob Burch introduces the problem, and provides guidelines (and examples) of how to think about naming identifiers in your programs for maximum clarity. He uses Python for his examples, but many of these ideas apply to general best practices, not just to one specific language.