When I ask the younger devs at work about their code they often tell me what they asked Claude to do instead of telling me what their code does. It’s so frustrating.
i have a contrast fpr you - there is a younger guy at work who transitioned from more of an analyst to a dev. i work with helping all the devs but because he doesnt have the background he needs extra help. he has used ai more to help him. i have helped him use guardrails and to be precise so he doesnt go down rabbit holes. BUT… after ai helps him get there he takes the time to learn and understand what he has done so he can get there on his own in the future
this is how it should be. it drives me nuts that actual developers at your job have no idea what they are doing
I’ve gotten this shit from all sorts of people (note: I am not in software dev)
I just repeat my question until they either answer it or fuck off without me doing whatever they wanted me to do, because no I’m not going to waste my time with your half finished work
Does a dev really need to understand the code if the AI understands it?
That if is doing a lot of lifting here, because AI doesn’t understand anything, it only finds mathematical responses to your question. There’s a reason the AI can’t give you the same script twice (or it constantly rewrites the fucking thing instead of just fixing the thing I told it to)
A compiler also doesn’t “understand” like a human does, but it’s so accurate and reliable, that collectively we decided that a programmer doesn’t need to understand the output of the compiler any more. We can trust it, because it works perfectly reliable.
So the question isn’t so much whether AI “understands” the way a human understands things, but instead whether it will become reliable enough to be trusted. And I don’t see any evidence towards that yet.
These models do have some form of understanding though. There are features for bugs and typos, and general features that map descriptions and pieces of code. It understands the code in so far it helps with next token prediction.
The bigger problem is that these language models are inherently unreliable and stochastic in how they generate. You request a feature - and it destroys something else in the process - because a single incorrect prediction caused it to diverge and skip a portion of the original code. You request a small modification - and it decides to restart from scratch - because random sampling made a different way of doing something more likely rather than what was there already. Errors compound and the model has no way of fixing or correcting them.
While I agree on the second paragraph, I’m gonna argue about the first, partially because I think the second invalidates the first.
These models do have some form of understanding though. There are features for bugs and typos, and general features that map descriptions and pieces of code.
The models don’t understand anything, they have rules that allow for finding tokens that don’t belong and fuzzy match to correct tokens (typos) and the ability to find code that breaks known rules for a language. That is no more understanding the problem than my spelling or grammar checking understands the comment I’m writing. ‘Understanding’ something requires intelligence and the ability to learn something and incorporate that knowledge into itself and use it to better process that information, not just finding tokens that break rules.
It understands the code in so far it helps with next token prediction.
And this is the crux of my beef, I think, because stochastic pattern matching is not understanding, it’s a mathematical representation of how the model processes your input tokens. The fact that it has to start over every time you provide it input, and uses the previous input/output tokens as context is why this is not ‘understanding’, it’s just fancy token prediction that gives a middling-to-passable facsimile to intelligence and understanding things.
The problems you note in your second paragraph fundamentally undermine the argument that there is any form of understanding to the AI, because those are basic mistakes that a trivial understanding of the problem would prevent.
It sounds like your boss needs to stop being anyone’s boss. That kind of view is going to lead to piles of tech debt and everything that comes with it.
AI seems like it will help the already bad bosses do more - which seems like a bad thing.
It’s better if the bad ones just wank off in the toilet all day.
I think how much difference it will make in the long run will depend on who gets sacked and who survives.
But, you know, my boss can now finally code himself. He could never get his head around coding, but now he finally can code. Who knows, maybe he won’t need us expensive software developers anymore when AI gets better, then he can do it all himself.
That is correct, but it’s also kinda beside the point. A compiler doesn’t “understand” anything either, it’s just a program, but it’s still very useful. So useful in fact that most programmers nowadays trust it unconditionally to the point where we say “a programmer doesn’t need to understand the code the compiler outputs”.
But AI is just really not trustworthy, and the question is whether they will ever be trustworthy enough that we can say “The programmer doesn’t need to understand the code the AI outputs”.
I recently proposed a solution to my boss (who’s older than I am, but not by much) regarding a technical problem we have been having the last few days. He said “that won’t get you anywhere. Ask Gemini.”
Reluctantly, I did. Besides asking it how to disable it, it was the first time I (sort of) voluntarily interacted with it.
It made three suggestions. Two didn’t work. The other one was the solution I proposed to my boss. I told him that (more politely) and he said he wasn’t really interested in addressing the problem anyway and that I should move on.
When I ask the younger devs at work about their code they often tell me what they asked Claude to do instead of telling me what their code does. It’s so frustrating.
thats crazy yo me.
i have a contrast fpr you - there is a younger guy at work who transitioned from more of an analyst to a dev. i work with helping all the devs but because he doesnt have the background he needs extra help. he has used ai more to help him. i have helped him use guardrails and to be precise so he doesnt go down rabbit holes. BUT… after ai helps him get there he takes the time to learn and understand what he has done so he can get there on his own in the future
this is how it should be. it drives me nuts that actual developers at your job have no idea what they are doing
I’ve gotten this shit from all sorts of people (note: I am not in software dev)
I just repeat my question until they either answer it or fuck off without me doing whatever they wanted me to do, because no I’m not going to waste my time with your half finished work
And yet, that’s all my boss wants of me. “Does a dev really need to understand the code if the AI understands it?”
That’s frustrating.
That if is doing a lot of lifting here, because AI doesn’t understand anything, it only finds mathematical responses to your question. There’s a reason the AI can’t give you the same script twice (or it constantly rewrites the fucking thing instead of just fixing the thing I told it to)
A compiler also doesn’t “understand” like a human does, but it’s so accurate and reliable, that collectively we decided that a programmer doesn’t need to understand the output of the compiler any more. We can trust it, because it works perfectly reliable.
So the question isn’t so much whether AI “understands” the way a human understands things, but instead whether it will become reliable enough to be trusted. And I don’t see any evidence towards that yet.
These models do have some form of understanding though. There are features for bugs and typos, and general features that map descriptions and pieces of code. It understands the code in so far it helps with next token prediction.
The bigger problem is that these language models are inherently unreliable and stochastic in how they generate. You request a feature - and it destroys something else in the process - because a single incorrect prediction caused it to diverge and skip a portion of the original code. You request a small modification - and it decides to restart from scratch - because random sampling made a different way of doing something more likely rather than what was there already. Errors compound and the model has no way of fixing or correcting them.
While I agree on the second paragraph, I’m gonna argue about the first, partially because I think the second invalidates the first.
The models don’t understand anything, they have rules that allow for finding tokens that don’t belong and fuzzy match to correct tokens (typos) and the ability to find code that breaks known rules for a language. That is no more understanding the problem than my spelling or grammar checking understands the comment I’m writing. ‘Understanding’ something requires intelligence and the ability to learn something and incorporate that knowledge into itself and use it to better process that information, not just finding tokens that break rules.
And this is the crux of my beef, I think, because stochastic pattern matching is not understanding, it’s a mathematical representation of how the model processes your input tokens. The fact that it has to start over every time you provide it input, and uses the previous input/output tokens as context is why this is not ‘understanding’, it’s just fancy token prediction that gives a middling-to-passable facsimile to intelligence and understanding things.
The problems you note in your second paragraph fundamentally undermine the argument that there is any form of understanding to the AI, because those are basic mistakes that a trivial understanding of the problem would prevent.
It sounds like your boss needs to stop being anyone’s boss. That kind of view is going to lead to piles of tech debt and everything that comes with it.
I mean, I haven’t worked at any company that doesn’t have a decade or more of tech debt all human-made.
Is this any worse such a regard?
I do not advocate for more bullshit, but I don’t really think that this will make a big difference either way.
AI seems like it will help the already bad bosses do more - which seems like a bad thing. It’s better if the bad ones just wank off in the toilet all day.
I think how much difference it will make in the long run will depend on who gets sacked and who survives.
But, you know, my boss can now finally code himself. He could never get his head around coding, but now he finally can code. Who knows, maybe he won’t need us expensive software developers anymore when AI gets better, then he can do it all himself.
(The AI does not, in fact, understand it. The AI doesn’t understand anything at all. It’s a statistical text prediction machine.)
That is correct, but it’s also kinda beside the point. A compiler doesn’t “understand” anything either, it’s just a program, but it’s still very useful. So useful in fact that most programmers nowadays trust it unconditionally to the point where we say “a programmer doesn’t need to understand the code the compiler outputs”.
But AI is just really not trustworthy, and the question is whether they will ever be trustworthy enough that we can say “The programmer doesn’t need to understand the code the AI outputs”.
deleted by creator
I recently proposed a solution to my boss (who’s older than I am, but not by much) regarding a technical problem we have been having the last few days. He said “that won’t get you anywhere. Ask Gemini.”
Reluctantly, I did. Besides asking it how to disable it, it was the first time I (sort of) voluntarily interacted with it.
It made three suggestions. Two didn’t work. The other one was the solution I proposed to my boss. I told him that (more politely) and he said he wasn’t really interested in addressing the problem anyway and that I should move on.