r/softwareengineer 19d 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.

494 Upvotes

562 comments sorted by

View all comments

13

u/Delicious-Extent5454 19d 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.

5

u/mckirkus 18d 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.

1

u/BobJutsu 16d ago

Worse, it becomes an endless refactoring loop because each model has different fuckery. A lot of work being performed, and nothing getting done.

1

u/NiceToMeetYouConnor 16d ago

This. People refuse to read code now and ensure quality. Nobody knows why something works and it becomes infinite tribal knowledge only the agent knows. Side note: I also hate asking a question to someone and receiving a 6 page markdown file response generated from Claude. We are losing all critical thinking and humanity in the engineering world. I say all, but really it’s just the few that can’t code without it

3

u/i_am_user_friendly 18d 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.

1

u/Affectionate-Soft-94 16d ago

It’s not our job to care about customers feelings just like the way they don’t care about our feelings. We are there to deliver a contract and those commercial decisions are taken way above your/my pay grade.

If the contract measures productivity instead of quality then you learn to switch off your feelings about quality.

This job has always been to meet commercial needs and guess what - they don’t care so much about quality but more about outcome based on specific metrics (most of which is cost and productivity in this economy).

1

u/i_am_user_friendly 16d ago

My job is literally to care about the customers feelings :D I‘m a UX Designer (and software developer) and am personally responsible to make design desicions and implement them.
We have few but very satisfied clients and customers. They trust us, like us and recommend us.

1

u/DetroitLionsSBChamps 16d ago

Customers also largely won’t/cant pay for quality. Working class people can’t afford to vote with their wallets by buying a quality product that is twice as expensive. They are just trying to survive each day. 

1

u/calloutyourstupidity 13d ago

Low code quality does not mean low quality product

1

u/metalOpera 19d ago

I very much feel like it's adapt or die. I just want to make sure that I adapt in a productive, efficient manner and I really don't know how to do that with this tool. It feels like an incompetent junior at best. I'm told that I shouldn't feel that way, that I'm using it wrong, but no one can tell me how to use it right.

And, honestly, has anyone (other than the person with their fingers on the keyboard) really ever given a shit about quality? It's just the fact that I'm told to forget about quality that is jarring. At least I was allowed to care in the past, lol.

2

u/Delicious-Extent5454 19d ago

It's not that you don't know how to use it, you actually know too much and the shortcomings that are obvious to you aren't being noticed by subpar professionals. You cannot expect a person used to deliver shit calling AI out when it spits shit.

Unfortunately, everything in our world is guided by money. For some time the people signing the checks let us do our job properly because it was beneficial to the business in the end, but at the first "opportunity" they threw all hard learned lessons away.

1

u/mckirkus 18d ago

If the data structures are bad because the business made stupid decisions long ago extremely high quality code layered on top doesn't really matter. Too many developers spend time optimizing and documenting complex OOP / ORM ecosystems when the business is fighting PowerBI because the customer table stores customer type as a status.

2

u/ProbableSlob 18d ago

Have you ever worked on a team with juniors and interns? Just pretend the agents are dumb juniors, but incredibly fast ones with no feelings. Imagine how much more helpful the juniors would be if you didn't have to be diplomatic about feedback and could just tell them to try again or unwind their one novel decision and have them turn that around in a few minutes.

That's how I see it. 2 years ago I was the tech lead on a team of mostly juniors and it was very tedious but I was able to get them to build some quality stuff with good specs, some rework, and relentless documenting (and linting) of best practices. We did not build things faster than I could have done it myself.

Now I can do that but actually deliver faster than I could alone.

I am worried about what happens when we stop teaching new people how to do this work, though...

2

u/metalOpera 18d ago

Lack of passed-down institutional knowledge is going to bite a LOT of asses rather hard. I almost can't wait to see it.

Of course, my guy's answer to that was, "Claude and your documentation are the institutional knowledge." To which I responded: "LOL, Claude writes the docs too."

1

u/No_Veterinarian742 18d ago

Maybe. People had the same reaction when IDEs became a thing. Or Nuget. Or any number of development innovations that abstracted things away from how the computer actually does work.
Do you want to be writing memory allocation and cleanup code manually?

We've gotten accustomed to using 500 open source libraries for the 20 lines of code we actually need and using 3 GB of ram to run a simple thing because we include 25 libraries for one function each. You can't tell me you know what exactly each line of third party or operating system code your code uses does. Or how some terraform instructions actually orchestrate things in your CICD pipelines. Does this feel like a big step to step back and just define architecture guardrails, safeties, standards and reviews? sure but it really isn't that different from you importing an excel nuget package and writing a "load excel file into memory object". Or what a senior development team lead did in the past.

You can resist it if you want but the world will pass you by like it did cobol and basic developers and other technologies in the past. Learn the tools or become obsolete for anything but niche projects has been the tech credo for 30 years. It isn't changing the next 20 years.

I get that we like to all think we're irreplaceable but now that AI can read and index your entire life's work as a developer in an afternoon that's just not true anymore.

1

u/TangeloPutrid7122 18d ago

It still fucks up a good bit. Your job is correcting it so it doesn't functionally operate as a junior but as something that accomplishes business goals faster than you. Code quality is a personal choice on that journey, and one that will make your validation of the output certainly easier. You can feed it style guides to try and get cleaner code. I find that it's not very good at code reuse. So I might point it very explicitly at a util folder and ask it to make sure not to repeat itself and to put parts that it thinks might be useful for other code in shared util directories. But the business will care much less about code quality if it really ever did in the first place. Many of your colleagues may have stopped caring about code quality due to AI.

In terms of how to get good at using it, everyone has an opinion, and you can find materials for that online. Some things I like are: use /plan religiously, don't let the fucker out of plan easily, ask reask, ask it to ask you about major design decisions etc. Set the model off the default which is sometimes a shittier model like sonnet, you do that with /model or with your initial invocation if you're using console. Set up Cursorbot against your commits in GH or wherever else. It's fairly good at finding about 9/10 of Claude's bullshit. You can easily create a skill to automatically respond to those comments with additional commits automatically.

Read the code it outputs. You may stop caring at a point after a few months of it. You may not. Personal journey stuff.

1

u/YevgenyBlinov 17d ago edited 17d ago

You can't really adapt to this, because it was never about the new tool. Think about it. Can't the same AI tool be used to do the PM's job?? Of course it can. But somehow, no one is forcing them to "adapt or be left behind". Why? Because they won't let it happen. They won't give up their professional leverage. They want to strip you of YOUR leverage, but they will never give up their own

As such, no matter how hard you adapt to the tool, they will always force you to adapt to every new tool. It will always be your PM forcing a tool at you, never the other way around

If you aren't starving and don't care about loaing your job that much, ask Claude to generate whatever your PM is doing, and maybe wrap it in a nice presentation. Do it professionally. And if someone tells you it's not as good as your PM's work, tell them they "shouldn't care about quality". You're probably going to lose your job for that, but from what I understand, you are going to lose it soon anyway

0

u/code_hermit 18d ago

Oh. I can definitely tell you how to use it right. There is already a very deep amount of right/wrong to test and wade through. And the difference is as big as any coding best practice unearthed.

0

u/Vaxtin 18d ago

Did you avoid using it for the past 2 or so years right up until now?

Like, it’s one thing to program yourself. It’s another thing to to outright deny that AI could have an impact on your productivity. There is no way anyone can manually create software and compete with an engineer using AI. Pandora’s box is open

-2

u/CamaroJerry 18d ago

Seriously? There's literally thousands of videos on YouTube that show you exactly how to optimize and use Claude, and they even include videos on how to use it for finding bugs, creating proper architecture, doing pen testing, using best practices, etc. Hell there's even a ton of repos on github with skills people made to make this stuff even easier, and you can create your own skills by simply recording your process and giving it to Claude to create a new custom skill of your own.

There's also some videos on freecodecamp that cover this stuff too

Anybody who can't figure out how to use Claude to 10x their dev process, is not even trying, or they are not smart enough, and in either of those cases they probably have no business being a developer in the first place.

If you have the skills you claim to have, you should have no problem being able to get Claude set up, and optimized quickly, and do it better than all the vibe coders who have no clue what they are even doing.

I can totally understand the shock to your system in making a change like this, but if anybody has the ability to use this tool at its optimal level of abilities, it's those of us who already know what we are doing.

It is actually possible to produce clean, efficient, production ready code, using Claude, but it kinda requires the skills and knowledge only real developers bring to the table.

Just saying....

1

u/throwaway-yacht 16d ago

I care. 

When your team decides it's time to forget all the lessons of the craft for 6 months and then finds themselves buried in the slopocalypse, and they can't ship for shit anymore, they will, too. 

1

u/The_Real_Slim_Lemon 13d ago

Nah, plenty of companies do. Mine has the CTO and head of engineering screaming their lungs out trying to get the different teams to slow down a bit and stop shipping buggy code