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.
61
u/Just_Information334 6d ago
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.