Remix.run Logo
softwaredoug 8 hours ago

Every AI coding project feels like working with legacy code. All the skills I actually use look more like managing a big messy, brittle black box codebase. It’s exactly how we would have inherited a big ugly codebase pre AI.

I think if you’re used to traditional green field development, and have never owned legacy code AI software engineering can be bewildering. If, however, you’ve been stuck maintaining legacy code, the skills serve you well In AI development.

You’re constantly looking how to tame this ball of mud. Test it end to end. Break apart bits to test. You’re chasing where the brittleness in the system exists, and you try to create a testing and feedback strategy to gain leverage on that class of problem. That in turn turns to modularization and gradually more careful organization.

I find starting out you may look at code less. As time goes on, you descend deeper and use AI to do targeted refactors to account for more constraints. You leave alone what's OK to be slop, and hone in on what needs deep care. All along adding guardrails to constrain the big ugly beast and help LLMs stay on track with their work.

The classic Michael Feathers book might be sneakily relevant: https://www.amazon.com/Working-Effectively-Legacy-Michael-Fe...

stuaxo 6 hours ago | parent [-]

This sounds kinda of horrible ?

I'd rather build things slower (perhaps with an LLMs help at times) that understandable and high quality.