Skip to main content
The Bike Shed

462: Decomposition as a key developer skill with Steve Polito

42 min episode · 2 min read
·

Episode

42 min

Read time

2 min

Topics

Remote Work, Software Development, Psychology & Behavior

AI-Generated Summary

Key Takeaways

  • Vertical Slicing: Ship features as thin vertical slices that deliver user-facing behavior rather than horizontal layers like models then controllers. This approach informs implementation decisions through actual user interaction patterns and prevents shipping dead code that provides no immediate value to users.
  • Triangle of Separation: Apply three principles to break down complex code: write at single abstraction levels, separate branching logic from business logic into different functions, and push conditionals up the decision tree. This forces extraction of reusable functions that can be independently composed and tested.
  • Scope Reduction Tactics: Negotiate with stakeholders to simplify initial deliverables by removing modals in favor of inline displays, shipping calculated values before detailed breakdowns, or placing features behind flags. This reduces PR size from weeks to days while maintaining shippable value and enabling faster priority adjustments.
  • Churn-Complexity Analysis: Identify refactoring targets by finding files with both high complexity and high change frequency. Extract duplicated business logic into service objects based on responsibility patterns like synchronous versus asynchronous execution, or presentational versus data manipulation concerns to reduce technical debt.

What It Covers

Steve Polito joins Joel Quenneville to explore decomposition as a fundamental developer skill, covering how to break down features into vertical slices, separate branching from business logic, and apply atomic thinking to stories, commits, and code structure.

Key Questions Answered

  • Vertical Slicing: Ship features as thin vertical slices that deliver user-facing behavior rather than horizontal layers like models then controllers. This approach informs implementation decisions through actual user interaction patterns and prevents shipping dead code that provides no immediate value to users.
  • Triangle of Separation: Apply three principles to break down complex code: write at single abstraction levels, separate branching logic from business logic into different functions, and push conditionals up the decision tree. This forces extraction of reusable functions that can be independently composed and tested.
  • Scope Reduction Tactics: Negotiate with stakeholders to simplify initial deliverables by removing modals in favor of inline displays, shipping calculated values before detailed breakdowns, or placing features behind flags. This reduces PR size from weeks to days while maintaining shippable value and enabling faster priority adjustments.
  • Churn-Complexity Analysis: Identify refactoring targets by finding files with both high complexity and high change frequency. Extract duplicated business logic into service objects based on responsibility patterns like synchronous versus asynchronous execution, or presentational versus data manipulation concerns to reduce technical debt.

Notable Moment

The realization that Elm's maybe type system forces separation of null-checking logic from business logic led to a broader insight: all conditionals can be extracted from implementation code, creating confident functions that assume correct paths while composition handles branching separately.

Know someone who'd find this useful?

Episode Transcript

Imagine the last time you had to deal with request timeouts or backed up job queues in your job environment. Take yourself there. Can you feel it? The stress, the frustration? Here's what JudoScales knows. You're either not auto scaling or your auto scaler is not doing its job because auto scaling is supposed to prevent scenarios like this. In comes JudoScale. JudoScale helps your app smoothly handle traffic spikes while dramatically lowering your hosting costs. You can use Judo Scale's free plan forever, so you've got nothing to lose. If you want to say goodbye to those painful production incidents, visit judoscale.com/bikeshed for your special gift as a bike shed listener. That's judoscale.com/bikeshed. Hello, and welcome to another episode of the Bike Shed, a weekly podcast from your friends at Thoughtbot about developing great software. I'm Joel Kenville, and today I'm joined by Thoughtbot colleague Steve Pulido. Hey, everyone. Hey, Joel. Thanks for having me on. And together, we're here to share a bit of what we've learned along the way. So, Steve, what's new in your world? Hey. Alright. So, little fun fact that I I learned recently. So I I'm in Mansfield, Massachusetts, and there's a commuter rail station here. And, apparently, it's one of two places in maybe America. We'll just say that. One of two places in America where the Acela can go its top speed by a platform, which is roughly a 150 miles an hour. And I can confirm that it is incredible when that happens and also very frightening. So if you haven't heard of Mansfield, Massachusetts before, that's gonna put it on the map for you right there. So if you're a big train enthusiast, check it out. I don't I don't think you'll be disappointed. And for those who aren't familiar, the Acela is the for The US considered high speed rail sort of mainline connection that runs between New York and Boston and then beyond. Exactly. Yeah. So, I don't know if that's a good thing or not for Mansfield. I don't know if it's like, we just gotta get out of here. Like, we we let's keep it moving, folks. But I've been on the platform before when that thing goes by. It's, it's really cool, but also terrifying. So Blows off your hat. Yeah. It blows off your hat and anything else that isn't strapped down. It's just like the cartoons. Exactly. Yeah. So, yeah, it's a little fun fact. But other than that, just enjoying the nice weather up here. It's, it's spring, so things are starting to to get warmer, get nicer. What about you? What's new in your world? I've wrapped up a conference season where, submitting a lot of abstracts to calls for proposal, and I got a chance to try something a little bit different this year. Repeat listeners of the show will have heard me talk about my note taking system where I take down ideas as a series of atomic …

Get the full transcript (7,677 words) + summary by email — free

One-time email with the complete transcript and AI summary of this episode. No account needed.

One email, no spam. We’ll also show you what SignalCast does.

Browse all The Bike Shed transcripts →

You just read a 3-minute summary of a 39-minute episode.

Get The Bike Shed summarized like this every Monday — plus up to 2 more podcasts, free.

Pick Your Podcasts — Free

Keep Reading

Books, tools, and gear mentioned in this episode

SignalCast may earn commission on purchases via these links.

Tools

  • The realization that Elm's maybe type system forces separation of null-checking logic from business logic led to a broader insight: all conditionals can be extracted from implementation code, creating confident functions that assume correct paths while composition handles branching separately.

More from The Bike Shed

We summarize every new episode. Want them in your inbox?

Similar Episodes

Related episodes from other podcasts

Explore Related Topics

This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.

Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.

You're clearly into The Bike Shed.

Every Monday, we deliver AI summaries of the latest episodes from The Bike Shed and 192+ other podcasts. Free for one show.

Start My Monday Digest

No credit card · Unsubscribe anytime