‹ BackHN Continuity

Thread

Plan mode is dead

591 points · 510 comments · jmvldz

  1. taurath · · focus · HN ↗
    I'm actively watching understanding slip away from developers, code review getting paired down to no comment checkmarks, and codebases go to bloated messes that nobody can read. Axioms like engineers must understand and take responsibility for the code they ship are getting torn down, and the products coming out are reflecting conway's law, becoming impenetrably obtuse and always "so complex there are no obvious deficiencies" (as opposed to "so simple there are no obvious deficiencies" which used to be the aim).

    The one thing plan mode helped is for the humans to get an understanding of the strategy, and be able to poke around and look at the design and architecture. You can achieve this with some self discipline and keeping shorter leashes on agents, but it feels like a losing battle. The best devs still put out good code, but the poor devs are learning nothing while their metrics look great. I can't help but think we are racking up immense amounts of debt that will very soon become due.

    1. gonzalohm · · focus · HN ↗
      100% this. Some people are basically adding AI as a dependency for their projects. They no longer understand the code
      1. jmb99 · · focus · HN ↗
        I’m a big proponent of writing simple, understandable code, so I’m playing devil’s advocate here a bit, but: who cares?

        A significant (majority?) portion of developers have been shipping JavaScript/node applications for the last decade that contain hundreds of MB to GB of code from god knows where doing god knows what with dependency trees the size of redwoods. It’s not like your average mediocre dev really knew what was going on behind their gluing of frameworks together - at least from what I’ve seen.

        If you have remotely competent tech leadership that enforces relatively intelligent patterns (a good one I’ve found is “write everything backend in rust”) you can make AI churn out monstrous amounts of code that… isn’t all that bad? And if you enforce it writing and updating a docs/API.md on every commit/PR you’re probably doing better than 80+% of devs I’ve ever met. Up until a few years ago it wasn’t uncommon to roll up to a new job that was a “legacy” pile of garbage concocted over 20+ years with no comments or API docs and a readme that tells you to ask for help from someone who has been dead for 5 years. At least AI code is full of comments (some of which might even be accurate) and there’s a finite (relatively low!) cost to figuring out “wtf is this doing and how is it doing it”

        1. pkulak · · focus · HN ↗
          One is abstraction, one is complexity that _you_ own. Even 100 lines of trad-coded C relies on "hundreds of MB to GB of code from god knows where" in the Linux kernel. The difference is, you can perfectly understand that C, and own it. Then delegate ownership of the rest to Linus. If AI writes 1000 lines of C instead, now there's code no human owns in the world.
          1. solenoid0937 · · focus · HN ↗
            The point is that saying "I own the code" is just drawing an arbitrary line in the sand.

            You can give the AI the spec, and own the spec instead of the code.

            Eventually, the spec too will be something the model owns, and you'll work at a higher level of abstraction.

            1. archagon · · focus · HN ↗
              AI is not an abstraction.
              1. solenoid0937 · · focus · HN ↗
                I beg to differ! Everything is an abstraction.
                1. archagon · · focus · HN ↗
                  What a very useful definition.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.