this post was submitted on 10 Sep 2023
77 points (100.0% liked)
Programming
13376 readers
1 users here now
All things programming and coding related. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Damn right. I care about getting features in the hands of my users. If code quality helps with that, if type script helps with that, I’m all in favor.
But the moment I care about code quality for its own sake you need to sack my ass like yesterday.
What an utterly blind, self-centered view. Write good, readable code so you can actually maintain it and so your coworkers don't want to kill you.
I think vzq's point is that you can write good, readable code that doesn't do what the user wants. Same with other metrics that are ripe for navel-gazing like code coverage.
It's bordering on a false dichotomy... but I also believe that dynamic, untyped languages have proven exceptionally useful for rapid prototyping and iteration.
I must admit that I write that deliberately to annoy the “code quality is everything” brigade.
I have no issues prioritizing maintainability where needed, but in my experience people that dogmatically prioritize code quality are not honest with themselves. They almost never chase code quality in general. They are always looking to enforce some burdensome standard or specific tool or archaic process or fiddly CICD script, and if you push back they go cry in a corner about the abstract virtue of “code quality”.
Just be straight with me. You enjoy using type script. Tell me how it adds value to the product and the customer.
Stop trying to shame me into it. I can’t be shamed. I have no shame. I’m a professional software engineer.
You're setting up a theoretically boogie man that no one said exists and then setup the extreme opposite point of view. You're annoying the people that are actually sane. You're being dogmatic in your one views and too extreme.
This is a really surprising retort.
In the end, the only thing that has value is what ends up in the user’s hands. The rest is only a means to an end, in the very best case.
This is not a controversial take in professional software development.
What is self centered and self absorbed is putting misguided notions of “craftsmanship” and maintainability over business needs.
If you can't see that writing readable code is part of the means to that end, I don't know what to tell you. If nobody can maintain the codebase because it's a mess of spaghetti logic and 20-deep dependency trees (I'm looking at you, every JavaScript project I've ever seen), the end product is going to suffer while also making every single engineer working on it want to leave.
Funny, it sure seems like "maintainability should not be a priority" is a pretty controversial take to me.