4 ms·
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 min
by simianwords 8mo 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.
- suddenlybananas 8mo agoI think your target is the wrong target myself. Now what?
- simianwords 8mo agoIf more people think like you we won’t have jobs because company won’t make profit
- wiseowise 8mo agoIf 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 8mo agothis is a category error that i specifically called out in my comment.
- wiseowise 8mo agoWhere? > 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 8mo agofair, 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 8mo agoMaybe 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 8mo agoDo you think more sdes work in mission critical software or the ones I mentioned?
- oytis 8mo agoWhat 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 8mo ago> 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 8mo agoYeah, 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 8mo ago> 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 8mo agoat 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 8mo agoSounds like you’ve never had a prototype become foundational infrastructure before, or dealt with someone else’s.
- simianwords 8mo agoyou 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.
- skydhash 8mo ago> 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.
- hinkley 8mo ago> Most enterprise code involves lots of exploring and fast iteration. And when the code base is 250,000 lines of garbage all the way down, this is impossible. The projects where I’ve had free rein to kill tech debt and SDLC footguns with impunity have all been the ones where velocity maintained or increased over time. All the rest have ground to a halt. There’s value in customers believing you’ll get there soon and the code will actually work. They can be patient if you have an air of competence. But they will switch to some other clown car if it’s cheaper than your clown car.
- eikenberry 8mo ago> Code quality doesn’t matter that much. No one else is going to see it. You seem to be claiming that enterprise shops never adopted code reviews. Interesting if true.
- layer8 8mo agoWhen the code is low-quality, you can’t reason well about it, can’t reason well about what changes to apply and what their effects will be, can’t reason about what the outcome will be when making changes to the context (inputs, environment) the code is run it. Instead everything becomes an experiment on a black box or gray box, whose behavior you can’t well predict in advance. Engineering is the task of making things behave predictably and reliably. Because software is malleable and rarely “finished”, this applies to changing software as well. I’m pretty sure that there is more than one divide regarding AI among developers, but one of the dividing lines concerns the predictability and reason-ability of the tools and the code. AI fundamentally lacks these qualities.