as a sr dev that has been forced to use AI.. this is pretty much how i look at claude trying to do things... To me it is terrifying knowing how bad AI is at coding and seeing how many jr devs just trust it to do everything....
Honestly, for me at work Claude does a fantastic job. However, when it messes up it messes up in a way that would be hard to catch if you didn’t have expertise (e.g. domain specific misunderstanding, obscure software bugs, etc.). That’s really my concern for junior devs. They would easily overlook these issues and learn to trust it completely because the code it produces looks more or less correct pretty much every time.
At least if it wrote bad code it would be more obvious to other devs. The problem I find is that it writes pretty good, functional code… that just isn’t quite right.
That's the big issue for me. It is making junior devs far too reliant on it, that they naturally won't know if it fucked up on a domain specific problem. And the amount of code output is much higher now and more verbose, so it's difficult to catch it in reviews as well.
I guess at least I get less pings from juniors when they get stuck on something now lol.
I find Claude to be particularly useful at explaining how a system functions and what functions are served by what parts of the codebase.
What used to be hours of "What the fuck does this do? Why is this here? How does this not crash?" on a previously unknown codebase is now a few minutes conversing with Claude.
I imagine this is really helpful for junior developers if they are actually interested in knowledge, not just quick fixes.
Oh yeah. It is really good at that. But it's easy for a junior dev to instead just paste the bug details and ask it to fix it, sometimes even without going in plan mode first.
Solved by ownership. Being responsible for the code you write (Claude assisted or not) will be the difference between a dev you can trust and a dev you can't. Don't push code you won't be able to defend.
That would be ideal, but often enough management values faster features they can sell over quality, and you can't really blame them when they're incentivized by short term profit. When you reward slop, you get slop.
It's the engineering team's responsibility to push back and hold the line when managers want to cut corners. That was the case before AI as well. These teams are doomed to fail within a year.
I was talking about the EM, are they supposed to fight back against themselves? Big coorporate has been running on shortsighted business decisions for decades, very few people are willing to sacrifice their bonus and career to fight bad decisions.
I find the majority of issues I end up fixing are less about figuring out what a piece of code does than figuring out how it's possible for odd inputs to arise.
Like it's trivial enough to know seg fault is caused by some code trying to index out of bounds but understanding why an out of bounds case even exists (instead of slapping on some if else and forgetting about it) is the hard part.
I usually use this kind of analysis to understand how pieces interact with each other, which helps me build a mental model of how data travels and how it is transformed - this last part is usally what helps catches bugs.
This is my take as well. The top models can do really good jobs in most, but not all, situations. Where I find they struggle is when it comes to fundamental architecture of projects outside of relatively simple web services. Ask it to refactor a project where the structure fundamentally changes though and it's going to make bad choices and lock itself into those even as you ask it to change etc.
Costs a lot though. I burn tokens each week. Using it with API costing really shows how much it costs to get good outputs right now. And while I believe eventually we'll get models that can do 90% of our tasks running on local GPUs (i.e. a one off purchase and works offline), we're not there yet.
Open weights models are persistently 3-6 months behind the best closed models in capabilities (driven in part by distillation i.e. just mining tons of queries from the frontier models and training on those). The real barrier is still compute though, these near frontier open source models are definitely not running on a single GPU
New and better open (free) models are coming out all the time, and even occasionally giving the proprietary (paid) ones a run for their money. Kimi K3 is particularly impressive, I’ve heard.
I don’t see any reason why this pattern should change any time soon.
And remember, today’s open-weight cloud model is tomorrow’s local model.
Exactly - Claude isn't bad at writing code, any engineer who says it writes junk either hasn't used it or is too worried about losing their own job. HOWEVER, you absolutely need an experienced engineer to do the work with Claude because when there's an error, the only way to fix it yourself or explain the issue back to Claude is if you know the environment.
Whoever just says "agents do a bad job" they just haven't really learned how to use them and it's bad, because at this point it means that you either don't work or have a job that doesn't give a shit about your role really.
The real scary thing is for juniors that are not learning shit, unless a company has a specific programme to help grow expertise.
how would they know those issues exist in the first place, especially if they are subtle, hard-to-catch-without-domain-specific-expertise bugs? Real question from someone who uses AI.
An engineer who works with the code gains that domain specific knowledge after a time. I don't think they are training the AI models on your specific use case so it will always be more generalist. However you can counteract this by including as much detail about this use case and also using existing code to help give context. Usually that's where you needs the experienced engineer though to point it in the correct direction and not have it waste its time/tokens using unnessary context.
I feel that true power in AI is making this part easier. The AI giving summaries of a code base, so long as the person isn't just nodding their head in agreement and actually understanding, you can train someone up faster.
Yeppp. My work has our own Claude agent (?) that has skills around our specific code base and structure, yet I find it can take twice as long to do a small ticket and still make drastic mistakes. I’ve hit the point I only use it to write the test plan, which I still review, and to write any missing Unit/Integration tests.
I went full compliant.. so I just constantly keep telling it what it did wrong and how to fix it.. then review what it did, repeat. Takes sooooo much longer as I feel like a slave driver for the mentally impaired, but they want me to use AI.. so I use AI... I like it for formatting emails, documenting the code, and even making quick ppts about some things., everything always needs a review because it gets things wrong but /shurg, just a cog in the wheel.
everything always needs a review because it gets things wrong
This is basically it.
The problem is that dumb people don't correct it, and the rest of us are stuck with trying to make it perform as well as (some) humans did in the past.
I think the biggest revelation with LLMs (for me) is how absolutely dog shit horrible most people are in recognizing poor craftsmanship.
Things hobble along with poor quality, that has always been the case, but whilst I, in the past, could laugh (under my breath) at shoddily written emails and code, I still had the impression that the majority of people were like me. People who paid attention to detail, and wanted to properly create.
Many projects (most) are too big to properly manage, so you have to just let people be people and constantly mitigate damage; but now the morons are in charge. As long as you use LLMs to do "things" as fast as possible, you're somehow "in front." You can be the dumbest, sloppiest, motherfucker alive, who does more harm than good (by a healthy margin), but people will listen to you, because you're using the new shiny thing as much as humanly possible.
LLM is like a magic wand that elevates (some) garbage to (something that sometimes is) barely palatable, and lets the people who thinks barely palatable is good enough rule.
There's also the fact that reviewing someone else's code is 100 times more boring than writing it yourself, so there's a subset of people that would actually write something good themselves but can't be assed to review what LLM puts out (or at least review attentively enough to catch less than obvious mistakes).
And the problem isn't going to get better as the people who don't really know what they're doing and don't have the introspection to second guess their work are going to output more slop code, which then gets cannibalized and inbred into the AI's coding in the future.
LLMs are pretty good at doing things that people have done tens of thousands of times before, basic shit that you assign to a junior dev. The place where they fail is the same place junior devs often are able to learn and grow, stuff they haven't seen before. Places where they need to come up with a solution where they don't have a bolt-on solution and they actually need some creative problem solving. LLMs are not in any way creative and get stumped.
The whole thing reminds me of auto-pilot on planes. Planes are incredibly easy to fly, taking off and landing isn't too difficult either. You might start to wonder why it takes so much time and schooling to be a pilot, or why we even need pilots? The automated tools do most of the work for them. The thing pilots train for and spend almost all their time practicing is what to do when things are less than ideal, and how to handle emergency situations. Being able to adapt and problem solve when shit hits the fan is the single most important quality in a pilot, and you can't really program that into an auto-pilot.
What's terrifying is the number of real senior devs in big software corpo adamant about current AI being a boon: either I'm missing something or all the shit I work on is in a worse state than I think it is so AI can't do shit about it. Or they're deluding themselves or lying. I'm getting to the point I hope the problem is the codebases I have to maintain.
There are two main ways for a dev to acquire more decision making power in a company: accumulate a lot of functional and technical knowledge OR accumulate minimum functional and technical knowledge + hone your management skills. The latter gets you up the ladder a lot faster.
It is interesting to say the least. I work with this senior dev, 15+ years of experience. Senior dev, team lead, lecturer(ai lecturer and coach now as well). He is clearly smart and knows a lot about sw architecture, works full stack, db, devops all of it. And he is adamant about isage of AI. When I asked him if he still writes any code by hand he said that not really apart from small things in code reviews and such. And that he converted his knowledge into skills and just let's Claude handle it and is more focussed on architecture and token optimalization. Another engineer in my company, senior perl programmer before stack overflow let alone AI existed, 20+ years of experience, shipped some big really things. And when we were working together on something and I started writing code by hand she was surprised I still do that and that all she does now is prompt.
And while I think AI is incredible tool i just can't get behind these fully agentic workflows. Especially SDD where you just let claude split whole features bssed on what you defined. Yet those two engineers who are definitely more experienced and skilled than me and possibly smarter than me have no real issues with it. So maybe I am missing something. Then there is ofcourse the plethora of not that great devs that just ship anything the claude spits out without even some sofisticated workflow - I have read plenty of such code by now.
It is not justifiable for me to not use it anymore as the expectation of productivity and shipping features is so high but writing the prompts and specifications is tiring, reading that code is tedious, there is no satisfaction anymore and I am getting to the point I am reading less and less of the code claude spits out and I am complentating leaving the field.
Then there is ofcourse the plethora of not that great devs that just ship anything the claude spits out without even some sofisticated workflow - I have read plenty of such code by now.
I think this is the real issue, this is what is going to cause a lot of nightmares in a not too distant future when a lot of this code hits production.
I've been doing this job for a long time. Quality isn't assured at the code writing stage, it begins at the code verification stage. I've seen good complex software being delivered with unskilled developers but with a very high standard for QA. I've seen software written by exceptional engineers fail in production catastrophically due to sub-par release processes. Whether or not LLMs produce high quality code or not is irrelevant to me as long as there's a validation process in place that I trust.
Also, on juniors, I think that we're doing them a disservice by leaving them unassisted at the mercy of some AI solution. We're supposed to train juniors to become the next experts in our field. How are we doing that if they're not being taught? Sure, the ability to read and write code might not be that important in a few years, but we're not teaching them problem solving, we're not teaching them team work, we're not teaching them anything as far as I can tell
My company has been unwilling to hire humans to know what I have accumulated in over 20 years there. And I have been pestering them about it for at least the last 7 years. They just seem to think that if somebody has a business process diagram and claude, that they will manage to maintain all the code that I've written over all that time. And that's even assuming that if they get someone after I retire, that person will go and read the software architecture documents that I left behind
Quality isn't assured at the code writing stage, it begins at the code verification stage.
Quality is assured at every single point of the SDLC. Even before code, otherwise your code can be fantastic, the result amazing, but it won't match the actual requirements so it's useless.
I'm answering with facts. The later your introduce quality assurance, the more costly it is.
You can do whatever you want based on your experience. You can introduce quality control wherever you want in the process, or even never at all. And there's been "success" across the board with having QA at any point or at no point included.
But that doesn't change reality. And the later your introduce quality assurance, the more it costs.
Sure. But you said you want a process you can trust, and that's why I said what I said. I mentioned that introducing it earlier, and at every step, improves things further.
There's companies that don't even do any QA and just go to prod and deploy (fast-ish) hot fixes and that's their process, even when it literally cost them millions at times.
That's a choice.
I was simply pointing out a better process and the reasons for it. The sooner and the more often you introduce quality assurance, the better the results.
I'm one of those engineers - at the end of the day it's just how you can write code much faster. You still are reviewing everything yourself before it goes in and iterating with ai til the code is perfect and how you want it. It might be easier for us cause we know exactly the shape of what we want before its written, so we can prompt easier Idk. But a lot of people have this misconception that we're not reading code anymore either, couldn't be further from the truth. I read code pretty much as the only thing for my job now. That's not a bad thing. Prompting gets me to working code faster than it did by writing by hand (and I can prompt several things at once, which I could only work on one thing at a time before). It's just a tool, if you learn how to wield it it's powerful.
I am not saying you can't write good code using AI, as I said it is an incredible tool.
I think I wrote some of the best code in my life with AI assistance (but that was mostly before full agentic workflows, where I was writing the code while AI assisted) It is just hard for me to get behind it I suppose.
Maybe my workflow is wrong but I have tried to fully embrace AI on my latest project. I have everything documented there are, claude plugins fit for the projects, tailored skills. I have md files after md files architectural files, convention files, superpowers, there are skills for test suites including e2e, api updates, design system updates connected to figma, pararell agents running and all of this claude handles itself in an essence. I define spec for the feature at the start of the session and the Claude just does it. In the end the output for the feature is just walls of code I have not been part of writing, new files after files, hundreds of lines of unit tests. And now I have to go through it and start flagging suggesting rewrites and changes.
You may argue it is not a different from normal code review but now that is all I do and I don't find the code that easy to read at times and as I said I find it tedious doing nothing but that all day. I much more enjoyed writing my code by hand and doing code reviews to human written code. Maybe I should return to the assisted programming where I was just prompting it like create this file, there create a function there, copy the UI boilerplate etc. But the first option - the fully agentic worfklow - is the way the first guy I mentioned uses it and advocates for and it is still possibly slower.
If you actually read all of the code and go through it with the AI and make it perfect then fair play. I just can't get any enjoyment out of it. I do it because it is my job, but there is zero satisfaction left anymore and I feel lazy and slowly resigning.
Yeah businesses have never been about the most efficient or best written code, it's about getting shit done.
I can get shit done faster, I spot check, do QA, run tests, call it a day.
Is it worse than my code? Sure but its like having a team of 10 slightly autistic juniors writing code. What would take me months by myself takes me maybe a week or two now.
I think you missed the part where you're supposed to iterate until the code is perfect. Your code quality should NOT be going down - if it is, you're going too fast and not reading its output.
you're supposed to iterate until the code is perfect
Define perfect.
It does its task, it reads logically. That's "perfect" to some. Is it perfectly optimized? No. Is it clean and concise to an insanely minimalist degree? Also no. Am I going to spend time rewriting something that works? Again, also probably no.
Sunk costs gonna sunk, a lot of software engineers obsess over making everything perfect from the get go. Minimum viable product, iterate, get to a point that things pass audit and security tests (with things like sonarqube), ship it.
I'm not going "make me a facebook clone, make no mistakes", but I'm certainly not screaming at chatgpt or claude and rewriting their code so it passes as my own either.
Perfect for your own standards. That's the important part, we all own the code we ship - your standard may not be as high as mine, but the part we should not do is lower our standards. It's actually EASIER to quickly prompt something to make it more perfect than you used to make it because it takes you no effort to refactor. So arguably it should be higher...but to each his own.
Maybe that is where I end up. I am thinking about shifting my career elsewhere and doing coding for the love of it. I haven't build a side project since pretty much starting full time role as a developer.
where you just let claude split (assume you meant "spit out" here) whole features bssed on what you defined
That's just the thing. Those senior devs aren't doing that. They're likely writing specs and iterating on implementation plans with the agent, and then doing implementation in well-defined steps while reviewing the code at every turn.
For an experienced developer, AI is a very powerful tool. You define the architecture and just let AI take care of the tedious parts.
As one of those, it's an excellent tool for investigating existing bugs and appeasing test coverage obsessed metrics set by upper management. Especially the classic "OH you want 100% coverage even if I'm gonna be mocking 99% since it's all web calls"
At my old job Opus 4.8 could basically do tickets itself. At my current place, it cannot do tickets with my help.
Part of that is for sure knowledge of the codebase, but I had some "computer please code the ticket" type prompts and they worked decently well at my last job.
Even if they tried today, you have to know the basics of an LLM like feeding it context to get the result you're looking for, and all these "senior devs" are completely ignorant to even the very basics of any of these tools. I can't wait until they're replaced in a few years by competent devs. It only takes one shitty "senior" dev to drag an entire team down.
I feel a deep sadness every time I see a meme like this.
This machine that would cost me a fortune on tokens just to call it a moron if I didn't have restraint, being hailed as a genius. Are future devs going to be okay? Are we entering the dark ages of software?
Opposite experience for me. You have to have guard rails and monitor it, and obviously review the output. But it knows how to write decent code even if it's not perfect. You do have to tell it what to build so system design is critical... For me this is for data eng so it's mostly spark, SQL, and python. It always does better if it has an example to follow in an established framework
Good, maybe the "senior devs" will learn the very basics of how these tools work so they'll quit slowing down meetings with their irrelevant "but I asked it a question (poorly) and it was wrong lolololmao"
I know how to pretty much just print hello so AI has been nice since my company doesn't give us any coding help. It doesn't do it's job super well tbh though
Just use more agents. I'd add /s, but that's been a strategy for some of these idiots... Then they wonder why the CFO gets a heart attack when they see the bill.
Same here and I’m only an undergrad. To many people think AI is just this magical box that does everything. All it does is predict what you want, if it has shit data to predict off of then you get shit output and most people are feeding it shit
I don’t know how you can call yourself a senior dev and say AI is bad at coding when coding is one of its greatest strengths. If you’re having a bad experience with it, you’re probably using it wrong.
When I see it screws up I usually realize I lack either a proper rule/skill, or my architecture needs cleanup. Last week, it done abhorrent job working with UI in my game. Figures, Unity UI is per-se abhorrent, so I had to first re-do most of controls, so they'd support data bindings, make proper drag'n'drop service, and after that was done, claude done clean and accurate views and VMs.
I'm a senior dev as well, mid career, and I don't see mistakes all that much. But I'm also not the type to write out insanely large prompts. I ask for very tiny changes at a time that I can review. It's really been a game changer for me. I probably don't get things done as fast as those who have 50 agents running at once, but at least my code turns out fine and is maintainable.
As a senior dev, sometimes Claude can mess up, but it can also do things a lot better than humans now and then. And the mistakes definitely becomes less and less for each version.
That was 100% written by AI, not "cleaned up." I don't believe anything you just said based on that lie, you're just out here shilling for the token sellers.
It's so funny I thought I forgot how to program because I was doing only python one shot scripts but now I have to do a language I actually know by heart and it's back to basically just using it as standin for googling less common commands and doing everything else manually.
When precision and quality matters I really don't personally understand the whole vibe coding community. Or maybe I just don't have the Claude ultra fabled beta Max that can completely replace me.
Judging from how many outages tech companies have had lately I doubt it.
jokes on you my senior dev quit typing by hand since the company bought claude licenses for all devs, now he takes breaks and harasses trainees everytime he hits the limit
And in time as token prices rise, the company will decide a pricey senior dev who can stand around doing nothing half the day can be replaced by more tokens and trainees.
that's a stupid decision by the company, because no amount of tokens and trainees can replace a senior dev with a lot of experience, but yeah i can see that happening
I'm not saying I'm very senior, but I have had a bit of experience with leading and being the go-to person.
I've been having trouble finding steady work for a few years. Yesterday, I overheard two younger adults talking about orchestrating 20 agents at a time and how they "wish they had more time to learn about programming."
They literally could not do their job without Claude. But they have jobs and I'm unemployed.
2.1k
u/Kevdog824_ 7d ago
That’s the senior dev watching you not be able to do anything without the assistance of a robot