Developer on Fire
Episode 073 | Arlo Belshee - Refactoring Humanity
REFACTOR ALL THE THINGS!!!! Arlo executes reflective design on legacy code, legacy organizations, legacy relationships, and legacy ways of thinking. He executes those design changes via refactoring. By which he means something more specific than most people do. Arlo is a master at executing any change in a sequence of atomic steps, each of which can be demonstrated free of unintended side-effects. In code this doesn't even require tests. In relationships, thinking, and organizations things get a little more complicated. Also known as The Court Jester, Twenty Pounds of Crazy in a Ten Pound Bag, and occasionally Bloody Stupid, Arlo is an absurd pragmatist. As an explorer and lover of the human condition, how could he see anything but absurdity? How could he care about anything except real-world outcomes? And he absolutely loves legacy code. What could be more pragmatic? What could be more absurd? Working with legacy code requires intense, sharp creativity and open, brilliantly careful action at the same time. Making legacy code obvious to humans while maintaining full backwards compatibility is the ultimate challenge in software development. For a good time, Tweet Arlo or just hit him up in a bar sometime. Code, relationships, metacognition, emotions, and scotch: sounds like the start to a fine evening.
Chapters:
- - Dave introduces the show and Arlo Belshee
- - Arlo, the "omnivore" of practices
- - Arlo's definition of value
- - Going deeper on emotion and its power in human experience
- - Cognitive Biases and bugs
- - The things that "light Arlo up"
- - Fundamental skills: Arlo on refactoring: "known, safe, atomic transformations"
- - Arlo's story of failure - tooling deficiencies
- - Arlo's stories of success - embracing Extreme Programming and delivering and extreme legacy code refactoring and deleting
- - How Arlo stays current with what he needs to know
- - Arlo's Minions language
- - Arlo's thoughts on pain and judgment toward emotion - emotions being neither inherently good nor bad
- - The things about which Arlo likes to geek apart from software
- - The hierarchical culture of the United States and Taylorism
- - Arlo's top 3 tips for delivering more value
- - Keeiping up with Arlo
Resources:
- Arlo's Blog
- Arlo's Minions Language
- Arlo's Repositories Relating to the Minions Language
- Uncle Bob Martin Demonstrating Test-Driven Development
- Arlo on Using Mocks
- Refactoring: Improving the Design of Existing Code - Martin Fowler
- Extreme Programming Explained: Embrace Change - Kent Beck, Cynthia Andres
- Ward Cunningham
- Ward Cunningham on Developer On Fire
- Promiscuous Pairing and Beginner’s Mind: Embrace Inexperience - Arlo Belshee
- Perforce
- Anzeneering - Industrial Logic
- Taylorism
Arlo's book recommendation:
Arlo's top 3 tips for delivering more value:
1. Radical compassion - understand other people from their perspective and not their own
2. F*** theory - outcomes are all that matter - articulate values in terms of desired outcomes, not in terms of solutions
3. Focus on safety - "people don't fear change; people fear stupid"