
Sign up to save your podcasts
Or
In this episode of Dead Code, Jared talks with Alan Ridlehoover, Senior Engineering Manager at Cisco Meraki, about managing software complexity through clear abstractions and thoughtful design. Using a metaphor of a vending-style coffee machine, Alan explains how complexity often arises not from algorithms but from code that’s hard to understand due to excessive abstraction or poor structure. He emphasizes focusing on the readability of what’s directly in front of you, using tools like flog and the ABC metric to quantify complexity, while also trusting gut instinct and applying heuristics like Sandi Metz’s five-line rule. Alan discusses minimizing over-engineering, favoring well-named private methods over inline comments, and stresses that code and commit messages—not comments—should tell the story. He also introduces “rehydration,” the process of adding back duplication to reveal better abstractions, helping developers make their code more maintainable and easier to change over time.
Links:
Flog (Ruby)
ABC Metric
Gerrit
DRY Principle (Don’t Repeat Yourself)
Domain-Driven Design (DDD)
Polymorphism
Dead Code Podcast Links:
Mastodon
X
Jared’s Links:
Mastodon
X
twitch.tv/jardonamron
Jared’s Newsletter & Website
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.
In this episode of Dead Code, Jared talks with Alan Ridlehoover, Senior Engineering Manager at Cisco Meraki, about managing software complexity through clear abstractions and thoughtful design. Using a metaphor of a vending-style coffee machine, Alan explains how complexity often arises not from algorithms but from code that’s hard to understand due to excessive abstraction or poor structure. He emphasizes focusing on the readability of what’s directly in front of you, using tools like flog and the ABC metric to quantify complexity, while also trusting gut instinct and applying heuristics like Sandi Metz’s five-line rule. Alan discusses minimizing over-engineering, favoring well-named private methods over inline comments, and stresses that code and commit messages—not comments—should tell the story. He also introduces “rehydration,” the process of adding back duplication to reveal better abstractions, helping developers make their code more maintainable and easier to change over time.
Links:
Flog (Ruby)
ABC Metric
Gerrit
DRY Principle (Don’t Repeat Yourself)
Domain-Driven Design (DDD)
Polymorphism
Dead Code Podcast Links:
Mastodon
X
Jared’s Links:
Mastodon
X
twitch.tv/jardonamron
Jared’s Newsletter & Website
Episode Transcript
Hosted on Acast. See acast.com/privacy for more information.