Topic mix

Refactoring & technical debt

23 moments from 21 videos · 1:16:29 total

This playlist provides developers with actionable strategies for refactoring legacy systems and managing technical debt without breaking existing functionality.

Developing the Backend with Stefan Lingler, CTO at Shpock
Play section Balancing technical debt and clean code practices
Balancing technical debt and clean code practices thumbnail

Balancing technical debt and clean code practices

Dedicating specific days in the release cycle to refactoring prevents the buildup of unmanageable legacy code.

Un-complicate authorization maintenance
Play section Identifying signs of overly complex application authorization logic
Identifying signs of overly complex application authorization logic thumbnail

Identifying signs of overly complex application authorization logic

Frequent code churn and massive repository diffs directly indicate a necessity to adopt decoupled access architectures.

Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
Play section Balancing technical debt reduction with feature delivery
Balancing technical debt reduction with feature delivery thumbnail

Balancing technical debt reduction with feature delivery

Applying continuous refactoring and the strangler fig pattern to improve code health without halting business priorities.

CQRS and Event Sourcing without the pixie dust
Play section Combating technical debt and anti-modularity forces
Combating technical debt and anti-modularity forces thumbnail

Combating technical debt and anti-modularity forces

Day-to-day workarounds and deferred refactoring actively degrade application architecture over time by accumulating unstructured dependencies.

Fireside Chat with Werner Vogels, VP & CTO, Amazon.com & Daniel Gebler, CTO at Picnic
Play section Strategic use of technical debt for fast prototyping
Strategic use of technical debt for fast prototyping thumbnail

Strategic use of technical debt for fast prototyping

Engineering teams optimize for speed by deliberately introducing technical debt into initial releases and aggressively refining the architecture in subsequent iterations.

Thoughts on (Modern?) Software Development - Observations From a 21-Year Journey
Play section Managing subjective micro challenges and codebase complexity zones
Managing subjective micro challenges and codebase complexity zones thumbnail

Managing subjective micro challenges and codebase complexity zones

Steering developers away from dangerously freakish implementations preserves codebase simplicity and long-term team maintenance.

Breaking the Bug Cycle: TDD for the Win
Play section Managing technical debt for future team success
Managing technical debt for future team success thumbnail

Managing technical debt for future team success

Proactively tracking and resolving technical debt accelerates new engineer onboarding and preserves system maintainability.

How to TDD in legacy code
Play section Challenges of applying test automation to legacy code
Challenges of applying test automation to legacy code thumbnail

Challenges of applying test automation to legacy code

Complex dependencies and code resistance make traditional testing methodologies risky in existing codebases.

Coffee with Developers - Robby Russell
Play section Managing technical debt in legacy web applications
Managing technical debt in legacy web applications thumbnail

Managing technical debt in legacy web applications

Why organizations benefit from making incremental maintainability improvements across aging codebases instead of pursuing rewrites.

Launching a marketplace on-time: A lesson in taking shortcuts using spreadsheets!
Play section Managing technical debt and the long-term cost of shortcuts
Managing technical debt and the long-term cost of shortcuts thumbnail

Managing technical debt and the long-term cost of shortcuts

Delivering the marketplace successfully through extreme procedural shortcuts advertently creates systemic dependencies on unscalable architectures that eventually require major refactoring investments.

Play section Securing enterprise funding to refactor unscalable procedural shortcuts
Securing enterprise funding to refactor unscalable procedural shortcuts thumbnail

Securing enterprise funding to refactor unscalable procedural shortcuts

Transparent communication of deliberate technical debt upfront builds organizational trust and subsequent support for funding robust infrastructural operations.

Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3
Play section Managing software technical debt and risky code coverups
Managing software technical debt and risky code coverups thumbnail

Managing software technical debt and risky code coverups

Updating neglected frontend libraries often unravels nested dependencies that vastly exceed initial development budget estimates.

Get old, go slow, write code!
Play section Prioritizing internal code quality to prevent complete systemic rewrites
Prioritizing internal code quality to prevent complete systemic rewrites thumbnail

Prioritizing internal code quality to prevent complete systemic rewrites

Investing engineering effort early to construct well-designed software avoids the expensive trap of compounded technical debt.

Play section Applying targeted practices to reduce waste and technical debt
Applying targeted practices to reduce waste and technical debt thumbnail

Applying targeted practices to reduce waste and technical debt

Structuring dedicated time for collaborative code katas, extensive planning, and continuous refactoring fundamentally improves project health.

Move fast with Software Architecture
Play section Managing technical debt accumulation and unpredicted feature delivery delays
Managing technical debt accumulation and unpredicted feature delivery delays thumbnail

Managing technical debt accumulation and unpredicted feature delivery delays

Accumulating technical debt requires paying continuous system interest through slower development cycles before architectural progression becomes impossible.

Pair Programming with Generative Agents: Refactoring Legacy Android at Speed
Play section Identifying accumulated architectural debt in a modern codebase
Identifying accumulated architectural debt in a modern codebase thumbnail

Identifying accumulated architectural debt in a modern codebase

Manual deployments, tight navigation coupling, and locked dependencies created a fragile development environment.

Keep your code refactorable
Play section Balancing urgent feature deadlines with ongoing refactoring needs
Balancing urgent feature deadlines with ongoing refactoring needs thumbnail

Balancing urgent feature deadlines with ongoing refactoring needs

Navigating management pressure requires establishing a functional testing baseline and clearly communicating the systemic risks of continued technical debt.

Product Managers' Eternal Battle with Refactoring
Play section Five team approaches to handling engineering refactoring work
Five team approaches to handling engineering refactoring work thumbnail

Five team approaches to handling engineering refactoring work

Strategies for integrating code cleanup range from strict roadmap allocation to complete avoidance.

How Unit Testing Saved My Career
Play section Navigating legacy projects lacking existing unit tests
Navigating legacy projects lacking existing unit tests thumbnail

Navigating legacy projects lacking existing unit tests

The absence of automated test suites prevents safe refactoring and accelerates the deterioration of codebases.

Identifying code smells
Play section Defining code smells and identifying deeper system problems
Defining code smells and identifying deeper system problems thumbnail

Defining code smells and identifying deeper system problems

Setting the scope of code smells as surface-level indicators of bad design helps teams communicate efficiently and maintain testable code.

Write tests you love, not hate
Play section How fragile and slow tests compound technical debt
How fragile and slow tests compound technical debt thumbnail

How fragile and slow tests compound technical debt

Fragile tests that break on minor code movements discourage test creation and ultimately reduce development velocity.

How to Domain Model – An example from manufacturing
Play section Final benefits of relying on strict domain models
Final benefits of relying on strict domain models thumbnail

Final benefits of relying on strict domain models

Aligning software processes directly with the physical domain limits downstream code breakage when underlying infrastructure changes.

WeAreDevelopers LIVE - Is AI replacing developers?, Stopping bots, AI on device & more
Play section Managing code bloat and architectural waste
Managing code bloat and architectural waste thumbnail

Managing code bloat and architectural waste

Automated code generation often leaves abandoned imports and redundant functions behind when switching developmental approaches.

Your mix. Instantly.

More mixes