Why maintaining a codebase is so damn hard – with OhMyZSH creator Robby Russell [Podcast #207]

| Programming | February 13, 2026 | 11.9 Thousand views | 1:23:04

TL;DR

Robby Russell, creator of OhMyZSH, explains why software maintenance consumes nearly all development time, as engineers constantly navigate inherited technical decisions while organizations struggle with repository sprawl, orphaned code, and the risks of tacit knowledge walking out the door.

🔧 The Maintenance Reality 3 insights

Developers live inside inherited decisions

Most software work involves navigating constraints from predecessor choices, former self decisions, and existing architecture rather than building from scratch.

Greenfield development is statistically rare

Russell estimates developers spend 99% of their time maintaining existing codebases rather than starting new projects, even when building new features.

Maintenance extends beyond bug fixes

Adding features to existing systems constitutes maintenance because it requires working within established technical constraints and legacy architecture.

📦 Repository Sprawl & Orphaned Code 3 insights

Organizations accumulate abandoned repositories

Companies often maintain 80+ repositories where the majority are untouched for years, creating confusion about what is deployed, what is safe to archive, and what dependencies remain active.

Forking creates permanent hidden burdens

Teams frequently fork third-party libraries to patch urgent bugs, creating long-term maintenance responsibilities when those forks aren't merged back upstream or properly documented.

Code lacks clear ownership

When developers leave organizations, they often take irreplaceable tacit knowledge with them, leaving behind codebases that require forensic analysis to understand architectural decisions.

⚖️ Strategic Maintenance vs. Rewrites 2 insights

Rewrites risk institutional amnesia

Starting fresh underestimates the complexity embedded in production systems and often represents an expensive way to forget lessons learned from years of iteration.

Production complexity is invisible until lost

Teams routinely underestimate the time and energy invested in existing working systems, viewing rewrites as cheaper than refactoring until they rediscover edge cases the hard way.

Bottom Line

Treat maintenance as the primary job of software engineering by documenting architectural decisions and distributing knowledge across teams, rather than betting on risky rewrites or accepting accumulation of orphaned code.

More from freeCodeCamp.org

View all
Open Models Coding Essentials – Running LLMs Locally and in the Cloud Course
2:17:28
freeCodeCamp.org freeCodeCamp.org

Open Models Coding Essentials – Running LLMs Locally and in the Cloud Course

Andrew Brown tests open-source coding models including Gemma 4, Kimi 2.5, and Qwen across local and cloud deployments to evaluate viable alternatives to proprietary solutions, finding that while some models perform surprisingly well, hardware constraints make cloud hosting the practical choice for most developers.

2 days ago · 10 points
JavaScript Event Loop & Asynchronous Programming
46:23
freeCodeCamp.org freeCodeCamp.org

JavaScript Event Loop & Asynchronous Programming

This video demystifies how JavaScript handles asynchronous operations while remaining single-threaded, explaining the interplay between the call stack, web APIs, callback queues, and the event loop that enables non-blocking execution.

4 days ago · 9 points
Inside the world's most elite student hackathon – Full Documentary on Stanford Tree Hacks 2026
1:42:23
freeCodeCamp.org freeCodeCamp.org

Inside the world's most elite student hackathon – Full Documentary on Stanford Tree Hacks 2026

This documentary covers Stanford's Tree Hacks 2026, an elite hackathon where 1,000 students selected from 15,000 applicants compete for $500,000 in prizes sponsored by major AI companies. Participants showcase advanced multi-agent systems, local-first AI tools, and cross-device platforms while sharing strategies on admission, multi-track prize targeting, and rapid prototyping.

10 days ago · 9 points