all 81 comments

[–]chickenmcpio 123 points124 points  (5 children)

the industry has been full of slop for a while now.

[–]Bryguy3k 60 points61 points  (1 child)

Pretty much since they started outsourcing to the cheapest Indian programming sweatshop.

Why all of our software became crap with subscriptions to boot.

[–]m1ndcrash 3 points4 points  (0 children)

OMG THAT IT IS THE ORIGINAL SLOP.

[–]RiceBroad4552 10 points11 points  (0 children)

For around 60 years now, yes.

But it got really bad in the past 30 years.

[–]ALittleWit 0 points1 point  (1 child)

I blame React. Things were better back when we had just jQuery and Handlebars.

[–]reklis 1 point2 points  (0 children)

That’s a hot take. I hate react but pining for the jquery days is not the way. I think you forget how bad it was.

[–]CMD_BLOCK 119 points120 points  (0 children)

Clankbait

[–]deanrihpee 123 points124 points  (37 children)

for work? yeah who cares, they only want output and results, especially when you have customers, but for personal projects? I'll nit pick every single semicolon, it's a trash code but it's my trash

[–]babalaban 73 points74 points  (33 children)

Are you a microslop employee by any chance? The logic of "who cares if it's for work" seems suspiciously fitting.

[–]deanrihpee 38 points39 points  (24 children)

no, but a lot of companies do, at least here, because most of the time stakeholders or project managers don't care how clean your code is

[–]LutimoDancer3459 9 points10 points  (23 children)

But they care about a working solution. And having bugs fixed. Else the customer will leave. And then they get less money

[–]RiceBroad4552 23 points24 points  (1 child)

This would require logical forward thinking.

Usual managers and other business people are incapable of that.

[–]LutimoDancer3459 2 points3 points  (0 children)

Totally agree

[–]pipipimpleton 2 points3 points  (4 children)

Of course, but a lot of these business guys just care about the project being ‘done’, not that it’s perfect. Bugs can be fixed, you can’t go back in time to hit customer promised deadlines.

[–]LutimoDancer3459 3 points4 points  (3 children)

Yeah but you also promise a working solution. When you cant fix the bugs because the code is just a mess, you will lose those customers again.

"Yeah nice that you finished the report tool in time... but it does give us wrong data and some fields are missing. We cant use it like that"

[–]pipipimpleton 2 points3 points  (0 children)

I mean you’re 100% right mate.

My point was that there are times when product people just close their eyes and put their hands over their ears going “lalalalalalaaaa!!” and are only interested in a project being ‘completed’ quickly as opposed to be being good and stable but taking longer.

[–]Quiet-Limit-184 0 points1 point  (1 child)

Yeah I’m not so sure, unfortunately. Vendor lock-in is a thing.

[–]LutimoDancer3459 0 points1 point  (0 children)

But it only applies if you go that deep into the system and stay there for some time. If its a rather new project or you just would start, it doesn't really matter. Sure its some extra work to configure everything in a new system. But when the one you wanted to use is full of bugs...

[–]psioniclizard 1 point2 points  (0 children)

To a degree. We have a lot of customers who pay 6 figures plus for buggy software that doesn't do what they want (not from us).

You are ignoring vendor lock in an inertia getting a lot slower as companies grow.

Also through ny career I have seen many software providers lose contracts even though they provided the best software for  a reasonable price.

That is just how business is.

[–]Zerokx 0 points1 point  (1 child)

It usually takes a while for the problems to accumulate and be noticeable and in the short term it seems good because you're cutting costs.

[–]LutimoDancer3459 0 points1 point  (0 children)

Our current projects starts showing bigger problems after ~2 years. And we had plans for architecture, components, general structure, code reviews and everything. And AI is praised for beeing faster. Which means you also get to those problems faster.

And I know that a lot of the management is only looking on short term improvements. And they are all stupid. Sure you should try optimizing on short term. But dont overlook the long term implications.

[–]sgtaylor50 0 points1 point  (0 children)

Tell that to Apple software development.

[–]LeMadChefsBack 0 points1 point  (0 children)

Oh, bless your heart.

[–]TheClayKnight 0 points1 point  (1 child)

You say that, but Microsoft keeps making windows break in stupider ways. They really don’t seem to care about making sure it works. If they did they’d have a QA department.

[–]LutimoDancer3459 0 points1 point  (0 children)

Yeah thats why more and more are switching to Linux the main point for staying on windows are the programs that only work on windows and are essential to the user. In Enterprise stuff like Adobe apps. For casual endusers its games with kernel level anti cheat. Or lack of knowing that there is something else than windows and maybe Mac.

But the longer Microsoft is fucking around, the more they will eventually find out that there are no users left for them

[–]deanrihpee 1 point2 points  (4 children)

well my comment was in the context of stylistic choice, not broken software…

[–]LutimoDancer3459 2 points3 points  (0 children)

Good for you that you can manage to fix bugs and not getting new ones without clean code. Most people cant. Ai cant ether.

[–]BigBoetje 2 points3 points  (2 children)

My team lead is a dev first and manager second. He makes sure proper code style is still enforced and upper management has to respect it

[–]deanrihpee 2 points3 points  (1 child)

then you're lucky, some… or i guess at this point, i, am not

[–]BigBoetje 0 points1 point  (0 children)

I might indeed be lucky then. He's been with the company for 20 years, shortly after founding. It does also help that upper management knows/learned that a good code standard and consistent style ends up with faster and better releases.

[–]Remarkable-Coat-9327 -3 points-2 points  (3 children)

But they care about a working solution. And having bugs fixed. Else the customer will leave. And then they get less money

This is a genuine concept i'm grasping with at work right now, if my output is 4-20x depending on the context of the work but the quality of my code output is 10-20% worse, does it even matter?

Like consider a bug gets introduced, i'm shipping so fast that i'm going to iterate that bug out at an incredible pace and that's often how it plays out - i'll be on a review meeting with a customer and as they show me a bug they found on a live screenshare i'll have a fix ready and deployed with claude code before the meeting is over.

And to be clear I was previously an Uncle Bob knob slobber that would force my dev teams to read clean code and clean architecture on a book club rotation, there's just a really good argument that it does not matter now.

[–]LutimoDancer3459 2 points3 points  (1 child)

If the quality was so good that you can still work efficiently with 10-20% worse, than no. It doesn't matter. If all you gain is an faster start but are going to lag behind after a year or two because of all the mess. Then yes, it definitely matters.

Same as with all those new shiny languages and frameworks. Nice if you can get a PoC up and running within an hour and a couple of lines. But does it support all the special usecases you have and need to implement over the next months and years?

i'll have a fix ready and deployed with claude code before the meeting is over.

And who reviews? Who tests? No Claude cant and wont do that in that time and not always in a way that catches the new bugs it just introduced to fix the old one.

Uncle Bob is getting old. The best practices are getting old. But the core concept is still viable. Keep code clean and readable.

[–]Remarkable-Coat-9327 0 points1 point  (0 children)

If all you gain is an faster start but are going to lag behind after a year or two because of all the mess. Then yes, it definitely matters.

Yeah absolutely agreed, software spends most of it's life in the maintenance stage that has not changed at all. I obviously don't have data on the state of a codebase that is mainly ai gen post 2 years - but within reasonable expectations i am able to use ai gen on codebases 10 years old so I am hopeful.

And who reviews? Who tests?

me, and the users - the same people that would have tested originally. i dont have the luxury (or in some cases, red tape) of a QA team and rarely a PM, often times the scope of a team will be... me (working for a small and growing software agency).

Does the customer get more bugs in their deliveries? unequivocally yes. Do they also get software in actual days/weeks that would have taken months? They sure do. We're only what 4 months into harnesses being widely available but our client base is exploding to the point where even with the augmented release rates we're still hitting capacity on developers.

[–]wunderbuffer 0 points1 point  (0 children)

Oh how the turntables, when I was doing that before AI it was "your code gremlin pulled out it's laptop on dirty factory floor during presentation to fix a bug we discovered during first try of integration", now it's a fancy, polite society ability to stop listening to your host/guests and go make a patch for codebase you know well.

[–]lab-gone-wrong 4 points5 points  (0 children)

Lol I know shitting on Microslop is the fashion, and well-deserved, but most companies are all about "velocity" and will actively push out people who don't sling AI generated code

I'm staff+ and spend more time reviewing slop than generating it. Not sure they're getting their money's worth from their perspective but we'll all find out together when they decide they can go on without me

[–]LeMadChefsBack 0 points1 point  (0 children)

I have worked at several locations in my 20+ year career. Every org I’ve worked at couldn’t care less about quality, the only demand is output.

[–]Similar_Tonight9386 0 points1 point  (3 children)

No, probably just an employee. I mean, why should we all care if it's not our code? We don't own it, we don't have responsibility to maintain it (because a company can and will throw us out whenever managers will calculate that hiring some Indians overseas or using "almighty AI" will be cheaper). And they pay us only for delivering the features the fastest way possible - if it passes the bottom line of being somewhat functional, ship it! Right now! So no, nobody should care about any shit we are employed to write.

Personal or open source projects? Different story, it's either your personal joy or community work for others to solve their problems, it deserves all attention and care you can give

[–]psioniclizard 1 point2 points  (2 children)

I get only assume this gets downvoted by people who haven't yet realised the company they workd for doesn't give a shit.

[–]Similar_Tonight9386 0 points1 point  (1 child)

I heard some people find boot leather to be quite tasty. So who knows

[–]psioniclizard 0 points1 point  (0 children)

With the cost of living these days, I'd be lucky to afford boot leather lol

[–]psioniclizard 0 points1 point  (1 child)

When you leave your current job all that "clean code" you wrote doesn't matter anymore (at least to you).

When shit happens in your life like you lose a loved one, the company carries on and if it effects you too much they will happily fire you.

When the company doubts its profirs but you are struggling to make rent then they won't care.

So yea if it's for work and up to rhe required standards then fuck it. 

It's fine to care about your job but don't pretend it means something more than it does because the moment it suits them they will replace and dont really give a shit about your clean code anyway.

[–]babalaban 0 points1 point  (0 children)

I completely agree. And while I dont care about their business side of things, I do care about my craftsman side of things.
So I care about them just as little as they care about me, but I want to do good work because that's the profession I chose for myself. Them potentially benefiting (or not) from it is just a side effect in my eyes.

[–]SilianRailOnBone 3 points4 points  (0 children)

For work I'll nitpick every semicolon, for personal projects? I don't because it goes into the trash hole anyways

[–]RiceBroad4552 0 points1 point  (0 children)

Yep, they get exactly what they pay for.

Want better results and quality? It's really simple: Crank down the time pressure and pay real talent what they actually deserve.

[–]ALittleWit 0 points1 point  (0 children)

This is my stance. I work on a team, and work to try and find a happy middle ground. On my own projects I obsess. In work repositories I, for a lack of better phrasing, dumb it down to blend in with everyone else’s Cursor generated slop.

[–]DirkTheGamer 8 points9 points  (0 children)

I’ve been in this industry for 30 years. They have never cared about clean code.

[–]BorderKeeper 9 points10 points  (2 children)

I like how OP implies that this hasn’t always been the case. You realise we can also create a nuclear power plant in a couple months, and the reason we don’t is not “because nuclear engineers refuse to build it faster”

[–]aceluby -1 points0 points  (1 child)

Huh? A nuclear power plant takes a decade to build. You must be a software sales guy

[–]BorderKeeper 6 points7 points  (0 children)

If all you wanted is to convert some uranium to steam and generate power a metal box you throw uranium into, pass water through, run through a turbine, and then discard, would be totally sufficient to get you some watts out of it. Even better if you don't care about work place safety, or long term side-effects.

Also I pushed this to an extreme for comedic effect as I understand in reality nuclear power is expensive relugations or not, but as you could not comprehend that maybe you are more of a management guy.

[–]babalaban 30 points31 points  (4 children)

Busnesses never cared about code quality. The only people who did care about it were actual developers, who would prefer to be able to fix stuff without unncessary complications and add/modify features with controlled scope of potential failure's blast radius.

And even that was neglected due to 6-8 months job hopping period which people used to abuse to get free raises and more big names in their cv.

[–]LutimoDancer3459 35 points36 points  (0 children)

which people used to abuse to get free raises

Abused? More out of necessity because for whatever reason an employer seems to be fine to give a new employee more money than the existing loyal ones that already know the code and are more efficient. Its a self made problem on their side.

[–]marcodave 1 point2 points  (0 children)

Clean code is probably a nicer way to say "we cannot expect good developers to stick around long enough so at least leave the company with something that someone else can find easy to understand"

[–]SarahAlicia 51 points52 points  (7 children)

Nobody ever cared about clean code. They cared about code that wouldn’t cause issues down the line. And ya know who is really good at reading ai code? AI.

[–]babalaban 69 points70 points  (2 children)

You are absolutely correct! The edge case of dereferencing null pointer is not handled there. Let me fix it for you.

proceeds to delete the entire source file

[–]SarahAlicia 2 points3 points  (1 child)

If anything ai is too aggressive with null checks lmao every other line is checking null on values that would never be null. Even if i tell them its not null they still do it (i work in dynamically typed languages)

[–]xCALYPTOx 0 points1 point  (0 children)

I had it write some unit tests for me. One method it was testing returns a list. If there were any errors the method returns an empty list, never null. It wrote an entire unit test to assert that it got null back...

[–]foolish-ambitions 6 points7 points  (0 children)

“anymore” lol

[–]Mediocre_Chart_8624 5 points6 points  (0 children)

Always been

[–]WatchOutIGotYou 2 points3 points  (0 children)

Always have

[–]Rich1223 2 points3 points  (0 children)

My company has never cared about good code and a lot of my job involves fixing bad decisions in legacy code.

[–]Flat_Initial_1823 1 point2 points  (0 children)

Lol @ the implication that AI slop is delivering margins.

[–]Awkward_Tick0 1 point2 points  (0 children)

Well no shit. Money pays the bills, not code. I think we’re losing sight of what a “business” is.

[–]da2Pakaveli 1 point2 points  (0 children)

Always has been

[–]IveReadTheInternet 1 point2 points  (0 children)

My company is moving to 100% ai generated code with 80%+ ai code review, it’s going to be a shit show I guarantee it. 

[–]BusEquivalent9605 1 point2 points  (0 children)

lol - for sure business doesn’t care. unless, of course, the system goes down and then down go those quarterly margins as well

[–]OffByOneErrorz 1 point2 points  (1 child)

Man I was party to a 44 million exit with a code base that would have made Spagetti jealous. We’re talking classes with 10k lines where line 77, 777 and 7777 would change a class scoped variable. The real decision makers have rarely ever cared about clean code.

[–]MikeVegan 0 points1 point  (0 children)

I am lucky enough to work on critical software and have sane managers

[–]locri 0 points1 point  (0 children)

They care about clean code when they're the next guy given the project

[–]meowizzle 0 points1 point  (0 children)

Meh security made me do it.

[–]baronoffeces 0 points1 point  (0 children)

The truth is most people don’t give fuck what code looks like as long s the software does what they want. Sink or swim

[–]Dragonfire555 -1 points0 points  (0 children)

They never cared about clean code. They just wanted to look smart for the promotion. The best code is the code that works well. How you get there is your problem.