We hear a lot of concern about maintaining code written with LLM help, but we seem less worried about code from interns or low cost hires (or outsourced) who may leave quickly. In practice are these risks meaningfully different, or is it the same maintainability problem with a different label. If you have an honest take, what has been harder to maintain and why?

I admit I’m not a heavy LLM user but AFAIK LLMs don’t recall past interactions, which is something we usually expect from people (including devs).

How meaningful can this be? For example: - LLM generates code for a web api but initially ignores security concerns and some other requirements - you notice this and prompt the LLM to improve the code - the LLM takes security into account - the day after, you give another task to the LLM and it again ignores security practices you mentioned earlier. And so on.

If an intern were to do this, you would take them aside and strongly recommend to learn from past experiences and suggestion, but this doesn’t seem possible with LLMs.

Interns and new hires know how to look at a library and reuse code. Most will recognize being stuck and ask for help. My biggest gripes with LLMs is their insistence on writing everything from scratch and how they start slinging and slopping when some little hing goes wrong. Your human comparisons don't do this on average. You can rely on them being able to at least attempt each point in a step by step guide, LLMs it's crossing fingers that they actually follow instructions

This is one point where the maintainability comes in. The other is in having anyone who knows and understands the code base. With your comparison, there is a sr eng around. Today, I have sr eng friends who haven't looked at their own code in weeks, have no idea what's in there (friend is doing an experiment in pushing vibe coding to the limits at a shitty corpo job).

What happens when no one knows what's the code even looks like, let alone how it works?