Skip to main content
SE

Stephanie Eeman

2episodes
1podcast

We have 2 summarized appearances for Stephanie Eeman so far. Browse all podcasts to discover more episodes.

Featured On 1 Podcast

All Appearances

2 episodes

AI Summary

→ WHAT IT COVERS Joel and Stephanie examine software rewrite projects, exploring when rewrites make sense versus incremental refactoring, the hidden costs of starting fresh, and strategies for modernizing legacy applications without stopping active development. → KEY INSIGHTS - **Scope rewrites as refactors:** Instead of rewriting entire applications, bound changes to specific subsystems, modules, or classes. This transforms risky rewrites into manageable refactoring work that maintains existing behavior while improving internals, allowing teams to continue shipping features without disruption. - **The 90% done trap:** Development work represents roughly 30% of total effort, while 70% involves handling real user interactions, fixing unexpected bugs, and addressing edge cases discovered in production. Avoid demoing unmerged work or mocked features that create false impressions of progress. - **Prototype window opportunity:** Rewrites make sense for prototypes or proof-of-concept code with no test coverage, corrupted data models, or fundamental architectural flaws. Once real users depend on the application, rewrite costs increase exponentially while business justification decreases proportionally with user base growth. - **Change in place incrementally:** Introduce new architectural components gradually rather than stopping all development for a complete rewrite. Structure changes so each piece delivers immediate value—like making one section faster this week, another next week—rather than requiring full completion before seeing benefits. → NOTABLE MOMENT Joel shares his one regret about arguing against rewriting a prototype with corrupted database triggers and zero test coverage, realizing afterward that the two-week timeline would have delivered more value by rebuilding correctly in Rails from the start. 💼 SPONSORS [{"name": "WorkOS", "url": "https://workos.com"}, {"name": "Mailtrap", "url": "https://mailtrap.io"}] 🏷️ Software Rewrites, Legacy Modernization, Technical Debt, Refactoring Strategy

AI Summary

→ WHAT IT COVERS Joel completes a 26-PR refactoring project using dependency graphs, while Stephanie learns hard lessons about renaming Sidekiq worker classes in production environments. → KEY INSIGHTS - **Dependency Graph Strategy:** Map refactoring projects top-down but execute bottom-up, breaking large changes into 25+ independent PRs to maintain continuous shipping momentum. - **Sidekiq Class Renaming:** Never rename background job classes directly - enqueued jobs reference old class names, causing production failures when classes are deleted. - **Breaking Change Migration:** Use delegation pattern when renaming worker classes - keep old class delegating to new one until all queued jobs process completely. - **Rails Convention Benefits:** Active Model integration provides free form helpers, URL generation, and view compatibility - custom objects should implement these interfaces for seamless Rails integration. → NOTABLE MOMENT Stephanie's simple class rename caused cascading production failures as both old and new job names became unprocessable, requiring emergency reverts and careful delegation strategies. 💼 SPONSORS None detected 🏷️ Rails Development, Sidekiq Background Jobs, Refactoring Strategies, Dependency Management

Explore More

Never miss Stephanie Eeman's insights

Subscribe to get AI-powered summaries of Stephanie Eeman's podcast appearances delivered to your inbox weekly.

Start Free Today

No credit card required • Free tier available