The code is not meant to be read anymore. That's the mistake.
Do you look at generated assembly that comes out of your compiler? You don't. So why are you looking at this code?
We have pushed up the abstraction layer.
> We have pushed up the abstraction layer.
That's not what "abstraction" means. You wouldn't hire a designer and then call their work an "abstraction", would you?
It's something, but "abstraction" it aint.
Good engineers should understand what goes on underneath them in the stack (at decreasing accuracy probably the more layers away it is) if they care about their craft and the quality of it, even if not in perfect detail, if you're just acknowledging that you've never even tried, then perfect! The AI "revolution" is just right for you.
I catch so much shit when I read the code. I’ll take this into consideration when I’m no longer catching poorly made slop all the time.
> So why are you looking at this code?
Because I am getting the call to fix it when it breaks. I don't have to fix assembly by hand because compilers are deterministic and I have maybe encountered a single real compiler bug in my whole career. Compilers have earned my trust. LLMs are eroding that trust more and more every day I work with them. I encounter LLM-created problems in basically every single diff they surface for me, just over the months the diffs are getting bigger and harder to review and uncover the problems.
LLMs are not an abstraction(not even a bad one) because by design what they are doing is disambiguation. Compilers are not doing that, what you put IN the compiler has to be unambiguous in the first place.
Disambiguation is not a functionality of an abstraction layer. A good abstraction layer is the one I don't have to understand and can trust, if I have to understand its inner workings to use it it ceases to be an abstraction. Except with LLMs you can't even do that, they are a black box you can have no hope of understanding.
And it is not to say LLMs and agentic coding tools are not useful, they are absolutely very useful. They are just not an abstraction layer.