As programmers, we're familiar with complex logic and decisions: complex boolean expressions, long if/else cascades, and convoluted cases. But we quickly learn to avoid them as much as possible, finding ways to simplify. That's because even though computers can handle that complex stuff, we humans like simple logic. We have trouble internalizing complex lines of reasoning. Our bias toward simple explanations shows in all kinds of ways. It affects how we think about politics, science, economics, and yes, programming. And it can lead us astray. Some things really are complicated, and to understand them properly requires thinking about the complexities. If we insist on simple explanations—or just default to them because we don't think very hard about it—we can reach the wrong conclusions. This talk will explore how to think about some important programming topics that are often misunderstood. You may leave the talk with your mind changed. You may simply find your position strengthened. At the very least, I hope you'll learn some new, clear ways of explaining things to those around you, helping them to think clearly about complex issues.