Remix.run Logo
simianwords 8 hours ago

You are repeating the same thing. You think having good maintainable good is important - more than the first camp.

That does not mean you are correct. This mindset is useful only in serious reusable libraries and open source tools. Most enterprise code involves lots of exploring and fast iteration. Code quality doesn’t matter that much. No one else is going to see it.

When the craft coders bring their ideology to this set up, it starts slowing things down because they are optimising for the wrong target.

wiseowise 6 hours ago | parent | next [-]

> Code quality doesn’t matter that much. No one else is going to see it.

This is just false for anyone who has worked in the industry for any meaningful amount of time. Do you seriously never encountered a situation where a change was supposedly easy on the surface, but some stupid SoB before you wrote it so bad that you want to pull your hair out from trying to make it work without rewriting this crap codebase from scratch?

simianwords 6 hours ago | parent [-]

at least where i have worked, you need to identify the context. certain projects require good readable code and certain projects require you to iterate fast and explore.

in my experience very few projects were serious enough that required such scrutiny in code.

FuckButtons 6 hours ago | parent [-]

Sounds like you’ve never had a prototype become foundational infrastructure before, or dealt with someone else’s.

edgyquant 3 hours ago | parent | next [-]

I have many times and if you spend too long over architecting a prototype you start to get annoyed looks and tons of questions from PMs who just want something that looks right today (we can fix it/optimize it later)

simianwords 4 hours ago | parent | prev [-]

you can always change it later. this is exactly the dogmatism i'm speaking about - you need to prioritise pushing things. the clean up can come later.

ironically it is your camp that advices to not use microservices but start with monolith. that's what i'm suggesting here.

discreteevent 3 hours ago | parent | next [-]

> You can always change it later.

People seem to think that technical debt doesn't need to be paid back for ages. In my experience bad code starts to cost more than it saved after about three months. So if you have to get a demo ready right now that will save the company then hack it in. But that's not the case for most technical debt. In most cases the management just want the perception of speed so they pile debt upon debt. Then they can't figure out why delivery gets slower and slower.

> ironically it is your camp that advices to not use microservices but start with monolith. that's what i'm suggesting here.

I agree with this. But there's a difference between over-engineering and hacking in bad quality code. So to be clear, I am talking about the latter.

skydhash 3 hours ago | parent | prev [-]

> you can always change it later. this is exactly the dogmatism i'm speaking about - you need to prioritise pushing things. the clean up can come later.

Everyone that says this has not been the one that had to fix the code later. They have already moved to the next jobs (or have been fired). Engineers do know the tradeoff between quality and speed, and can do hack if that’s what needed to get the project to the finish line. But good ones will note down the hack and resolve it later. Bad ones will pat themselves in the back and add more hacks on top of that.

2 hours ago | parent [-]
[deleted]
suddenlybananas 7 hours ago | parent | prev [-]

I think your target is the wrong target myself. Now what?

simianwords 7 hours ago | parent [-]

If more people think like you we won’t have jobs because company won’t make profit

wiseowise 6 hours ago | parent [-]

If people think like you we won’t have jobs because everyone would fucking die when cars, MRI machines, nuclear power plans and ICBMs, airplanes, infra, payments start misbehaving. Now what?

simianwords 6 hours ago | parent [-]

this is a category error that i specifically called out in my comment.

oytis 2 hours ago | parent | next [-]

What is the category of code that does not need quality? You need it to not interact with real world, with people's finances, with people's personal data. Basically it's the code that only exists for PMs to show to investors (in startups) and VPs (in enterprise), but not for real users to rely on.

aleph_minus_one 2 hours ago | parent [-]

> What is the category of code that does not need quality?

For example there exist "applications"/"demos" that exist "to show the customer what could be possible if they hire 'us'". These demos just have to survive a, say, intense two-hour marketing pitch and some inconvenient questions/tests that someone in the audience might come up with during these two hours.

In other words: applications for "pitching possibilities" to a potential customer, where everything is allowed to be smoke and mirrors if necessary (once the customer has been convinced with all tricks to hire the respective company for the project, the requirements will completely change anyway ...).

oytis an hour ago | parent [-]

Yeah, that's what I mean - prototypes. The caveat is though that before agentic coding skills to build a prototype and skills to build a production system were generally the same, so a prototype did not only provide a demonstration of what is possible in general, but what your team of engineers can do specifically. Now these skills will diverge, so prototypes will not prove anything like that. They are still going to be useful for demonstrations and market research though.

wiseowise 5 hours ago | parent | prev [-]

Where?

> That does not mean you are correct. This mindset is useful only in serious reusable libraries and open source tools. Most enterprise code involves lots of exploring and fast iteration. Code quality doesn’t matter that much. No one else is going to see it.

Here? Most of those that I’ve listed IS boring enterprise code. Unless we’re taking medical/military grade.

simianwords 4 hours ago | parent [-]

fair, you have presented specific niche where the ~quality~ correctness is important in enterprise - not just libraries.

but most people aren't writing code in those places. its usually CRUD, advertisement, startups, ecommerce.

also there are two things going on here:

- quality of code

- correctness of code

in serious reusable libraries and opensource tools, quality of code matters. the interfaces, redundancy etc.

but that's not exactly equal to correctness. one can prioritise correctness without dogmatism in craft like clean code etc.

in most of these commercial contexts like ecommerce, ads - you don't need the dogmatism that the craft camp brings. that's the category error.

skydhash 3 hours ago | parent [-]

Maybe you’re too entrenched in the web section of software development. Be aware that there’s a lot of desktop and system software out there.

Even in web software, you can write good code without compromising in delivery speed. That just requires you to be good at what you’re doing. But the web is more forgiving of mistakes and a lot of frameworks have no taste at all.

simianwords 2 hours ago | parent [-]

Do you think more sdes work in mission critical software or the ones I mentioned?