In this talk, we’ll look at why JavaScript's versatility and easy of use makes it hard sometimes to write code that is easy to reason about. We’ll then delve into a specific set of methodologies and tools we can use to make our JavaScript code safer, more reliable and more predictable. With a little effort, it becomes infinitely possible to write JavaScript code that is easy to reason about.