RailsConf 2014 - All the Little Things by Sandi Metz

Confreaks · 190K views · 2014 · 38:47

Open on YouTube

Software architecture & designPython, Ruby & scripting languagesTesting, debugging & developer toolstalk

Why Hacker News recommends it

HN treats it as a top-tier programming talk for learning refactoring and for the wrong-abstraction principle, recommended repeatedly over a decade.

What it is

Sandi Metz takes an ugly section of conditional code and refactors it into a few simple objects, bridging object-oriented theory and practice. The talk includes her take on the Gilded Rose refactoring kata and the idea that duplication is cheaper than the wrong abstraction.

Recommended by 15 HN commenters across 15 different months, 2015 to 2025.

What Hacker News said

Strong rec mbesto · 2015-04 · on “Refactoring: How do I even start?”

Sandi Metz talk "All the Little Things"[0] is amazing for understanding the general concepts around refactoring OOP code. It's ruby centric, but the concepts are applicable to all OOP languages. The most interesting part is the fact that during the refactoring process you should actually increase the amount of code and complexity to eventually consolidate and aggregate it down. This as opposed to simply trying to delete/mutate code. [0] - [this video]

Strong rec hire_charts · 2016-02 · on “Rich Hickey Fanclub”

That and Hammock Driven Development: [LINK] Both of these talks are in my top 5. Edit (okay, here are the other 3): * All the Little Things by Sandi Metz [this video] * Programming is terrible—Lessons learned from a life wasted. [LINK] * Some talk I saw by Dan McKinley on making Data-Driven decisions. I can't find the original video, but here's a really similar one: [LINK]

Strong rec tinco · 2016-12 · on “Talks that changed the way I think about programming”

These talks are a little skewed to the game/high performance programming side of the art, but still very interesting in general. Of the ones I've already seen I really like Mike Acton's talk. Since this has become such a nice thread some additions I'd add: * Sandi Metz going through the Gilded Rose or "All the small things" [this video] I already subscribed to her programming style and the general Ruby TDD/BDD movement, but this talk captures all the important values in a single example. I think it made my programming style no longer based on vague things like experience or intuition, but just on concrete merit shown in this talk. * Matthew Brecknell demonstrating Hole Driven Development [LINK] T

Strong rec da_murvel · 2018-10 · on “Ask HN: What are some of the best technical talks you've heard?”

Define "technical". But when it comes to programming I always enjoy Sandi Metz's talks. I can highly recomend this talk she made at the RailsConf in 2014, about taking an ugly beast of code and turning it to something more digestable and beautiful [this video]

Strong rec chrischattin · 2019-01 · on “Confessions of an Abstraction Hater”

I'm a huge proponent of this concept. The goal is to be able to build and iterate as fast as possible. Most of this is achieved when new folks can step in and understand the code right away. Needless abstraction slows this down and makes the app more brittle to changes in response to customer/client inputs. Sandi Metz had an awesome presentation about this during a Rails Conf. "Duplication is far cheaper than wrong abstraction" [this video] Her blog talking more about the assertion: [LINK]

Strong rec abvdasker · 2020-01 · on “Goodbye, Clean Code”

"Duplication is far cheaper than the wrong abstraction." — Sandi Metz ( [this video] ) This talk by her is one of my favorites ever. Her ideas definitely made me a better programmer.

Strong rec wilkystyle · 2025-08 · on “Cognitive load is what matters”

One of the many great takeaways from Sandi Metz's talk at Railsconf 2014: "Duplication is far cheaper than the wrong abstraction." [this video] Worth watching in its entirety, but the quote is from ~13:59 in that video.

Recommends there4 · 2016-01 · on “Ask HN: How do you deal with 2000 line functions?”

This is a great presentation about refactoring that may be useful: "RailsConf 2014 - All the Little Things by Sandi Metz" [this video]