4 ms·
Is this sentiment the reason why a lot of "engineers" will provide terrible quality in code / tests (lack thereof) / documentation / etc.? If all that matters
by eXpl0it3r 1y ago
Is this sentiment the reason why a lot of "engineers" will provide terrible quality in code / tests (lack thereof) / documentation / etc.?
If all that matters that someone at the top sees it and is happy about it at this specific moment in time, why bother writing code that can last and doesn't leave behind an absolute unmaintainable ball of mud?
We don't need gold plating and yet billions could be saved by having invested more than the bare minimum.
- spicyusername 1y agoI don't think anyone purposely writes terrible code. You know the old standard: Never attribute to malice what is equally explained by incompetence But certainly stagnant conditions or burnout can prevent people from really putting in the extra effort. Why go the extra mile when it's consistently not rewarded, and in some cases punished? Also many software engineers are just not very good, frankly. It's extremely difficult to become an actuary without a strong mathematics background. It is very easy to become a software engineer with any kind of background, even if being a good one is just as difficult.
- beezlebroxxxxxx 1y agoMore and more you run into people who simply don't care about craft and quality. I can already hear the chorus of people that will scream "I'm not paid enough to care" or "it's just a job for some people", and those things are often true; but, nonetheless, people used to take much greater care in their craft even when they were paid less. There was a sense that, even if it was just a job, it should be done well. A certain sensibility of care and craftsmanship has faded away.
- pydry 1y agoThe chorus drones on about you're paid to deliver value and customers dont pay you for docs or tests or refactoring. If anything this is worse.
- ImPostingOnHN 1y ago> More and more you run into people who simply don't care about craft and quality. Many talented and conscientious craftspeople, to pay the bills, work jobs which don't afford them full creative freedom, or even appreciate it. > people used to take much greater care in their craft even when they were paid less Did they? Maybe this is the golden tint cast when we reminisce about "the good ol' days". I currently know some people who take much greater care in their craft, than some other people I used to know. The attitude of "I'm not paid enough to do that" feels, to me, to be closely correlated with a company asking the employees to do more for/with the same or less, giving less freedom to choose what to do, micromanaging/policing how they do it, and all the while showing a decreasing amount of loyalty and humanity towards them. It'd be unreasonable to expect the employees to then suck it up, grin, and bear it -- They are equal partners in an employment relationship in which one party is attempting to unilaterally change the status quo.
- TeMPOraL 1y ago> A certain sensibility of care and craftsmanship has faded away. It got replaced with professionalism, as in "being a professional", which nowadays seems to mean prioritizing business needs above all. Caring about quality and craftsmanship is not professional - it's just not being economical with company time and money. It's better for the business for dev teams to tick features off a list as quickly as they can, because marketing can polish a turd and shove it down customers' throats much more cost-effectively than devs can make a half-decent piece of software that provides genuine value. No surprise more and more people don't care. They keep hearing everywhere - including here - they should abandon childish pursuits, stop reinventing the wheel, writing too clever code, shaving yaks, going down rabbit holes, etc. - they should be professional. Well, that's what we're getting now.
- bluGill 1y ago> Caring about quality and craftsmanship is not professional - it's just not being economical with company time and money. I disagree, but only partially. The real question is when is the project done as in you would shred the source code and nobody would ever care. Some projects are done when they ship version one - you wouldn't fix any bugs or add new features, so code quality doesn't matter. Some projects are never done - someone will be touching this code in 50 years (after you are dead), so quality matters. If the code is done then craftsmanship doesn't matter and putting effort into it is an unprofessional waste of time. However if the code will be maintained for years in the future then not putting effort into craftsmanship is unprofessional. You need to know where you are. Sometimes writing ugly code is a good use of your time, sometimes writing good clean code is well worth it. The important thing is to know where you really are. The wrong choice will hurt you.
- Glawen 1y agoIt sure makes children cry when we talk about quality. Thing is, who holds the truth with respect to quality and craftmanship? And how to identify the person which will improve quality ? Which path is best to follow ? I inherited a failed project, where each team member developped a repo. Nothing is unified, and it's a big architectural mess. Nothing really stands out, but god did I hear them crying about giving them time to build quality software.
- dakiol 1y ago> people used to take much greater care in their craft even when they were paid less I think people used to care more when there were less BS involved in the software development process. Nowadays you get: scrum masters, product managers, product owners, engineering managers, daily standups, refinements, "getting things done", "shipping impact", "10x engineer", "red-carpet engineers from FAANG", and CEOs that want X or Y for yesterday. So, yeah, in that kind of environment, I couldn't care less about anything. I just do it for the money. All my craftsmanship goes into my personal projects.
- nspassov 1y agoThe level of respect that the typical manager or C-level has for the developers' efforts and time spent into keeping up-to-date with the industry has decreased, and now with the big promises of AI it will become even lower. Professionalism demands a certain baseline level of respect for one's effort and expertise.
- Capricorn2481 1y agoIt's a lot simpler than you're making it: PMs don't want to pay for those things. If you tell them what tests are, they will say that's a waste of time and we need to ship features. If you tell them there's a huge security vulnerability that will take 15 hours to fix, they will get vaguely angry with you in a way that directs you to another task, to avoid explicitly saying "we're not working on security." They are very good at this malicious misdirection. Their goal is to not understand their own liability and make it your choice to work overtime for free. I'm dealing with this right now, a company with multiple data breaches who is trying to blame us, the new guys, for a breach that happened before we joined the project. They refuse to notify their customers because they "don't know how much data was leaked" (because they turned off the logs to save money). They have been so disgustingly negligent through this process I am considering leaving my job just to not deal with this one client. There are developers that don't care, but many that do. And they have stories similar to mine. They are told not to care by managers. I've never met a good PM. I'm sure they are out there, but I'm convinced this position is a magnet for the scummiest snake oil salesman on the planet.
- nijave 1y agoWhy be a professional brush removal specialist when you can be a professional Fire Fighter? There's software engineers and there's enterprise software developers and companies tend to want more of the latter than the former.
- ElevenLathe 1y agoI agree that this attitude shift has taken place, but I would theorize (can't prove it, because history isn't an experimental science) that this is a symptom of the larger revolution in our global political economy in the last several decades. In a world of job-for-life employers and defined benefit employer pensions, it makes sense to optimize for craft to a greater extent (because you can build a reputation at your company as a maverick whatever-you-are and therefore get assigned to the most fun projects) and there is little incentive for resume padding. Also, if your management is from the older operations-focused school, they may have some genuine interest in the quality (or, at minimum, the efficiency) with which you do your work. With increased velocity of employer-hopping and financialized retirement savings (401ks instead of pensions), it now makes little sense to try and build a reputation in your company. Even if you stay for decades, your colleagues will rotate around you and its therefore almost impossible to build a reputation as a craftsman. Also, without a defined-benefit pension, you are increasingly incentivized to over-save for your retirement (even if you would only like to target a modest amount of retirement income, the only way to achieve this for sure is to have an enormous amount of savings). Finally, your management now has no interest in operations at all. Instead, they are all in on the "theory of the firm" which among other things is meant to justify a make-the-stock-go-up-no-matter-what strategy.
- atoav 1y agoEverybody has their reasons to take on the role. If you make no-/low-budget films this is important to remember — that camera person might want to try things out, that actor needs something for their reel, the sound guy might just want to make contacts in the industry, etc. If you manage to align your goal of making a film with theirs, everything works out. Now if you don't let engineers live out their passion, you made the choice to select for the ones who just do it for the money. That can be a legit choice, but comes with risks.
- Capricorn2481 1y agoLots of PMs want to "go go go" fast and will not settle for anything less. We write tests and docs for the clients that let us. But the reaction from a lot of CFOs is offense that we would even suggest adding code that isn't features.
- al_borland 1y agoI think that’s part of it. I think the other half of the equation is the engineer isn’t planning to work for any company long enough to need to deal with the results of what might happen in the future. If they have spent their whole career job hopping, they may have never learned the hard lessons from some decisions they’ve made. They think they did the right thing, but never saw the result, so they keep repeating the same mistakes. This is my general theory, as someone with nearly 20 years at the same company, who has seen many people come and go who repeat the same mistakes again and again. They often have a certain arrogance that comes from never having dealt with their own failings. Or it may be false bravado to hide their fear; I’ve seen that one too. I spent a good 12 years rolling with the punches and adopting every change that came my way, wondering why some others were resistant to change. Now I get it. While I think we do still need to grow and evolve, the change for the sake of change gets old. This is especially true when the change ignores the underlying root problems and bakes them into the new systems. If we aren’t going to solve the hard problems, what’s the point? I want to actually fix the stuff, not just add yet another coat of lipstick on the pig.