This talk is a survey of alternate and complementary techniques for improving software quality. We'll cover topics such as: Testing and TDD (**start here**), Property-based testing (e.g. Rantly, QuickCheck), Contracts (e.g. Contracts.ruby), Formal specification & model-checking (e.g. TLA+), Types' slogan: "Make Illegal States Unrepresentable", More formal methods: (e.g. proving stuff) Yes, this is a _ton_ of stuff and it's going to be pretty technical. I'm also going to go through things quickly and info-dump. There will be copious breadcrumbs leading you to where you can go to learn more. This is a horizon-expanding "what's out there" sort of talk. Now that I've (convinced you/scared you off), it'll also be lots fun; learning new stuff always is. I'm going to make this stuff approachable from the point of view of someone who's got some testing under their belt. We can always tie things back to "how can I make my code better?" Put on your space helmet and come along!