Yeah, the big thing is that management has no sense how little coding you actually do in a software engineering role. You spend so much more time understanding requirements, understanding how you can resolve roadblocks within your organization and understanding what the hell the code does that was previously written.
In particular, the last part is something that will most definitely take longer for vibecoded programs.
The code is often needlessly complex, because:- folks throw in additional features with no restraint,
- the AI will gladly generate a second implementation for stuff, you already solved in the codebase, and
- AI-generated code tends to just be noisy, because you need rigorous logical reasoning to find the most minimal solution.
But you also just don’t have human beings that made all the detail decisions and can tell you why they’re important. In vibecoded code, all of these detail decisions are accidental and only ‘proven’ in so far as the given accidental state that the code is in, happens to not explode in reality. If you need to tweak anything about it, you’re completely blind as to what’s actually important and what’s just in there, because the AI figured, it’s the most likely thing to autocomplete there.
Fun story from this week, we had a chore for the frontend to refresh to a new version of the UI framework. Fairly simple task, so off to a junior developer. Within a couple hours there was a merge request ready to go. Ok, a fairly normal amount of time to change version and at least do a sniff test and find nothing changed so I go in assuming I’ll look at a few version bumps, maybe one or two tweaks… I see the junior dev was proposing over 1,000 lines of code to be added… WTF…
I crack it open and there was just a firehose of css rules, all marked ‘!important’. Looking at one examlpe, it repeated the same classifier with the same exact bunch of rules 5 times in a row. It was like it found every possible derived css class combination with tag and defined !important CSS for most everything about it.
So I find out that the junior dev asked it to rebase and it did what he expected, just change some version and went. He tried it and due to a framework change, one element was misaligned by a little bit. So he gave the feedback to the LLM and tried again… and it failed, and he tried again and it failed and after 5 rounds, it finally got the element aligned and hit ‘merge request’. For fun I opened up his proposed change and just so much was just a bit dodgy css wise because it screwed with so much stuff, but the junior dev only concerned himself with the page as it opened.
So I said screw it, I’ll do it myself, and added the singular rule that was needed to adapt to the framework change, making it overall about a 5 line change including versioning and such.
Depressingly, I suspect an executive would consider me far less productive because I only did 5 lines of change and the junior dev would have done thousands…
Yup. AI might, and I mean might, be a force multiplier for senior developers but this whole “Everyone can just let AI code” is bullshit that will lead to a giant mess of unmanageable code when your developers your maturing don’t understand the underlying code or good software architecture.
Oh and also I’m right there with you with the fuck that whole ELOC bullshit as a metric.
In my experience, the bigger the codebase gets, the more confounded LLM gets at trying to make coherent changes. So LLM projects start on shaky ground and just get worse because they can’t maintain the stuff they themselves generated.
I’ve seen what LLM can do and it is certainly interesting and can do some stuff, but the vast majority of my experience is someone who had not coded before “vibing” themselves into a corner and demanding help to dig them out. A bit irritating because while before we could reasonably prioritize requests to do stuff because management understood making something from nothing was real work, now management says “they aren’t asking you to make something, just help them fix something that already exists, should be easy!”
On the ELOC metric, for a long time I pointed out how disastrous I must be because my contribution to a project I was on was about -10,000 lines of code by the time I went to something else.
deleted by creator


