logoalt Hacker News

Balinarestoday at 7:07 AM0 repliesview on HN

One under-discussed phenomenon here, I think:

The hardest thing in software engineering is solving the right problem. The ability to identify the right problem to solve, is IMO, what distinguishes the top senior engineers. And we could have endless discussions about what constitutes the right problem, but for the sake of this discussion, let's reduce it to: the problem whose resolution adds the most value to the product for the amount of complexity and afferent costs that it incurs.

Once upon a time, long ago, I worked on a Web product whose original junior designer had figured it would be neat to be able to manage the backend with LDAP tools. So the database schema and structure that the product used mimicked that of OpenLDAP, with compound CN keys, and the entire codebase had to deal with that structure whenever reading from or writing to the DB. LDAP compatibility was not the right problem to solve when designing the DB schema.

But software that solves the right problems can be hard to identify because, quite often, how it does things seems so obvious that it's not readily apparent what other designs might have been chosen.

Now, the thing that usually keeps the blast radius of wrong-problem designs limited over time, is the very friction that they introduce. Development slows down, including the development of more wrong-problem designs. It's a self-limiting phenomenon.

And that's one major thing which worries me about LLM coding agents:

They paper over this friction. They don't repair it; they just make it so its cost is deferred.

So you gradually end up with codebases that grow unboundedly complex for the value they provide, with no controlling mechanisms.

You end up with juniors who never face the feedback loop from which they'd develop the engineering instincts and the taste for what makes a problem the right problem to solve in a given design.

At scale, as a field, you might end up forgetting there ever was such a thing as solving the right problem.

And I don't know what to do about that. Plan for an early retirement, maybe.