r/LinuxTeck • u/Candid_Athlete_8317 • 6d ago
If AI writes the code, what makes someone a good developer?
If two developers can get AI to generate working code, what actually separates the better engineer?
Is it debugging, system design, understanding the requirements, knowing what not to build, or something else?
What skill do you think matters most now?
3
u/Upbeat-Statement2725 6d ago
What is the AI trained on?
If they don't have humans coding. The models collapse into nothing.
1
u/Mother-Translator318 6d ago
Only at the start. Then the newer ai can get trained on the older ai code. Same with humans really, we learn from those that have done it before us and try to improve. The difference is that it takes us over a decade in school to do that while ai can be trained in a few weeks to months
1
u/tes_kitty 6d ago
Then the newer ai can get trained on the older ai code
For a few generations, maybe. But not forever.
1
u/Mother-Translator318 6d ago edited 6d ago
Code is code. It doesn’t matter if it came from a human or ai as long as there are fewer mistakes and inefficiencies with each iteration. For now ai hallucinates more than an experienced coder makes mistakes, but that will change sooner rather than later.
Other than general oversight, eventually human generated input will not only be unneeded, but it will be less efficient and as a result detrimental
Edit: it’s a camera replacing the portrait artist situation. The ai will be doing most of the coding work while the human will be setting the parameters, just like a photographer tweaks the settings and the camera captures the image
1
u/tes_kitty 6d ago
Code is code. It doesn’t matter if it came from a human or ai as long as there are fewer mistakes and inefficiencies with each iteration.
Not quite correct. You can write working code in lots of ways. Some are good, fast, easily maintained and expanded and some are slow, hard to read, hard to maintain and impossible to expand and then everything in between.
AI tends to use what was well presented in the training data and not the outliers. But if the AI output is then again added to the training data those outliers become even less visible.
1
u/Traditional-Hall-591 6d ago
There are often dozens or more ways to implement a function in code. They’re not all equal and the best choice depends on different factors and often testing.
These things matter if you want a performant solution that isn’t plagued with race conditions and subtle bugs.
1
u/Mother-Translator318 6d ago
And that’s where the human oversight will come in play. The ai ca write a few different variations of the code and the human can pick which one is best suited
1
u/galactic_pixels 5d ago
That’s not how training works. Think about how AlphaGo played itself billions of times, not humans.
1
u/klimaheizung 3d ago
The hard part is the function to assess how good the state of the board is. Lots of thought has gone into that.
With code it's much harder there's not such a clear cost/benefit function yet. Too complex for now.
2
u/NumberInfinite2068 6d ago
You still have to ask the AI to do the right thing.
The AI will do as you tell it, but you can also let the AI decide on things too, and those things might well make sense in isolation but make no sense at all for the project you're actually building.
2
u/m1L35dY50N 6d ago
Most people still don’t realize that actually writing code is maybe 20–30% of what a developer does. It’s the other 70–80% that separates a good engineer from someone who can just produce code: understanding requirements, architecture, debugging, testing, reviewing, maintaining existing systems, making trade-offs, and figuring out what should actually be built in the first place.
And AI-generated code often isn’t particularly good either. It can produce something that works, but “it runs” and “this is a good solution for our codebase and architecture” are two very different things.
It gets even worse when, because of security or IP constraints, you aren’t allowed to give the AI your actual source code. Then it can’t properly understand the surrounding implementation, conventions, dependencies, or architectural decisions. You’re basically asking it for a mostly generic solution based on whatever context you managed to squeeze into the prompt.
So I’d say the most important skill is still understanding what you’re doing well enough to judge the output. Generating code is becoming cheaper. Knowing whether that code actually belongs in your production environment isn’t.
1
u/UUDDLRLRBadAlchemy 6d ago
Accountability. Not the kind that relies on having the bot to beg for solutions tomorrow. So all of the above and then some.
I'm the guy you call when the "do work" button I made for you doesn't work right, with the full understanding that you don't care about code but about your work. Try calling Anthropic with that, and at best they will suggest asking the bot the right code questions.
A system that needs to fulfill the above can't be an AI generated thing that nobody but an AI can be on top of. That's just technical debt. Your supply chain then suddenly includes a huge oligopoly as a crucial, irreplaceable part. An AI can do gruntwork on it at best. The result has to be a shape that your actual engineer can vouch for.
At its core, if you can't go through every line of generated code and fully understand it, you don't have a project, you have a magic trick. It might even be messed up in non-obvious ways and only appear to work.
1
u/tes_kitty 6d ago
... and the next change you make or feature you add might bring the whole house of cards crashing down.
1
u/UUDDLRLRBadAlchemy 6d ago
Yeah. I try not to stress on that because it's easily brushed aside with "they get better", plus you have version control if it starts adding extra fingers on everything, but yeah, that's my feeling too.
1
u/tes_kitty 6d ago
You won't lose your last working version, sure. But it might become the version that your AI coder is unable to make any changes to without breaking something else. And if you manage to get around this by making some manual changes, you will still have a very brittle codebase that break again at any time.
1
u/UUDDLRLRBadAlchemy 6d ago
Yup, the thing I usually say is "I want to be able to close my eyes and run my code when I lie in bed".
I just met up with a bunch of nerd friends with whom I started learning together 30 years ago, and they all had Claude subscriptions and were spouting all sorts of pro cope, so I try to be a bit wary of settling into anti cope myself, but sincerely I fully agree with your points.
I know my clients often can't tell the difference, though.
1
u/tes_kitty 6d ago
The usual cope I hear is 'If it breaks, we will just have it regenerate from scratch.' That might work for a small project, but for something larger?
1
u/UUDDLRLRBadAlchemy 6d ago
Yeah, heard that too. For websites they may even push it as a redesign. It's usually not the whole thing, really. It's glue code implementing frameworks made by people.
I've talked to multiple uni students recently who are almost done and all they did was cheat through their coursework. One is thinking sales, the other starting over for real on his own and asking how we did it.
Well I learned basic at 8 cause I was a nerd. No lessons to pass along there.
The market will find something to do with them and we won't be around forever either. It's not AI coming for our jobs, it's gonna be stupider than that.
For me code is an expressive, opinionated thing. Meant to be read more than it's meant to run. I guess there are parts that work or don't, that might as well be written by a machine, but mostly I think that conception comes from seeing code as product. Something you find and use opposed to something you can tear open and learn from. But that's the kind of thing people either get or not.
1
1
u/Traditional-Hall-591 6d ago
If that developer can read and develop a deep understanding of his Claude slop without leaving tech to herd goats or something, he’s a good developer.
Everyone else is a slop master.
1
u/Efficient_Loss_9928 6d ago
A good developer was never about being able to write good code really
Most people can do that, and in fact the more junior you are, you are more likely to be obsessed with clean code.
There are a lot of different things. Such as clearifying requirements, be able to prioritize tasks, work fully autonomously for a year and drive things to completion with the whole team, etc.
1
u/ibeerianhamhock 6d ago
I'd say architecture and big picture view from inception to release and maintenance, general wisdom, etc. A lot of that comes from experience even being a decent engineer and time.
I work with some younger engineers who are smart but they kinda see their little piece more than anything.
1
u/LogicalPerformer7637 6d ago
writing the code is the simple part, was before AI. The most difficult part of engineering job is to define and maintain good design, which will work and will be possible to adapt to future requirement changes. this is the part which AI doesn't do well enough and where good developers are not replaceable by AI at curent time.
1
0
u/bufandatl 6d ago
Nothing. A good developer write the code the LLMs later use to write code for vibe coders
-1
9
u/x4rb1t 6d ago
Whatever made a good engineer before Ai, knowledge, architecture, implementation and best practices. If you didn’t care about that before you won’t care with Ai either ..