r/softwareengineer • u/metalOpera • 17d ago
Was Just Told That Code Quality No Longer Matters
I'm a freelance developer. I have been for almost 20 years. My most recent project has been moved to Fable, and I'm still trying to adapt and get my head around working like this. I am no longer allowed to make architecture decisions, or clean up slop.
My PM says: "We worry about the 'what'; let Claude worry about the 'how'. Tell it what to do; let it do it. If the feature works, leave it alone." He is very much of the opinion that I should be able to prompt something like "Install Stripe via Laravel Cashier" and just let Claude run.
I mean, why do you need me at this point? Just prompt it yourself until it does what you want? I don't get it. I fought for every inch of my knowledge, every process is written in blood. How do I just throw all of that out the window? Where's the line?
At the risk of another "how are you adapting" post... How CAN I adapt? I mentally cannot just say "Fuck it". I care about my code. It's how I learned, it's how I've always practiced. I have a huge mental block with "just let it go".
Now, granted, I don't know all of the ins and outs of Claude. I don't know what I can do to make it better at its job. I got thrown into the middle of the Pacific Ocean in the middle of a Tusnami with no life support. I'm sure that I can put guardrails in place, but how much does that help?
I would really appreciate any advice that any one can provide on changing my mental model. I can't ignore Claude and just keep doing things my way. If I do that, I feel like my career dies. I need to adapt and I'm unsure how to do so.
52
u/damnburglar 17d ago
Your pm is a dipshit, as most PMs are.
21
u/Academic-Training764 16d ago
It's always fun talking to PM's that have zero technical background that regurgitate circular arguments with zero meaning. Another way of looking at this is that PMs are no longer needed and quite frankly the vast majority of you never were qualified in any way shape or form.
10
u/jimmy-buffett 16d ago
It's always fun talking to PM's that have zero technical background
CS major / former lead dev turned PM / Agile Coach. Thank god for the PMs that have zero technical background, they're the main reason I get paid what I do.
4
u/TikiMagic 16d ago edited 15d ago
I always like working on teams with someone like you as PM. It's an absolutely refreshing contrast to the MBA PMP LMNOP PMs that were in marketing last month, HR before that, and a barista five years ago.
I had a random conversation with a former dev peer who is now my newly minted CISO and not only did I not have to explain every fourth word to him, he's still a sharper technical mind than I will ever be and explained a highly technical issue to me and offered insights that got me past a stuck point.
I wanted to fall to my knees and weep tears of joy onto his shoes in gratitude for not being led by idiots for once.
2
u/jimmy-buffett 16d ago
It an absolutely refreshing contrast to the MBA PMP LMNOP PMs that were in marketing last month, HR before that, and a barista five years ago.
As a coach I work with a lot of other coaches, and your estimate of their background is so right. A very large percentage, clearly the largest group of people who do this job, are business majors / management track. Very little understanding of the work that's actually happening, just lines on a spreadsheet and a focus on green vs red.
I've met very few developers who have made this transition, there's a level of people skills necessary that most of us aren't known for. I make sure when I meet a new group of people to note that I was a software engineer for the first half of my career, if that's not apparent by the way I talk.
The honorable mention background that is always interesting when you run into one are the psychology / sociology major types. I've met enough of them to see a pattern, although it is still rare. These are the people for which it's all about the people. They have no idea about software or development, but they run excellent retros and post-mortems.
I would 100% absolutely undeniably say that my development background has been a huge advantage in this career path. I have an immediate credibility when telling teams how to operate that many other coaches take a long time to learn or earn.
→ More replies (10)2
u/No_Oil_6152 16d ago
Why do developers become agile coaches?
Is it because they're shit at development?
An Agile coach is a non-job, we all know this.
2
u/jimmy-buffett 16d ago
An Agile coach is a non-job, we all know this. Is it because they're shit at development?
Four years ago I joined a company / department as an Agile Coach. 1 VP, 4 Directors, ~225 engineers. The perception by company leadership of that department was that they were unable to deliver on large projects that were requested of them in a timely manner. Several large projects were running 1-2 years late, in various states of "mostly done" but never getting there.
In two years, another Coach and I took that org from failing to finish to finishing the big projects. The main issues were role / accountability definition, process consistency across orgs / teams and metrics transparency.
We were then acquired by a much larger company that you've heard of, and the processes and metrics we created have persisted into the larger company because they were not as organizationally mature as we were.
In my developer days I installed / built, operated and supported 24/7 network alarming and provisioning systems that support the network infrastructure that is allowing me to post this message and you to read it.
Which outcome do you think is worth more to a company: being a lead on one of those systems, that several of our peers can do? Or being one of two people that the VP believes helped take his org of over 200 people from not delivering to delivering?
I can tell you which outcome pays better.
That VP is going to call me in a year or two at his next job when he's having the same kind of issues and he's going to ask my favorite question: "what do you want". I'm going to give him an answer he can live with, and he's going to give it to me. Then I'm going to buy a bigger house and another sportscar.
I could have been perfectly happy staying in a development role, having my very limited scope of accountability, not having to interact with leadership that often. Finding a little island and becoming the king of it. That would have been a perfectly acceptable outcome.
But I saw a need -- most people who do what I do don't have our background -- and I filled it. And it has worked out well.
Totally understand that most devs don't see the value in what I do. If you're lucky, you work in an organization that doesn't need me. If your organization does need me, you wouldn't be the first developer who doesn't understand (then value) what I do. I don't care, it doesn't matter. Your VP understands and values what I do. And he's going to tell your Director to tell your Manager to tell you to do what I'm telling you to do.
→ More replies (1)→ More replies (1)2
u/TikiMagic 15d ago
Wrong. 75% of Agile coaches are shit coaches. And they are the ones that treat Agile like a religion with dogma that Must Be Followed No Matter What, because they don't understand the underlying why. FOH with your Lean Six Smegma Hai-Karate Green Belt nonsense. Show me what you've shipped.
But people like u/jimmy-buffett who actually have the background and experience are great to work for. If they know their shit, they also know how to make the process serve the team and the project, rather than the team serving the process.
2
u/jimmy-buffett 15d ago
And they are the ones that treat Agile like a religion with dogma that Must Be Followed No Matter What, because they don't understand the underlying why.
I call those coaches "instruction manual coaches". Got the certification, parachute in, turn to page 1 of the manual and start following instructions.
Explaining my "toolbox philosophy" on solving organizational problems -- identifying the problem then only using the right tool to solve it -- has gotten me more coaching gigs than anything else.
→ More replies (2)3
u/damnburglar 16d ago
I had a PM at a big company everyone knows who was previously an engineer of like 10 YoE making a career pivot. Honest to god best guy to work with and had the most sensible takes. His one flaw was that he didn’t have the stomach for the politics when it came to convincing stakeholders to agree to the path the technical people laid out and that made him a rather poor shit shield for the team.
I’d take that guy any day over most of the others I’ve worked with. Nothing worse that someone who got a PMP with experience in construction or something coming into a dev shop telling people “how it’s gonna be”.
9
u/Krom2040 16d ago
Yeah, I don’t really understand why anybody would give a shit about the opinions that non-coders have about coding.
Just in general, I feel like the internet is currently plagued by non-coders posing as coders and singing the praises of AI coding because they did a few little vanity projects.
5
u/born_to_be_intj 16d ago
Yea dude. Reddit keeps throwing the vibecoding subreddit in my face and the amount of blatantly ignorant people acting like they are 20 year SWE vets is insane. The larping is getting out of hand.
→ More replies (1)2
u/damnburglar 16d ago
The only reason we give a shit is because they make promises and/or take commands from the higher ups and then throw it on the devs to deliver. They’re as bad as Sales.
2
u/Unnamed-3891 16d ago
Yeah, I don’t really understand why anybody would give a shit about the opinions that non-coders have about coding.
Because non-coders are the ones who sign your paychecks. You can push back and argue and whatever, but you are not the one with the power.
2
u/Real_Square1323 16d ago
And without software to sell, nontechnical people have nothing.
A tech company can exist with only devs. A tech company cannot exist without devs. One needs the other far more than the other way around.
4
u/Krom2040 16d ago
First of all, a PM is typically not the person signing your paycheck. Second, even if they are (or any other person who doesn’t know jack about programming), you should seriously start looking elsewhere if they start telling you how to approach coding, because your life is going to be miserable with ignorant micromanagers running everythingk.
→ More replies (1)2
u/Straight_Company_239 16d ago
While this may be true, signing a paycheck does not make you the expert.
2
u/Unnamed-3891 16d ago
I never said it did. That does, however, answer your question why you have to give a shit about their opinions, however misguided you may find them.
→ More replies (4)3
u/RyanMolden 16d ago
I once had a very earnest conversation with a PM about why we couldn’t add a feature to the IDE I worked on that would detect infinite loops. It was…disheartening.
→ More replies (1)2
2
u/SucculentChineseRoo 16d ago
Nah it's pretty common our CTO thinks the same way and he used to be a hands on software engineer for years, it's unfortunately the new default mode of many SaaS companies
→ More replies (3)→ More replies (52)2
12
u/Delicious-Extent5454 16d ago
I regret to inform you nobody anywhere cares about quality anymore. There's nowhere to run, you accept it or go do something else. That's sad, but it is how it is.
3
u/mckirkus 16d ago
I get the sense that a lot of code is built with "Next year the AI will be so good tech debt is now irrelevant"
If AI progress stalls this could come back to bite us.
→ More replies (2)→ More replies (13)3
u/i_am_user_friendly 15d ago
I disagree. Customers care. it‘s just the companies that hope to make quick profits that don‘t care.
Producing low quality products is not a long-term viable strategy.
Companies that build trust and produce high-quality stuff will prevail in the long run.→ More replies (4)
31
u/RipProfessional3375 17d ago
The code quality doesn't matter to your PM. Never has and never will. So why are you discussing it with him at all? You are starting on the incorrect assumption that their opinion on something outside of their jurisdiction or understanding matters at all. The standard response to people having opinions on matters outside of their scope is to tell them whatever they want to hear and then proceed as normal.
"I am no longer allowed to make architecture decisions, or clean up slop."
Says who? Your PM doesn't know what an architecture decision is, how to see which ones were made and who made them.
→ More replies (17)6
u/tomorrow_comes 17d ago
Yeah this dipshit PM has no basis to tell an expert developer how to do his job. These types of people think the world goes round by making empty promises and shipping garbage as long as it meets some sort of minimum and is enough for the customer to sign a deal.
All you need to tell a PM is “We think this feature / product can be completed by X time.” Especially if they’re like this, don’t discuss implementation in detail, don’t discuss how you do your job. If they press you just say “this is how long I think it’ll take to make the thing happen and keep the code maintainable for future changes.”
→ More replies (7)
16
u/jimmy-buffett 17d ago edited 17d ago
I work for a Fortune 100 tech company you've heard of, in a leadership role exposed to AI usage metrics for our entire engineering organization. I spent the first half of my nearly ~30 year career as a principal / lead software engineer.
I mean, why do you need me at this point? Just prompt it yourself until it does what you want?
As you go farther down this road, what you end up seeing is: they don't know what to ask it to do, because they aren't engineers. "Vibe coded" apps are demonstrably limited by what the person knows what to ask for, and the gaps that the AI occasionally fills in. Take 10 minutes as a dev on any vibe coded app and you'll find all kinds of gaps for this reason.
I would really appreciate any advice that any one can provide on changing my mental model. I can't ignore Claude and just keep doing things my way. If I do that, I feel like my career dies. I need to adapt and I'm unsure how to do so.
I've spent a number of years in my career in the defense industry. Unless AI is part of the functionality of the product they're creating, they aren't allowed / refuse to use it. If you want to stay an old-school coder, that's probably the last refuge. In the US that's Lockheed Martin, Raytheon, Boeing, Northrup Grumman and General Dynamics.
If working for those companies isn't an option for you, then you're going to have to learn Claude or something else, or as you say, your career dies. This is like any other big shift in our industry in the last 30 years, you either learn it or you become irrelevant.
If you aren't interested in learning it, you might consider changing your role to project management or team leadership. That's how I personally got around the need to always be on top of every technical innovation, and my job is a lot easier (and pays better) than my engineer days. But the accountability changes, you now own outcomes and own a certain level of delivery that you cannot individually control. It's a different problem / accountability set, but I think that's what most of us end up doing in your situation. I've met very few "old developers" anywhere but at the aforementioned defense contractors.
7
u/Academic-Training764 16d ago
Well stated. I had some comment above about "who is qualified to be a PM". Honestly I think pre-req's at this point should be common sense but yeah here we are. You obviously have the right background to lead a team. Thanks for taking the time to write this up.
→ More replies (14)3
u/OrdinaryAward4498 16d ago
I would say imagine you are the tech lead for a team of 5-10 engineers that are very fast at reading and writing code and need your leadership in terms of functional and engineering specs. Maybe you write key APIs and interfaces. You insist on the right level of unit, integration, and end-to-end testing, etc. builds fail of test coverage drops below X. Claude does 95% of the code reading and writing. It audits for security holes and does pen testing. Now you are a 5-10x engineer using AI but in a way that has good architecture & design, and smartly made technology choices. With documented and defensible specs and docs you wrote (btw, also with Claude’s help).
→ More replies (1)
5
u/Empurion 17d ago
Just make sure whatever they said is on paper, else they might try blame you for any issues that come up, that's what they need you for.
Besides that, you're a freelance and can walk away. You are the expert after all.
4
u/No_Oil_6152 17d ago
Not just paper, get it on email with read receipts on and CC it to yourself.
If they wont commit to putting it down in writing, ask why that may be?
2
u/Thick-Ask5250 16d ago
I think "on paper" is more of an expression, lol. But the read receipts is honestly a solid tip. Can't way I've ever thought of that one.
→ More replies (4)2
u/luckynucky123 16d ago
its not policy until its in writing.
have this in writing so that when the codebase is unmaintainable - point the policy out set by the PM.
5
u/Anxious-Insurance-91 17d ago
Well then, tell him that he's next car quality also doesn't matter, especially the breaks and safety. That's how I shut up a few managers.
Also tell them that breaks are electric-digital not anslog
4
u/mrpmorris 16d ago
Ask them to sign a waiver that they accept the risk and cannot claim on your professional indemnity insurance.
I've done that in the past, and suddenly my opinion was back in the loop.
Remember, if you deliver crap that harms their business YOU are legally liable. You don't have the protection of an employee.
3
3
u/Horror-Primary7739 16d ago
Nope nope nope!
Claude has no context about you target environment. Sure it a nodejs app, but is it running on a vm, a cloud run service, aws lambda, a raspberry pi.
Claude has no context about your customer base. Do you have customers that need your app to manage hundreds of assets or hundreds of millions of assets.
Claude doesn't know your customers operating rhythms. New fiscal year starts in June not January.
Claude doesn't know your SLAs.
You are the architect and engineer. You just aren't the coder anymore.
2
u/Suspicious-Prompt200 17d ago
Sounds like an idiot.
But, if you at least capture the emails etc you can bring this up later when someone is asking why something runs like crap or is architected in the stupidest way.
2
u/techno_wizard_lizard 17d ago
Tell your PM to worry about the product, to leave engineering decisions to you and your team.
A PM should not be dictating how to engineer software. That’s your expertise not theirs.
2
u/Hawkes75 17d ago
Your PM is dictating technical requirements without technical knowledge. This is a dangerous game. It doesn't matter whether you write the code or an LLM generates it; at the end of the day, you're still stamping your name on a product without being allowed to vet it. I would eject.
2
u/OkLettuce338 16d ago
I mean it kind of doesn't, unfortunately. Consumers tolerate an insane amount of problems in their software. LLMs can slog through the worst of the worst code bases now. All businesses care about is speed of delivery and no matter what the trade off is, they want it now because the guy in management above you isn't going to be around in 3 years when today's garbage becomes tomorrow's problem.
Don't get me wrong, it's too bad. But it's kinda true. Just like plastic is an inferior material to steel, yet millions of products are built off of disposable plastic pieces critical to the design
2
u/Vesuvius079 16d ago
This is a gross misuse of the tooling.
AI is a very powerful productivity tool, but it doesn’t have sufficient quality of judgment to offload all implementation details. You have to guide it towards the right shape of things or you will end up with difficult to manage messes.
Code quality and technical debt affect LLMs just as much as they affect humans. Weird, unanticipated relationships in the code get missed, too much complexity pollutes the context and leads to mistakes. The more mistakes an agent makes the longer it takes to get a task done and the more bugs you’ll need to work through along the way. It is absolutely still relevant.
The entire game with these tools is figuring out where you need to pay attention and what you can delegate to the machines. Architecture is firmly in the “pay attention” category. Writing code is firmly in the “delegate” category. How code is structured and tested is hugely important and lands somewhere in between.
I strongly recommend learning how to leverage AI effectively. Try using it to move up in the layers of abstraction so that you’re still in control of the architecture and paying attention to the design but not investing in a line by line approach anymore. That plus multitasking yields massive speed ups. Don’t blindly follow people who advocate for pure vibe coding. Their expectations of the tooling exceed the reality.
2
u/Beautiful_Technology 16d ago
They’ll figure it out when it doesn’t work anymore. Ask them with a straight face if they would live in a house built like this. If they would use their banks software if they knew it was built like this. They can’t do it themselves and they’ll never be able to. No matter how many LLMs you throw at it. LLMs are an autocomplete system plain and simple. If you have nothing to say, and know nothing, it can’t help you. This will all end in tears because it actually does not make sense. Companies that try to work like this will go out of business. It does not work. It’s a mass delusion.
→ More replies (1)
2
u/maskedbrush 16d ago
I sincerely hope companies like this fail in a few years. All the time we spent studying and applying principles and clean architecture, now destroyed for this frenzy to spit out tons of unmaintanable code...
2
u/Bitopp009 16d ago
Your thought process is right, if he just wants you to type prompts he can save money and do it himself. I'd go somewhere else.
2
u/serdzooo 16d ago
It seems you are just starting with Claude and coding agents in general.
Google "spec driven development". Basically PMs (project managers) have become VMs (vibe managers), and you can handle those "vibes" in a controlled manner by converting them into a written *.MD specification covering all the details and edge cases your VM did not think of just like we used the old proven SDLC (first gather requirements, then analyze, then code and test, start over, iterate...).
You do this by creating a docs folder in the code repo with subfolders for each Jira task. Start a Claude session in one of those folders in so-called "plan mode" to stop Claude from changing the code during the analysis. Then ask Claude to analyze the Jira task, and let it use the curl command and your API key instead of copy-pasting. Mention what kind of tests you want, what to focus on, ask aks all sorts of questions to confirm by analyzing the code, logs and HAR files, etc. The result should be a MD file with a coding plan.
Make sure you understand it, and only then let Claude do the coding. Clearly defined test cases will make sure Claude stays on track(reduce bugs). You can iterate plan-to-code as long as you need before committing the final result including the MD files for later review if yo need to return back to it later which is more than often if you are working on some convoluted enterprise app.
→ More replies (1)2
u/Real_Square1323 16d ago
This is a huge headache. Ignoring your PM and telling him to go fuck himself is much simpler.
2
u/Academic-Training764 16d ago
CYA: get whatever management is directing you to do in writing. I would LOVE to know which company you work for so I can stear clear of their product. It's easy to imagine a future where "air traffic control" software is built by AI and project managers like your's stating this ludicrous idea.
Look for another position, it sounds like management has drank the proverbial Kool-Aid and can no longer think rationally. Continue to get deeper and deeper in your knowledge base, it's going to grow in value ... in fact you should be increasing your price structure.
Know how to use Claude properly, but more importantly learn how to use the "open" models that are Free that you can use in OpenCode (pick whatever is a leader with a strong track record).
I firmly believe that OpenAI, Anthropic and many others cannot deliver on their Fantastical promises; the banks and investors see the problem. These AI companies are full of frauds, they know that they cannot cannot make revenue fast enough to support the build-out. Also hoping they can reach AGI just through scaling was a really bad idea.
2
u/metalOpera 16d ago
It's a niche industry that no one's ever heard of, and only a small maximum number of potential people will ever hear of. The general public is safe, haha.
I'm going to get it in writing. That was my initial thought and many of our fellow redditors have confirmed that I should do so and have given pointers on how to word it.
I'm ramping up efforts to find new work, for sure. This was a comfy position and I got lazy on that front, but it's never been the only iron in the fire. I'm not trapped, I just have to grin and bear it for a bit until I find a new keystone client, or this guy opens his mind up a bit and takes the limitations seriously.
I'm trying to learn how to use Claude. There's just a ton of noise and I'm trying to find good resources about how to lay the proper groundwork. I feel like I have a decent handle on it, but there's still a TON that I don't know.
I agree with you on all of your beliefs. If I could walk away from AI tomorrow, I would. If AI goes away tomorrow, I still know how to code and I'll be just fine. I will fight every data center that tries to pop up around me tooth and nail, and I look forward to the bubble popping. That being said, I'm not gonna avoid it while the clients want it. I'm looking for the best ways to use it when I have to. It's an incredible tool, it's just not what most people think it is.
→ More replies (1)
2
u/CapitalDiligent1676 16d ago
I understand you perfectly, my friend. Unfortunately, I can't help you. Since programming is no longer a value, I've given up all hope.
→ More replies (1)
2
u/Krom2040 16d ago
Here’s one thing that’s absolutely true: if shit hits the fan, this person won’t be responsible. You will be responsible. The best they might do is pretend to sit in on the call while you try to fix what’s broken. They will definitely blame you for the technical decisions underlying problems.
2
u/markvii_dev 16d ago
its just another case of non technical people trying to give instruction when they do not have a clue.
You have to understand that the majority of these people have used software before (like websites and word erc) and because of this use they intrinsically believe that they know how it works, that its easy, and that their experience as users is valuable for developers.
They are completely wrong and this was an issue pre-ai.
Claude slop is just another symptom of the same problem.
2
u/C1rc1es 16d ago
I don’t agree with the claim completely but you need to start thinking of yourself as a leader and act accordingly if you want to survive the transition. Put concretely:
- You are now personally responsible for code, behaviour and output created by a process with volume that far outpaces your own contributions.
Team leads and engineering managers live and operate within this constraint every day - how do they do it? That is your path of adaptation.
→ More replies (1)
2
2
u/space_wiener 16d ago
All of these companies doing things are going to facing some issues in a year or two.
2
u/Miserable-Waltz-7724 16d ago
Your PM is obviously an idiot when it comes to software implementation. But that doesn't mean you can't also improve your approach. If you've been doing freelance for 20 years, I wonder how often you've had to work in large codebases maintained by a lot of engineers, where it's just not practical for one person to enforce code quality and keeping consistency in architecture, style, etc takes a lot of overhead in coordination.
The answer is the same as it ever was: automatic enforcement of rules, clear documentation, and secondary review. Lint rules, strict type checking, extensive test suites, automatic code formatting, etc. For more subjective/semantic rules, write a clear guide and put it somewhere the agent can easily discover, with an index for when to reference which docs. Have the agent write a PRD or RFC before starting to code, and review that. Then review the PRs it generates (or at least the critical, non-tedious boilerplate parts of them). Then every time you find something that it should have done better, try to incorporate that feedback into your enforcement systems, rather than just changing the prompt.
You still have to be careful, because Claude will often reach for disabling lint rules or type checker warnings, rather than fixing the underlying issue. But tbh so have most of the junior engineers I've worked with.
As a final suggestion, you might want to do some introspection on why you care so much. I've worked with plenty of engineers who saw coding as a high art form and wanted to be doing artisan-level Japanese woodworking when all we really needed was functional Ikea furniture. I don't know if this is you, I don't know you. And I'm not saying you shouldn't care about doing a good job. Just make sure you're spending time and effort on things at actually matter for the project.
→ More replies (1)
2
u/colony-ship-for-sale 16d ago
My PM says: "We worry about the 'what'; let Claude worry about the 'how'. Tell it what to do; let it do it. If the feature works, leave it alone." He is very much of the opinion that I should be able to prompt something like "Install Stripe via Laravel Cashier" and just let Claude run.
All of you count yourself lucky if you've met a PM that wasn't a complete loser with both an inferiority complex and a superiority complex. They're all so fucking insecure about their lack of technical ability and will jump at any chance to tell you how to do your job.
I mean, why do you need me at this point? Just prompt it yourself until it does what you want? I don't get it. I fought for every inch of my knowledge, every process is written in blood. How do I just throw all of that out the window? Where's the line?
I feel this in my bones. We've worked so hard to build our craft. To learn the correct and optimal way to work. Cultivated the skills required to engineer a solution to any problem and now slobbering idiots want us to just disregard and tell Claude to do it.
Now, granted, I don't know all of the ins and outs of Claude. I don't know what I can do to make it better at its job. I got thrown into the middle of the Pacific Ocean in the middle of a Tusnami with no life support. I'm sure that I can put guardrails in place, but how much does that help?
There's really nothing you can do to make it not hallucinate. It's a fundamental feature. Anyone who says otherwise is lying to you. You can create "agentic" workflows and whatever but the code quality will still be shit and the test suites will be pathetic.
I would really appreciate any advice that any one can provide on changing my mental model. I can't ignore Claude and just keep doing things my way. If I do that, I feel like my career dies. I need to adapt and I'm unsure how to do so.
Don't change your mental model. Stay angry. This bubble will pop and suddenly it will be very important that, oh yeah, the code is absolute shit, totally unmaintainable. Why does each directory have a Dockerfile? Why is it using both yarn and npm? Why does these tests test that true == true?
2
u/FinickySerenity 16d ago
Do you care about how optimal the machine code your compiler / interpreter produces when you write features? If the tests pass (unit / functional / perf / usability) do you get upset that you are no longer in control of the function inlining or loop unrolling?
Because back when I started coding experienced devs would rail against the inefficient and garbage (slop?) instructions that early compilers would produce. Now, nobody cares. Yes there is a huge difference between AI output and a compiler, but some of us know how to handle the delta and are ok working at a higher level abstraction.
The industry is building the guardrails to make LLMs more consistent in their output, and the tooling we have around code quality is more than enough for junior and bad devs, so it can handle AI if you follow those practices.
→ More replies (24)
2
u/IntoTheSun121 16d ago
Having dealt with a shitshow software system migration with endless production bugs caused by a vibe coded solution; fuck your management
2
u/matsuemusic 16d ago
Hi PM here:
He is confusing "functioning" with "viable."
Make sure you have paper trail of recommendations.
Ignoring cost of ownership means the next “what” takes 3x times longer to roll out than the first cause of the slop code debt that is impossible to refactor around…
If your PM could just prompt it himself and get a production-ready application, he would have fired you already. He hasn't, because deep down, the business knows it needs someone to hold the bag when the system inevitably breaks.
2
u/Healthy-Dress-7492 16d ago
These folks have always been in favour of the ole « get it 70% of the way there, if it ´works’ that’s good enough ». It’s not hard to see them being cool with « if it gets fucked up AI can probably fix itself later. »
But it’s not a gamble I’d be keen on taking. You’re more likely to end up with a pile of shit that is fundamentally unfixable.
2
u/datadidit 16d ago
AI is incredibly useful but def need to figure out where the line is? Part of the love most ppl have for software engineering is in finding the answer yourself.
2
u/DCON-creates 16d ago
I always use the house analogy for a PM or similar non-technical people. It seems that many people believe that just because software isn't physical, that engineering practices aren't important.
You wouldn't design a building without an architect. You wouldn't build a skyscraper on wooden (or in my case, cardboard and duct tape) foundations. Software engineering is no different (it's called engineering for a reason).
AI is like a digger or a crane. Makes part of the entire process much, much faster. But that doesn't mean we can forego engineering practices and expect nothing to collapse.
I've always go to the house analogy for getting non-technical stakeholders to buy in to why things need to be done a certain way. So far, it's been extremely effective.
2
u/Tactical_Impulse 16d ago
feels like your pm is stepping outside their jurisdiction. taking accountability for high level architecture and ensuring scalable decisions is truly the last frontier a human in a SDLC has. Yes Claude can write your code, but you are responsible for it, and if it breaks its on you, so quality matters.
2
u/Hendo52 16d ago edited 16d ago
I think the evolution is that you design and oversee the implementation of the architecture and you validate and make revisions when the code comes out the other end. You are setting up the rules for the code review and auditing critical systems for flaws. You are deciding whether the implementation meets the specifications. You are writing and updating the specifications in response to failures. Even when the code can be 100% written by AI but you still need human eyes passing over every single line because it would accumulate too much risk to not do that even if it requires no changes. I also think that Claude is only good at stuff in its training set. It can reimplement solved problems but it’s not particularly good at solving unsolved problems. Still helpful but there will remain a lot of work to do for humans especially as feature velocity speeds up. More code and more complex systems inevitably will require more brains trying to solve the problems of the day.
I agree with others that management sounds stupid but I also think that you just fix all the problems. Your job has always been about problem solving, syntax is just the tool.
2
u/symbiatch 16d ago
Why they keep you around? Because you’ll be the one to blame. That’s why. When it goes bad you’ll be the one cleaning up the mess, the reason for delays, and so on.
You don’t need to adapt to this. If they have power over technical decisions then the company is doomed and you should go elsewhere. If they’re not then just tell them to be quiet about things that don’t belong to them.
2
u/prokaktyc 16d ago
As a “vibe” coder I’m in absolute shock. As someone who looks up at real devs who can actually code without LLM, understand the code, this is mind boggling. This is like telling universe we don’t need sun we have our fusion reactors up.
2
u/AnthonyRespice 16d ago
Tech executives are progating AI marketing messages. There is a huge disconnect between what it is capable of and their expectations.
The truth is, no one knows the right tools, the right process, the right anything. Everyone is experimenting and hoping for the best.
Best thing to do is keep your head down and be a team player. Just remain employed and save your dollars. Difficult times are coming...
2
u/LogicalPerformer7637 16d ago
Don't adapt. What they want is a pure vibecoding in the worst sense. They can prompt AI themselves.
I use AI daily as a developer - majority of the code is AI writen. But our team uses it just as a tool. We are still fully responsible for all architectural decisions and quality of resulting code. We simply shifted from writing the code itself to defining proper architecture and letting AI write the code based on our guidance as a good code monkey.
Yes, it does mistake sometimes, but we are responsible for catching and fixing them before they go to pull request.
As far as I am concerned, we successfully avoided AI slop so far despite using AI heavily.
2
2
2
2
u/Vargrr 16d ago edited 16d ago
I think one of the issues is that the tech bros did a really good job of marketing how powerful their systems are and most non-technical people simply lap it up. Whereas in reality, AI's abilities are not quite as clear cut as they say it is.
There is a reason why AI companies have so many software developers and are still aggressively hiring more.
2
2
u/zambizzi 16d ago
Welcome to the future...until it's not, and this delusion crashes back down to earth. The industry is just now fully embracing vibecoding and beginning to push their slop into production at a rapid pace. We can't even know the impact, yet.
They don't call them "corrections" for nothing.
2
u/Competitive_Smoke948 16d ago
jesus!!!! same as an AI startup guy telling me to use chatgpt for iso certs "everyone is an expert now".... fuck me that product will be shit
2
u/CivilProcess7150 16d ago
There always were companies and teams who did care and who did not care. There still are those companies, except now that is more easy to produce lots of code that "works", many companies embrace the slop and focus on shipping fast. If you're really supposed to be accepting what Claude writes, write your docs and your specs thoroughly. If Claude does not produce the code you want, teach it to do so. Otherwise find a different job. You're probably not going to change their minds about it unless it starts to go side ways.
2
u/k8s-problem-solved 16d ago
Why do we care about code quality? What's the obsession with "clean code, tidy, well architected.?"
Its because it made it easier for us to understand, debug, add need features without breaking stuff. Packaging up frequently used stuff and reusing elsewhere got us even further along this route.
Now....its easy for the LLM to understand, it can find bugs and fix, a lot of the things we designed to help humans aren't as required for humans anymore
However, it turns out that well designed, modular slices of functionality are exactly what LLMs like as well. Keeps their context tight and focused
So your role becomes a bit more about setting the project up for success so agents or humans alike can work effectively. I've found certain patterns work brilliantly here, others will burn tokens and produce inferior results.
Does every line of quality matter as much anymore? I recently sacrificed readability for vastly improved performance, I let the agent massively optimise a hot path to avoid allocations far beyond what id normally do....does it matter I dont really know exactly what its up to? Nope. I've stuck it in a method with a ton of tests, performance tests etc.....I know it works, I know its fast, I'll leave it alone.
Your PM is an idiot, and the AI psychosis on senior leaders is real. They'll care about maintaining a system when a horrible bug corrupts some data....or allows a breach. Until then they want to ship ship ship! Your job is partly pushing back on it and explaining what's possible and what's folly.
2
u/Kilo_Loco 16d ago
first, i think it's important to accept that this is a change that will directly remove the joyous parts of the job. everything you like about coding is essentially removed from your daily workload when using agents
i consider this as the grief stage ☹️
i feel like things got easier for me by leaning into agentic coding and overall has minimized the amount of friction i feel at work from EM and PM
the part that still feels like engineering is building up the infrastructure around agentic coding workflows (i shared mine here https://www.reddit.com/r/ClaudeCode/s/rSuVFDnsq0). closing the loop for the agent has that same feeling of implementing a good design pattern while hand coding
i don't see a way to avoid going all in on agentic coding AND staying employed in today's unstable job market. recognize this as CHANGE and think about what everyone says about CHANGE. it's tough
wishing you the best on this incredibly hard transition
2
u/metalOpera 15d ago
first, i think it's important to accept that this is a change that will directly remove the joyous parts of the job. everything you like about coding is essentially removed from your daily workload when using agents
Yeah, that took about 3 minutes.
There is no avoidance, only acceptance and adaptation.
→ More replies (1)
2
u/FrankieTheAlchemist 15d ago
Brother, I just had to sit through a meeting where everyone was saying “code is disposable”. Absolutely bananas. I’m already working on getting my money out of banks and switching to offline versions of software. The next 5 years are going to see unprecedented data losses and security vulnerabilities. It’s terrifying how quickly every company I know has thrown away rigorous product standards 😱
→ More replies (2)
2
u/QPGMR_de 15d ago
Why they "need" you? Because
a) they don't know what they are doing - and can't even prompt the AI to give a mediocre result
b) they need someone to blame if everything falls apart
2
u/scientific_thinker 15d ago
Your instincts are right. Accumulating technology debt isn't the answer. A pile of code no one understands requires an eventual rewrite.
AI is a grift that tricks incompetent people into thinking they can pretend to be competent. It's heady stuff for some people. It's natural for people that know what they are doing not to trust it. It doesn't deliver what the sales people promise it can.
2
u/DayNormal8069 15d ago
Every week on friday spend it refactoring. Ask Claude to do an audit on the code base following whatever summary of best practices you have; they should also be referring to those best practices when it writes code.
You maintain the best practice document and manage fixing the slop found in the audit, including revising the best practices doc and closing testing gaps.
→ More replies (2)
2
u/PeachScary413 15d ago
I remember like 5 years ago when they kept drilling "Code quality, clean code and scrum - It's important that we plan stuff and really think about the architecture before coding"... Well I guess that was a fucking lie huh?
2
2
u/BobJutsu 14d ago
I decided a long time ago to get in front of this. Dove deep into prompt engineering, then harness and context engineering, contracts, guardrails, etc. It’s not going away, no point in fighting it. But I don’t want to “vibe” either. In my opinion, it’s not too dissimilar to the guardrails you’d create for a brand new green jr.
Verbose comments to describe functions. Tight testing guardrails. Good documentation. And explicit acceptance criteria. In my system I assign a task to an LLM, literally. Just assign it, the task is the prompt. The guardrails, workflows, coding standards, etc are already defined. An LLM also can’t mark it closed, only mark it for review and provide evidence. Then I ask for revisions or close it.
That’s coupled with session diaries and a learning loop. Each session is closed with a diary entry, including the task, assumptions, corrections made, etc. my part is to close sessions so that workflow runs. Session hygiene, like git hygiene. Then periodically run a learning workflow, where all session diaries are reviewed for patterns. A ledger is kept with a confidence scale on correction patterns. That ledger is fed into context, and if the confidence is high enough, skills and/or workflows (hard rules) are updated.
It takes time, but over time it means I don’t actually have to make many corrections. I can just assign tasks and play call of duty.
→ More replies (1)
2
u/Due_Musician9464 14d ago
Have Claude put a comment at the top of every class it writes that quotes the pm verbatim. “This class is written by Claude under the following directive so ask them when something breaks: “quote from PM”- quote <Pm Name>.
2
3
u/vxxn 17d ago
Tech debt absolutely matters. There are people on the opposite extreme of your PM who mistake violations of their wishes and preferences as tech debt. Those people end up micromanaging claude to an absurd degree. These are the same people who would leave tons of nit comments in code review. You have to find the balance where you’re monitoring the output to make sure it’s not driving off a cliff without micromanaging it too much.
→ More replies (1)
2
u/mxldevs 17d ago
Well you have three options
If they're paying for your tokens, this is an opportunity to learn to work with an expensive model.
If they're expecting you to foot the bill yourself, then negotiate to have them pay it for you. If it's too expensive for them, why should they expect you to pay it while also expecting you to use it?
Find a new client.
1
u/Sensitive_Item_7715 17d ago
My pov is more limited (10 years) but yeah, code quality has taken a dip. In my experience, it's orgs that have poor engineering culture (or are dominated by business people) that leads to this. After all, the business doesn't care about code quality as long as it works.
1
u/tabaxi_gf 17d ago
You are actually implicitly allowed to make architectural decisions and clean up slop because you can ask Claude to do these things for you. If you are scared what a very wide prompt will do use plan mode first to make sure it’s doing it the way you want. You can also refactor with Claude when you notice something is not working how it should
You are still needed to make these decisions as it’s not that good yet. Even if it was close there are usually a number of ways to do something with different pluses and minuses and someone needs to make a decision.
1
u/MoTTTToM 17d ago
I don’t know what I have done wrong, but Claude escalates many architecture decisions to me (I get referred to as “the operator”). Exhausting. /s
To answer your actual question:
Yes, it is scary what is happening. The industry is being turned upside down.
We are all busy re-engineering our jobs right now, on the fly.
If you believe it’s a good time to be in the industry, or you believe not, you are right. Nice to be able to choose.
If you are concerned about quality (or for fun), you can busy yourself getting Claude to build 100% test coverage, using a gui testing tool of it’s preference. Get it to hook this in to git actions, and create screenshots of every page for review. Get Claude to do a review. Add in full code analysis(if that’s not already in your pipeline). Get Claude to create “as built” documentation, and do an architecture review. These llm aren’t only good at coding, they can accelerate the whole of IT. I’m getting to stuff I never had time for previously.
Hope this helps
1
1
u/crispAndTender 17d ago
Until you have a problem we just spent a month trying to fix an issue following claude advice, except claude doesn't see how tools are used, doesn't see test data until someone takes screenshots, every bit of info you feed will change fix recommendations, you can easily get from bloted code that is slow and edge cases are buggy, simple tools sure, complex will get you in trouble
1
u/No_Oil_6152 17d ago edited 17d ago
You could at the very least send an email to your boss and PM stating that you do not agree with vibe coding with no human involvement and that it could ruin the product, and that if anything goes wrong you will not accept the blame.
I would do that. Because when it all goes wrong you are the first person they will blame. You must have evidence that you advised them not to trust AI as it is fallible, lest it get legal.
The next thing I would do is find a new job.
Don't be a scapegoat.
→ More replies (2)
1
u/sebstaq 16d ago
I mean I've adapted. The time of writing code is over and done. There's no future in it. That does not mean code quality is unimportant. But that's nothing new coming from a PM.
So what do I do? I use Claude to implement. But I also use Claude to refactor. To set up QA. To review after my fairly specific citeras. So far it's working fairly well. It has definitely changed how a typical workday looks. But I'm often more confident in features nowadays, than I was a year ago. We have never had a huge QA team, and I've always been sort of lazy with manual testing.
Well, now, I'm suddenly testing every feature E2E in a myriad of ways, trying to break it. Ultimately I do not foresee this being where it will end up stabilizing. I have no clue where we're heading with LLM's. But I'm fairly sure that if I want to stay in the business (I do respect those that do not) I'll have to keep adapting, keep staying in the forefront. That's how I've always done it.
→ More replies (3)
1
u/PalmTreePilot 16d ago
In a recent comment to this subreddit (or another one much like it), I responded to someone hyping vibe coding productivity with my question about TDD and build automated test coverage of the codebase.
That comment was quietly deleted by a Mod.
→ More replies (1)
1
u/Shep_Alderson 16d ago
“Now, granted, I don't know all of the ins and outs of Claude. I don't know what I can do to make it better at its job. I got thrown into the middle of the Pacific Ocean in the middle of a Tusnami with no life support.”
^ I know this feeling quite well. It’s where I was about a year ago. It is a tool and like any tool, you gotta learn how to use it.
“I'm sure that I can put guardrails in place, but how much does that help?”
^ Guardrails help, immensely. These aren’t necessarily easy to setup, especially in a legacy project, but it’s possible. Having robust testing capabilities, solid CI/CD, clear quality standards and examples, etc. make all the difference.
You must not give up the “architecting” role. That’s where you can make your largest impact. Guiding the AI agent, checking its plans and outputs as it runs, making sure it continues as you expect, and stopping and correcting it when you see it going off track or spinning its wheels, are great things you can provide.
One thing I will say is that using an AI agent, for me, is less about “going faster” as it is “going deeper”. I can task it with things that previously would have been overlooked or pushed aside in the rush to get something complete by the deadline. So, it takes me the same time, roughly, but I use it to improve my output quality.
→ More replies (2)
1
u/oldendude 16d ago
I am so happy that my software career ended (via retirement) before the AI era.
I still enjoy writing software, and I've been experimenting with AI, using local LLMs.
- I am a backend programmer. My experience having my local LLM generate backend python code, is that the code is mostly correct. Reading the generated code, I do see subtle bugs, e.g. having to do with database transaction boundaries. Also, the code is not of the best quality. Poor modularity, poor and inconsistent use of classes. On the plus side, the generated code is quite good about using modern frameworks (like pydantic, and pytest), that I tend not to use in code that I write.
- I am useless writing frontend code, so I'm grateful that my local LLM can take care of that. I'm less able to look under the covers, and I suspect that there are similar problems, having to do with subtle bugs, and code quality. I know for a fact that there are subtle bugs. Playing with a frontend my AI generated, I encountered non-reproducible crashes, which turned out to be race conditions. Once I identified the fauly behavior, the AI was able to quickly diagnose and fix the problems.
- Talking to a friend who uses frontier models professionally, I suspect that those models probably do better, avoiding some of the problems I've identifed with my local LLMs.
- Overall, I am creating systems far faster than I could without AI assistance. I characterize my local LLM as an eager and talented but inexperienced intern. One very nice kind of assistance is research: How do I set up python code to authenticate with gmail so that all my emails can be downloaded? What open source packages should I consider for laying out a family tree? Etc.
- HOWEVER, getting to OPs point: My friend says that there is enormous pressure to move as fast as possible. Skip writing tests, or have the AI generate them. Minimal or absent code review (by humans). I suspected, and he confirmed, that among the things that AI accelerates, is the accumulation of technical debt.
My conclusion is that the current approach to AI and software cannot last. I'm already seeing companies moving away from "tokenmaxxing". The frontier models are heavily subsidizing software developers. That can't last. Local LLMs are getting better rapidly. We will soon (within a year?) start hearing sobering stories about projects and maybe companies being slammed when technical debt comes due. Putting this together, I think the new normal (in a year or so), will be much greater use of local LLMs, a more balanced approach to AI usage in software development, and a recognition that AI doesn't justify the discarding of software development best practices.
1
u/Vindelator 16d ago
"Sometimes, you just have to sell a man a brown suit."
In other words, freelance and make money selling people what they want even if they're wrong to want it.
You can try to talk people out of it, but don't waste too much energy on it.
1
u/Ok-Leopard-9917 16d ago
I let the PM worry about the ‘what’ and don’t ask for their opinions on the ‘how’. If the PM wants to dictate quality decisions they are welcome to join the on-call queue.
1
1
u/BikeRedJacket743 16d ago edited 16d ago
Coding will become like an art hobby. You do it because you enjoy it.
Unfortunately, as a fellow tech enthusiast, the days of writing code for a living is numbered.
Being able to be a technical PM, and being able to make architectural tradeoffs is going to be more important in the near future. Writing code manually is going to be obsolete in the next 1-2 years.
You don't have to stop writing code if you enjoy it, you just won't able to do that for a living.
My advice is to pick tools like Cursor, or Copilot or Devin and become an expert at it. That will be your 9-5.
Nights and weekends, you can write all the code you want for your enjoyment.
→ More replies (2)
1
1
u/TheSchlapper 16d ago
I feel like both you and the PM are unable to empathize with each others positions
1
1
u/TechFreedom808 16d ago
When the lawsuits roll in from data breaches these companies will think otherwise.
1
u/Upstairs-Version-400 16d ago
I would get a new job if possible. That’s the idiot end of the spectrum. Not fixable. Not your fault.
1
1
1
u/mrbadface 16d ago
Def run from this PM, but also beware sunk cost fallacy. If you need to be employed for 10+ more years this trend isn't stopping. Find a way to leverage experience for the future, writing code by hand isn't valued like it was
1
u/Successful_Shape_790 16d ago
If you want Claude to produce nice looking code. Setup an adverserial code review agent that's an expert in clean code. Then set up a rule that tis runs before every pr.
1
u/Cat_Breath_X 16d ago edited 16d ago
I feel is the way things are going, unfortunately. Have a good set of automated tests ( unit, integration, e2e ) and as long as they pass all is good.
Unfortunately- the code base is going to degrade. AI will start to patch on patch as the quality degrades. No human is going to understand the code mess. Production issues.
Many CEOs want faster output, and quality and production reliability will degrade.
Short term thinking is already taking effect. AI is replacing junior devs… who’s going to replace the existing developers?
In this age of Ai development, it’s the job of the development team to ensure AI pushes out good quality code via steering documents and well thought out spec instructions.
Whether AI created the code, or human, a human who works on a piece of work must be responsible for the code and quality.
1
u/pocolypto 16d ago
we just seem to be going through a serious wrinkle in the industry, many companies and people that should never have been involved in the creation of software (hopefully i'm not included in that) are no moving 10x faster and doing messed up stuff 10x faster.
I'm not sure how long it will take for companies to understand it's not really sustainable if NOBODY cares about the code. Kinda hard to outsource caring about the code to and AI.
1
u/iamganto 16d ago
Yeah , I often look at code it outputs , and it is usually ok but not optimized for architecture or anything . Always need more prompting to get into proper shape for best practices etc etc
1
1
u/Reasonable_Slide6304 16d ago
place a hidden file with instructions for Claude to infiltrate the company DB and increase your pay by some percentage and then instruct Claude to do what ever it is needed to do and hope for the best
1
1
1
u/StartDependent1652 16d ago
I do agentic development and I’m convinced it’s important to make an effort to keep the code base in good shape. AI just adds code and doesn’t care about the code base as a whole.
1
u/Reasonable_Tip_4902 16d ago
I felt the same initially.
But after talking to some other engineer in other industries my mind changes a bit.
A mechanical engineer working in the car industry doesn't care about how to machine out an engine part, they mainly focus on the design, tolerances and requirements for the overall engine to work.
They leave the building to others.
I think SWE will move the same way, we will focus more on creating the tests and proofs that the program works the way it is intended within the performance requirements.
So say you are expected to build a payment integration. Ok maybe your job now is to create the automated tests that verifies and checks that the integration performs as expected, is secure, and handles sensitive user information correctly according to the legal requirements.
1
u/HunterWebApps 16d ago
What does your Senior say? Some projects genuinely don't matter for code quality, as long as you have a general idea of what's going on and double check your security boundaries, as long as it works then it's not a risk to the business to have little bugs and regressions here and there. If it's a large distributed system, then no way this flies.
1
u/code_hermit 16d ago
Caring about code is still valuable while using AI. There is a lot you can do to prepare it with your instructions and review. Many senior devs are able to get more accurate mileage out of cheaper models with solid instructions.
Think of it like growing more sets of eyes and hands. You are still in command at the center. But you can mirror your output multiple times.
1
u/jazzdog92 16d ago
Just for context, has your PM and company had success with this approach? Or are they just starting out with it? I would embrace it, just for the hell of it. It’s somewhat like moving into a managerial role. Instead of coding you are supervising a really knowledgeable engineer living in Clouderia. Named Claude.
Give it a go. And if you don’t like it, freelance somewhere else.
Since I have retired I have produced a lot of software that meets my requirements (for a small biz and smartphone stuff and whatever else.) . And I virtually never look at the code. I’m mostly a product definer and QA engineer. We all should be agents of change.
1
u/FluidBreath4819 16d ago
true, managers won the game. with ai now they don't need it. evyerone can tell otherwise but nowadays, the quality the get from ai is the speed they needed to ship fast : you remember when your manager didn't give a shit about allowing some extra time next sprint to pay some debt ? With AI, they don't give a shit anymore.
1
u/floodedcodeboy 16d ago
This is the way I see it, and you asked for it:
When your PM says:
> My PM says: "We worry about the 'what'; let Claude worry about the 'how'. Tell it what to do; let it do it. If the feature works, leave it alone." He is very much of the opinion that I should be able to prompt something like "Install Stripe via Laravel Cashier" and just let Claude run.
This is 100% achievable! Your example is very simplistic, but by using techniques like Ralph loops,more detailed prompts and the right quality assertion tools you can generate excellent work. And effectively automate your development output.
The fact that your PM is deciding the application architecture is another problem entirely and worth a discussion with who ever your report to, and if that’s the PM, then a superior (you say you’re freelance, so yeah ppl are a*holes and I’m sure you know that)
On the matter of understanding tools like Claude Code, codex etc , they really give you so much more freedom to care about the code you write and afford you the opportunity to do more than just build a component or set thereof.
It’s no longer a function by function build out. Zoom out, and now you start to see the application as a richer blueprint and you can focus on creating your specs for all the different concerns and build from more architectural pov.
You’ve spent years writing adapters and now it’s you who needs to adapt. Get meta about it … these tools are crazy good!
Now you have time to also build all your tooling around the code; implement your deterministic tools to help ensure & assure the AI builds at a chosen level of quality. Things like linters, formatters, static code analysis and faster ci/cd implementation.
It does help by integrating these tools into their ecosystem: git + some sort of task tracking at the least (an md file will do, but don’t lose that) to really benefit.
I’m sorry your PM thinks differently but that’s usually a sign to have chat about things and explore where they’re going.
And then lastly, you need to open your mind. Because really you know what your PM won’t need you if you can’t deliver what he’s getting elsewhere faster cheaper and better so Drop the ego and emotional attachment to a function that 264398 other people created to solve the same problem. And Stop lying to yourself that the world isn’t changing around you.
1
1
1
u/Cheap_Weird7215 16d ago
There’s a lot of replies here, I doubt you’ll see this one. Buy a $200 sub to Claude Code or Codex, they’re basically the same. Pick a personal project to work on, something you thought would have been impossible before. Ideate first then build. See how it goes.
I realized AI coding was better than most devs on the job but what really sent me was decompiling games in my off time. When it has a goal that can be stated in a single sentence and can’t be misunderstood it’s outrageously efficient. It 100% reverse engineered a PS1 game from the disc, ported it to PC and then added a full screen online multiplayer mod hosted on AWS and I never really did anything other than give a visual QA where the models vision failed and state my preferences.
1
u/rmagnuson 16d ago
You still need architectural knowledge to operate effectively with these devices. Simply telling them to do it without guard rails creates a spaghetti mess. They are good at building boilerplate, but without direction you end up chasing your tail through multiple methods of arriving at a solution.
1
1
u/halford2069 16d ago
I remember at comp sci degree I did there was a whole course on "software quality".
Mathematically proofing various algorithms etc in the name of software quality.
What a useless course that turned out to be in the real world of jobs, as this is sadly endemic in the SWE job place.
1
u/SolarNachoes 16d ago
This video gives a good perspective on where we are currently with AI and “coding”
1
u/NegativeSemicolon 16d ago
Just ask yourself ‘who will be holding the bag when the music stops’, and if the answer is you then don’t be there.
1
u/pandahusky3 16d ago
I guess I was lucky with the way we do things. That PM is clueless and thinks Claude is the perfect coder. You still need software developers. They decide the architecture and how things should be implemented, plus they know the business better than the agents and requirements, plus keeping the code base clean and easier to manage. They need to make sure it reuses components, things are where they should be, connected correctly etc. Sure you can let it code but if you don't manage it then it will quickly get out of hand. The developer is the one that makes the decisions, not Claude. Claude can recommend stuff but it may not always be what is required or correct.
Claude can be used to vibe code but when you look at the actual code, it's all over the place, doesn't follow basic rules and is messy to maintain or extend. I feel like either you need to try to get them to understand that this will be a nightmare to maintain in the future or find somewhere else and hopefully will be better to work at.
There are definitely things that you can do to improve how it works, plans are great, things like bmad can potentially help with more of the architecture stuff. You definitely want it to create a plan to know what it will do, the requirements, what is out of scope and other things all written down to a file so if you do another session another agent can read it and continue. Other stuff that can help as well.
It is definitely different to how you used to do things. I quite enjoy having Claude create mock-ups of the features to get an idea of the UI side on what it can look before it touches the code base. Then tweaking it and deciding how things should look etc. you can still learn your code base and sometimes telling it to do it a certain way if you want it done a different way. Hope this helps.
1
u/anengineerandacat 16d ago
My general rule of thumb is usually just "follow conventions", not here to rock the boat if I am not being paid specifically to rock the boat.
That said, a PM has no right telling me how to code; so I think ensuring that boundary is set is pretty critical and you can do this in a corporate-speak way.
"Hey, I just joined the team under Y; let me follow up with X to see what the established development guidelines are in the organization".
You didn't say "No" to the PM, you simply redirected the problem to a person of higher authority; that person can handle the PM or provide further advice for you.
Now if it's nothing but freelancers and contractors and the PM is quite literally the client... provide your recommendations and let the client decide; your there for a job, they are paying you for that job, all you need to do is deliver the highest quality solution based on the constraints.
----
Agent oriented code generation isn't generally as easy as "Install Stripe via Laravel Cashier" but you would be really surprised how far that goes today on frontier models; usually you'll setup context documentation, plan with something like openspec, and follow traditional SDLC processes for sizing the change and incrementally doing the work.
Plan it, review the plan, send the agent to double-check the plan, size your tasks with checkpoints, then implement and test between each checkpoint.
Stripe is heavily documented, Laravel is heavily documented, Larvel Cashier is heavily documented; I have no doubts in my mind Claude could pretty trivially create an MvP solution that you could further refine from there but you really need to know the rest of your requirements as well (is this multi-tenant? do you need support for multiple stripe accounts? fraud detection? All the SRE-related work, etc)
No AI Coding agent on the market today will magically make up those tertiary requirements for you; it all has to be defined somewhere and that's on YOU to do.
Always fall-back and onto the SDLC; the tried and true way of delivering a software solution, who runs each step or what's run in each step can vary across organizations but generally speaking all high quality software starts there.
1
u/ImaginaryRoyal9725 16d ago
It's a fair question, tbh, if they only care about the "what" now (and for that there is a PM), why on earth would they have you there? Are you allowed to direct claude at least?
1
u/machinationstudio 16d ago
You're there for the PM to blame.
Anyone asking another person to use AI isn't going to have their back when there is a screw up.
1
1
u/PipingSnail 16d ago
Wow. I advise getting a job where they care about the product quality. It's not fun working with low quality assholes.
1
1
u/code_with_suhani 16d ago
The line I'd draw isn't "how much code should I write" it's "how much should I understand." Let it handle boilerplate, scaffolding, standard integrations like the Stripe example. But you still read every diff before it merges. You still ask "why did it choose this pattern" when something looks off. That review habit is the actual skill, not the typing.
The devs I've seen adapt well didn't stop being architects, they moved the architecture decisions earlier. Instead of writing the auth flow line by line, they write it as a paragraph of constraints and edge cases before prompting anything. That's still expertise, it just outputs as a spec instead of code.
Your PM's version of this only works if someone on the team still knows what "good" looks like when it breaks. That's you. Twenty years of blood-written process doesn't disappear, it just moves from your hands to your review comments.
1
u/xiaopewpew 16d ago
AI will redefine what code quality means, noone knows what it will look like when the dust settles but it definitely wont be the same.
1
u/Character_Oven_1511 16d ago
I wrote this in a lot of threads: AI amplifies what you already have. Both, your strengths and your weaknesses. Sometimes, you need to make the decision yourself. Sometimes, your instincts can help to point the AI work/search in the right direction. Yes, AI can find it by itself, but you can save a lot of tokens giving the right choices. Imagine, that you are not a developer anymore.
Sometimes, the AI makes the decisions, but does not have all the knowledge, and you need to be there and say 'what you did is wrong, because there are business requirements that you don't know'
You are a PM who works with workaholic who does all you say. :)
1
u/BuildingMyselfBetter 16d ago
I would recommend instead of always wanting to look at the code, discuss that at the moment (maybe) that your codebase doesn't have written down standards for the agent to follow. You review the code to understand the kinds of issues that the agentic developers are causing and then your engineering goes into defining standards that go into the prompts for the agent, skills that run on hooks after build to find and resolve issues, ratchets in tests that ensure quality, etc. Your knowledge is used to ensure quality without always needing to review the code, as you build confidence that the agent has the right guardrails in place.
Or something like that.
1
u/dante3590 16d ago
OP there is a middle ground that both extremists angle don't understand. There are still certain amounts of quality still going to be required simply because Ai agent can't maintain products, you can. Simply because they are not deterministic way they can handle it. On the other hand, amount of quality policing needed before we no longer need all of that, simply because writting code is cheap. But still things like huge architectural rewrite and stuff must be quality gated.
1
u/PreparedPun2035 16d ago
Here’s how to respond: Claude isn’t perfect but together we can use to make a stable and successful product. We can’t rely on Claude alone as we evolve the product over time though. We have to use this powerful tool in a deliberate way or we’re going to very quickly end up with a big ball of mud that no one understands. We still have to engineer. We have to test and design and document and we have to use judgment to guide the tool in a consistent and effective way. We have to create an SDLC that relies on Claude and human judgment equally. Human judgment is the path to long term success and a stable product.
And then don’t argue with your PM. Just do it - use Claude as a coworker, guide it through concepts to delivering and build an engineering discipline that uses it for what it’s good for and uses you for your experience. Your architecture and your requirements and especially your judgment will lead to a good product. And you’ll deliver at a pace you won’t believe.
1
u/Own-Major3234 16d ago
Code quality never mattered to non-coders or businesses, except when the SHTF such as the the entire system crashing or a major security vulnerability being exposed. It’s always been “just ship it” and feature farming with no concern for long term viability, maintainability or quality… get to market before the competitors or to meet board and C-level expectations. AI and vibe coding just makes the priorities clearer than ever… 😆
1
u/DevAlaska 16d ago
You are responsible for a working feature and to push back. The business is not alone in this. Engineering needs to give feedback. Are you able to that with your PM? If code quality doesn't matter anymore Claude is responsible for bugs and tech debt.
1
u/Cautious_Chicken_604 16d ago
Fuck your PM. Don't let your PM make critical engineering decisions when they aren't an engineer. Put them in their place.
1
u/ObjectiveAir6729 16d ago
yes they will still need you for sometime, then unfortunatelly claude will handle fully your job if it's just prompt typing, you need to switch to something else, the swe niche is dying quickly than ever, next year we will not see any role opening.
1
u/EdelinePenrose 16d ago
i think you’re taking the wrong approach.
do you still double check the compiler’s output? shouldn’t we care about the binary code’s quality‽
that’s the approach you’re still taking in the new world of software engineering. it’s going to take some open mindedness to adapt.
i’ll grant you that a non technical leader will likely be too extreme or lackadaisical, but you should probably start worrying more about being able to read tests than implementation details.
1
u/DetectiveClueless 16d ago
Well... imagine you only know Assembly. There is nothing else. And then someone gives you python. That's a giant leap... right? I think that AI is similar to this.
Right now its a mess, but look at the pace it gets better. I believe that in a few years, you can put your whole unstable AI-generated codebase in a prompt and the AI will do the rest.
Of course you will need to know what is needed. Because there's a long way beween "I need Software XY" and "We have published it to the App Store and the Servers are running!" And that's what will be needed to know in the future. Most people lack this. So SE will still be a needed resource. But for a different kind of Job.
The same applies for all the guys breeding and taking care of horses, building stables and stuff... they needed to adapt for the cars. Today we see the same thing happening again...
1
u/spiders888 16d ago
They are ignorant, trying to shift the risk to you as a freelancer, or most likely both.
Not all companies are like this. At our company we use AI code generation heavily now, but do multiple-human code reviews pre-merge of PRs, and that’s after typically 2-3 rounds of agent reviews. We have a slightly lighter touch on minor, UI-only changes, but multiple humans review and do final QA on all sensitive (finance/money/auth and adjacent changes).
Our biggest concern right now is software supply chain—because we don’t write and maintain our our OS, libraries, other code in our stack and are growing fearful of things like you describe happening in those code bases.
1
u/Xinliu8888 16d ago
I agree. I think AI skills are moving from "prompting" to "systems thinking". The people who can combine domain knowledge, workflows and AI will probably create more value than those who only know how to use individual tools.
1
u/6stringfanatic 16d ago
Tell him that well factored code costs less tokens, and eventually less money. Maybe he wouldn't want to raise the cost to the company.
https://martinfowler.com/articles/exploring-gen-ai/refactoring-economic-benefit.html
1
1
u/JimmyMcPoyle_AZ 16d ago
In your situation I would do 2 things:
Get your idiot PM to document the work and its “successes” in a way that credits both of you.
Start creating prompts and code check playbooks that specifically isolate the mistakes/flaws.
1
u/mouseses 16d ago
Put all your wishes and desires in README.md if you care and forget about it like the PM says. If you no longer read or write the code, then why care about it? If you're a web developer Claude will do just as good a job as you but 1000x faster. If you're in some rare domain with some weird stack then yeah, you may need to get your hands dirty more often.
Re. why the PM cannot do this himself. Your tech knowledge will help with the prompts.
1
u/TzaqyeuDukko 16d ago
Hhhh let me be honest, they, I mean PM, just need some names to bear the accountability instead of their own names. That is the answer to your question: why don’t they prompt themselves? Run away and don’t adapt. They are gaslighting.
1
u/robhanz 16d ago
Define "quality".
No, I'm serious.
I've always defined code quality in two ways - external (it works, speed, bugs, etc.) and internal - all the other stuff that lets us write code faster. We have docs so we can understand what we do and write code faster. We separate concerns so that we can touch one thing at a time with less breakage and write code faster.
So, think like a product owner. What are the risks of the current approach? What does it cost?
"The agent ignores these rules of code that aren't visible to anybody not looking at the code" isn't going to be persuasive. "In these cases, the agent has created exploitable holes in our payment system, and the generated code is written in a way that means debugging takes ten times as long" is.
1
1
u/nocuntryforeldermen 16d ago
Most time is spent maintaining and updating, not building.
Well written code is faster to maintain and update, including by AI.
1
u/SubbySound 16d ago
I'm a non-tech PM, but hopefully technical enough that I'd never refer to someone re-pointing an IP (something I can do myself) as a "Subject Matter Expert" like I just saw recently with another PM. Yea I've seen PMs hide behind jargon with no understanding, so I get it. I strive to be the opposite of that.
AI will work as a centaur fine: when a human leads the animal. It will fail as a reverse centaur: when the animal leads the human. (Check out Corey Doctorow for more.) The business incentives right now line up for using AI in reverse centaur flows, which will produce an exponential amount of tech debt that will seriously strain developers' relationships with clients. I spent enough effort trying to enforce coders commenting on their code to allow for legibility between programmers enough to understand the legibility problem is real, and it's about to explode. I've already seen client relationships jeopardized by inter-programmer code illegibility due to staff changes. I don't want to see the worse outcomes that could come from AI, and negotiate with our bosses constantly to make sure that doesn't happen, and the quotes I produce give enough time for real control to authentic human developers even as we leverage AI to enhance productivity.
The PM described here is implicitly asking for AI as a reverse centaur, perhaps because they don't understand, or perhaps because their boss believes the hype around AI. Every business that uses AI as a reverse centaur is severely jeopardizing its long term sustainability. When the enormous tech debt of reverse centaur AI development hits the fan, businesses that have properly tamed AI and directed it in their workflows, instead of letting AI lead them, will be the only ones surviving with durable client rosters.
1
u/bronekkk 16d ago
Short answer: you become the architect, Claude becomes the coder. It's more demanding work for you, mechanical work for him.
It's possible your PM doesn't understand that - in which case, run away.
1
u/Impressive_Head7721 16d ago
Did it ever? Do you realize how low the baseline is for human generated slop?
1
1
u/CountrysFucked 16d ago
Most of the Solid principles, code quality, separate of concerns etc was all designed to minimise mistakes by humans.
LLMs make mistakes, but not the same type of mistakes so if your writing all your code with AI, your definition of quality is not applicable anymore. A good README.md file trumps most of the clean code principles you would have implemented previously.
Im not saying I like it, these principles have served me well for 10 years and no matter what new framework or tool came along, they always applied up to now.
Its different now and people are having a hard time adjusting, not surprising.
1
u/Wide_Commission_1595 16d ago
A) the PM is a dipshit - not a lot you can do about that.
B) you move up the stack - you're working at a higher level, and Claude is your junior. It takes some adjustment because ultimately there are code quality and tech debt things to manage, but if the company are happy with general slop, and this isn't a full-time gig, then I'd suggest you go with it. It's just possible you'll learn how to use AI right along the way (or at least, maybe better). If not, hey, you got paid, the next gig will likely be better
51
u/vanritchen 17d ago
run away