5 ms·
If AI Writes All the Code, What Do the Programmers Do?
- madikz 2mo ago[flagged]
- madikz 2mo agoEdge cases you never think to test: that's where AI output breaks. I deal with this daily in document processing.
- madikz 2mo agoInteresting question. I work on AI for document processing, and I have found the same dynamic: generating a first pass is easy, but the real engineering goes into the verification layer.
- jleyank 2mo agoDebugging. Lots of debugging. It will be interesting when the researchers look back in 5-10 years to determine which was easier/better - trying to understand generated code vs generating code one understands. If a functional reasoning layer is added to the current lookup level, “do you want fries with that?” might be in their “doing”. If this doesn’t appear in a timely fashion, de-slopping code will be their lot.
- bluefirebrand 2mo ago> It will be interesting when the researchers look back in 5-10 years to determine which was easier/better - trying to understand generated code vs generating code one understands We don't need to wait 5-10 years, we have plenty of experience with this already! Software devs always want to build their own because building it is way easier than grabbing something someone else built and understanding it!
- sdevonoes 2mo agoCompilers also write code (they write machine code based on high level langs)… yet nobody asked the same question about them (or did they?) AI needs to be instructed and then some kind of verification of the output is needed. Programmers do that
- datakan 2mo agoBad analogy. Compilers don't reason, they don't hallucinate. They take the language as given and "compile" it to the equivalent binary based on strict definitions in the language. It's reproducible and consistent. Saying they write code is factually wrong, at best they translate it. AI will do the same thing in multiple ways or veer of course and do it another way based on spoken language with no strict syntax. It will make logical leaps, it will guess, it will assume etc. These things are not equivalent at all.
- win311fwg 2mo agoThe analogy is fine. AI moves us up to a higher level language, and it is understood that higher level languages come with their own leaky abstractions, but the idea remain the same. It is different, but only to the extent that would be expected from stepping up to the next higher level. It's not something completely different. We don't yet have AGI that will magically produce the software before you even knew you needed it. We still need a programmer to write the programs.
- duncanfwalker 2mo agoIt might not be the perfect analogy, but it does show some important parallels and differences. Compilers reason to some extent - for example type inference is definitely some deductive reasoning that I would have to do if the compiler didn't do it for me. The hallucinations point is a difference and one that we haven't quite learnt to handle yet. Generally, compilers are deterministic (even it it might not feel like it sometimes) and there's a lot of useful properties that come from that. I have recently put Claude into a CI/CD pipeline and it's made me realise how much I rely on pipelines being deterministic.
- sturza 2mo agoDesign. And redesign.
- Kim_Bruning 2mo agoand specs, and tests, and smoke tests, and more specs, and updated specs. And don't forget processes!
- luckystarr 2mo agoAnd reading reports, endlessly.
- QuantumNoodle 2mo agoIt really depends on th SDLC of the codebase. I've sat in the park with a pad and pen and wrote down ideas for a small-ish utility that had both a DB and some low level systems interaction. I designed all the interfaces, control flow, and user facing ui. A decade ago I was designing class diagrams with public and private methods, then coding it up. Today I can articulate it with loose words and have it come to life. The secrete ingredient here is... Im an experienced programmer, I know what to ask and what to look out for. I know sockets and how devices work under the hood and which knobs are available for me to turn. Juniors just don't have enough experience. The question should really be "what do inspiring programmers do?"
- thewhitetulip 2mo agoPeople loke you're the minority. Most people use the brilliant strategy if "prompt and pray" Because of AI speed is valued over everything else
- QuantumNoodle 2mo agoSome of the code bases I have at work are legacy spaghetti -- hard to reason about. I too employ the prompt and pray strategy and then see if CI fails. I can only be surgical where I already have a grasp on the codebase, or if I was involved from the beginning. Morally, I dislike what AI is doing to the profession. Rigor is suffering.
- psunavy03 2mo agoIt's also possible to point the AI at legacy spaghetti and say "document this in detail" as a starting point for unspaghettifying it.
- thewhitetulip 2mo agoBut won't it take a lot of time and resources to make it non legacy? Sometimes we don't get the luxury or option to work on stuff like this
- whytevuhuni 2mo agoProbably dance.
- win311fwg 2mo agoSame as before? A fancy compiler that is able to accept code written in natural language still requires a programmer to write the source code.
- vivzkestrel 2mo ago- in about 5 yrs of time, this is not going to age well - massive studies ll come out on how 50% of the software engineers dont know or understand what they "generated" at all and how their critical thinking skills have taken a nosedive - every major software company out there that is busy firing juniors now is going to run into the opposite problem: finding talented juniors and they ll command a hefty pay - the whole LLM premise runs on one little assumption that they ll improve indefinitely. you are forgetting the law of diminishing returns - i ll come back here in 5 yrs, this whole thing wont end well
- win311fwg 2mo agoNot since the advent of the compiler have most developers understood what is being generated. Their efforts have instead gone into validation (often manual, but sometimes automated) to see that what was generated works as expected as that is all that really matters to the business goals. Which is still where the effort is going, although there does seem to be more interest in automated validation now, which is welcome progress.
- ChrisLTD 2mo agoThis is certainly overstating the difference between compiled code and the source code. If I write an if/else statement, I understand what the computer is going to do when it's evaluated even if I don't know or see the literal machine code.
- 9rx 2mo agoOnly if the compiler is perfectly naive. With the state of today's optimizing compilers, the output might be very different from what you'd expect. But it also doesn't matter because the business goal is the results from executing the program, not the static code. Hence why, as the earlier commenter pointed out, efforts go into validation rather than understanding the generated code. 99% of the time the code a compiler spits out simply doesn't matter. The same is now proving true as we move up a level of abstraction. The code spit out from an LLM doesn't matter any more than the code spit out from a compiler, only validation that it functions as expected matters.
- erelong 2mo agoProgrammers collect visions to express in natural language, then loop attempts to express the vision until it is actualized
- invalidOrTaken 2mo agoI have people skills! What the hell is wrong with you people?
- deleted 2mo ago[deleted]
- jmcqk6 2mo agoThere are three things programmers bring: Salience - Agents only know what we bring to their attention Judgment - Agents cannot make decisions in the larger business context Responsibility - Agents do not care if they crash the system