What makes good software? What's the difference between well written code and code that's not? There are two foundational principles that are at the core of well written code - cohesion and coupling. Well written code is loosely coupled and highly cohesive. Whether you write object-oriented, procedural or functional code, it must follow these two principles to be able to be easily reasoned about and maintained. In this talk we'll discuss cohesion and coupling and take a look at poorly written code and how to think about and refactor it to be loosely coupled and highly cohesive.