The software industry is awash in folk wisdom. The "rule of three" tells us that we should only create a generic implementation once we've solved a problem three times. The Knuth quote about "premature optimization" either tells us that optimization is always bad, or bad 97% of the time, depending on how much of the quote we bothered to read. None of these prescriptions describe a context in which they might not apply. Taken literally, most are wildly misleading. To use them properly, we must already have a nuanced understanding of software. This talk presents a framework to intuit these same insights, but also their boundaries. It provides concepts and vocabulary that enable the viewer to not only explain how a problem should be solved, but why.