News for hackers. Stuff that matters.
Re:We Are Destroying Software by neilv on Saturday February 08, 2025 @01:00PM (#42984736)
We are destroying software with Leetcode interviews, resume-driven development, frequent job-hopping, growth investment scams, metrics gaming, promotion-seeking, sprint theatre, bullshitting at every level of the org chart, and industry indifference.
Re:We Are Destroying Software by orochimaaru on Saturday February 08, 2025 @02:26PM (#42985470)
Most of what is said are symptoms not causes. Leetcode interviews: lack of continuous certification and changing toolsets too fast

Frequent job hopping: lack of pay upgrades because software is considered a cost center

I could go on but in reality it’s a disconnect between what business thinks the software is worth as opposed to what the engineer wants to do with it.

You can say software is an art but commodity art doesn’t make much money. In reality, the ad driven software has greatly inflated salaries (not complaining but it’s reality). Now it’s going to be an ai bubble. But your rank and file business doesn’t care what software bubble is happening but unfortunately they are bound by the costs that come with it.

Have you seen the process that happens in defense or medical equipment industries. You probably won’t complain.

Re:We Are Destroying Software by dinkumthinkum on Saturday February 08, 2025 @02:44PM (#42985606)
Why is LeetCode a symptom of a lack of continuous certification or changing toolsets? I ask because LC is about neither of those things. I agree LC is a symptom of something but I think it’s something else. I also don’t think ad driven software has inflated salaries, there are many, many more software companies than ad based ones, it even only compromises at most half of FANG, which is hardly the only game in software. For defense and medical, these are places where software is not tertiary concerns.
Re:We Are Destroying Software by dijit on Saturday February 08, 2025 @02:51PM (#42985662)
Well, take the macro position.

If you didnt have degree requirements and certification bodies for:

* accountants

* engineers

* doctors

* lawyers

What do you think hiring might look like?

Do you think they would build a hiring process to validate to the best of their ability your aptitude of the core fundamentals- except worse than certification and education bodies?

I would presume so at least.

Re:We Are Destroying Software by hibikir on Saturday February 08, 2025 @03:52PM (#42986091)
Having spent quite a bit of time around a couple of those groups, I find most of those degree requirements and certifications as just ways to increase salaries, more than ways to increase quality. Many people pass state bars and are incompetent. Lawyers that go through residency get lazy and kill patients, and they aren't magically superior to someone that isn't allowed to work in, say, the US, because their medical training was done the wrong country.

Realistically, licensing boards are there to protect their members, and rarely do political things against people in the same body with unpopular opinions. You have to be catastrophic for most boards to do anything about you: Just like a police union will defend a union member that has committed gross negligence unless the evidence is public.

When you hire a doctor for something actually important, you don't look at the certification body: You look at long term reputation, which you also do in software. Only the largest of employers will leetcode everyone as a layer of fairness. In smaller employers, direct, personal references replace everything, which is what I'd go with if I needed an oncologist for a very specific kind of cancer. The baseline of aptitude from the certification body doesn't matter there at all.

Re:We Are Destroying Software by rvz on Saturday February 08, 2025 @06:33PM (#42987138)
> Many people pass state bars and are incompetent. Lawyers that go through residency get lazy and kill patients, and they aren't magically superior to someone that isn't allowed to work in, say, the US, because their medical training was done the wrong country.

So we need the barrier to entry to be even lower for such professions that deal with life-changing outcomes? I don't think so. In such high risk fields: "long term reputation" is totally dependent on hiring extremely qualified individuals.

The barrier to entry MUST be continuously raised with the bare minimum requirement of a degree. Only then the secondary requirements can be considered.

> When you hire a doctor for something actually important, you don't look at the certification body: You look at long term reputation, which you also do in software.

I don't think you can compare the two. Since one deals with high risk to the patient such as life and death and the other in most does not. (Unless the software being written deals with safety critical systems in a heavily regulated setting.)

From what you are saying, maybe you would be OK consulting a surgeon or an oncologist that has never gone to medical school.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:42PM (#42986010)
What makes you think certifications can’t be gamed? Brain dumps have been a thing since at least 2008 and just like you can have a dozen AWS certifications, it tells you nothing about whether they could actually be productive in the real world.

Have you ever done any of the various IT certs?

Re:We Are Destroying Software by criddell on Saturday February 08, 2025 @03:55PM (#42986127)
Do you think gaming is a very big problem with accountants, doctors, lawyers, and professional engineers?
Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @04:05PM (#42986198)
Doctors and lawyers specializes. Are you going to have specialized non gameable certifications for all the different facets of software development?

Doctors also go to school for 8 years and then do residencies. Lawyers go to school for 7. Are you proposing that?

Re:We Are Destroying Software by criddell on Sunday February 09, 2025 @09:31AM (#42990906)
I'm just pointing out that certifications don't have to be meaningless. If somebody wants to use the title "Software Engineer", then perhaps we should require them to be actual professional licensed engineers.
Re:We Are Destroying Software by orochimaaru on Saturday February 08, 2025 @03:12PM (#42985794)
There is a bit of a difference between other professions and software. You wouldn’t hire an orthopedic surgeon for cardiology. Now, the human body doesn’t change that fast. So both are needed. In software the rate of change is much faster. So what happens is tools change and people who want to switch streams for better opportunity have to tweak resumes. Now the only way to validate basic proficiency comes down to leetcode style interviews - for better or worse. It’s pretty much the only common denominator between an interviewer and the candidate.
Re:We Are Destroying Software by YZF on Saturday February 08, 2025 @02:54PM (#42985689)
Software may be important in defense and medical but I don't think this is reflected in how software engineering is done or how software engineers work in those industries.
Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @01:19PM (#42984915)
And rewarding engineers for "impact" rather than correct, reliable, and extensible software.
Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:43PM (#42986020)
A company exists to make money. If you can’t describe how your work either makes the company money or saves the company money? Why should they care?
Re:We Are Destroying Software by epolanski on Saturday February 08, 2025 @07:00PM (#42987270)
Bu but...but..look at how elegant my rewrite of this part of the code that nobody uses for a product that has a handful of users is../s

There's really way too many developers that care way more about the code than the product, let alone the business.

It ends up like fine dining, where 99% of the times a big Mac would've been tastier and made the customer happier, but wouldn't justify the effort and price.

Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @10:36PM (#42988234)
Why are they hiring the candidate to begin with? This entire "justify your existence every quarter" is one of the bigger downsides of how the economy works, because it allows people to be exploited. it's the metaphorical writing of the blank check. There are no real boundaries of when work starts and stops or when your responsibilities end because the task is to increase business value and that is technically endless. The company keeps piling more and more work, keeps growing and growing, meanwhile they reward you with a small fraction of the total profit that you contributed.

I keep hearing how 10x engineers make their companies millions upon millions but they only get paid a fraction of that. How does that even make sense as a fair exchange? Not to mention is completely unfeasible for most people to have this kind of impact... it is only possible for those in key positions, yet every engineer is tasked with this same objective to increase company value as much as possible. There's just something very wrong with that.

Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @01:13AM (#42988851)
Why are they hiring the candidate to begin with?

Because they feel they can extract more value from them then they are paying them.

There are no real boundaries of when work starts and stops or when your responsibilities end because the task is to increase business value and that is technically endless

I work 40 hours a week and they pay me the agreed upon amount. There was nowhere in our agreement the expectation of my working more than that. I also knew that they could put me on a plane anytime during the week.

The company keeps piling more and more work, keeps growing and growing,

That’s completely on the employee to communicate trade offs between time, cost and requirements. My time is fixed at 40 hours a week. They can choose to use my 40 hours a week to work with sales and the customer to close a deal, be a project manager, lead an implementation, be a hands on keyboard developer, or be a “cloud engineer”. It’s on them how to best use my talents for the amount of money they are paying me. But seeing that they pay my level of employee the highest of all of the ICs, they really should choose to have me working with sales and clients to close deals.

That’s not bragging. I make now what I made as a mid level employee at BigTech in 2021.

I keep hearing how 10x engineers make their companies millions upon millions but they only get paid a fraction of that. How does that even make sense as a fair exchange?

The concept of a 10x engineer except in very rare cases is a myth if you think of them as just being on a keyboard everyday. All of the things I listed I could do - project management, backend developer or a cloud engineer - I would say I’m only slightly better than average if that. My multiplier comes because i can work with all of those people and the “business” and they can put me on a plane or zoom call and I can be trusted to have the soft skills necessary and my breadth is wide enough to know what needs to be done as part of a complex implementation and how to derive business value.

If you are making a company millions of dollars and you are only getting a fraction of that - and I doubt someone is doing that on their own without the supporting organizational infrastructure - it’s on you to leverage that to meet your priority stack.

Not to mention is completely unfeasible for most people to have this kind of impact... it is only possible for those in key positions, yet every engineer is tasked with this same objective to increase company value as much as possible. There's just something very wrong with that.

If you are a junior developer, there isn’t much expected of you, you are told what to do and how to do it. You aren’t expected to know the business value.

If you are a mid level developer, you are generally told the business objective and expected to know best practices of how to get there and understand trade offs on the epic/work stream level.

If you are a “senior” developer, now you are expected to understand business value, work with the stakeholders or their proxy, understand risks, navigate XYProblems on the project implementation level and deal with ambiguity.

As you move up the more “scope”, “impact” and “dealing with ambiguity” you have to be comfortable with.

“Codez real gud” only comes into play in getting from junior to mid.

Re:We Are Destroying Software by proc0 on Sunday February 09, 2025 @02:07AM (#42989054)
Right, being senior and above basically means doing less engineering. I hope that's something we can agree on because otherwise we would need to discuss the semantics.

> All of the things I listed I could do - project management, backend developer or a cloud engineer - I would say I’m only slightly better than average if that

I completely acknowledge this is a valid way to run a business, but the context here is how this sort of career progression is preventing the specialization of engineers in their domain and contributing to the widespread of software problems. Instead of investing in good engineers that specialize in their domain, companies move them away from engineering into more of an entrepreneur mindset by tasking them with adding value to the business directly, which is not something that you do as an engineer (it's nowhere in a CS degree, aside from say some electives).

A good metaphor here is a football/soccer team. What companies are doing is telling the goal keeper that he needs to score goals because more goals means winning. The team wants to win so everyone on the field has to score a goal. That obviously doesn't make sense even though the premise is true. You want a team composed of specialists and the more they specialize in their domain and work together the more you win. Even though there are only two or three offensive players that are scoring the goals, everyone is contributing to the success of the team if they specialize in their domain. Similarly, just because talking to clients and selling the product is directly contributing to the revenue of a business it doesn't mean that engineering at a higher level has no value.

And once again to stress the context here, companies can do whatever they want, but having engineers progress through their careers by moving AWAY from engineering is precisely why there is so much bad software out there. Letting engineers create better software should result in more profit in the long term, just probably not in the short term, and it's also hard for non-technical people to manage. So it is what it is.

Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @02:43AM (#42989179)
Right, being senior and above basically means doing less engineering. I hope that's something we can agree on because otherwise we would need to discuss the semantics

Engineering is not only the physical labor. Aircraft engineers and building engineers don’t spend most of their time doing hands on work.

https://www.careerexplorer.com/careers/engineer/

Designing and Planning: Engineers are responsible for designing and planning systems, structures, processes, or technologies. They analyze requirements, gather data, and create detailed plans and specifications to meet project objectives. This involves considering factors such as functionality, safety, efficiency, and cost-effectiveness.

When doing construction work, who adds more value?

The general contractor? (Staff software engineer),

The owners of the plumbing, electrical, and HVAC companies assuming they have the actual skills (senior level developers). The owners of the plumbing companies could very well be making more than the general contractors. This is where you can specialize and the sky is the limit.

The actual certified workers (mid level developers). This is the level that the completely head down people are. No matter how good they become at being a hands on plumber , there is a hard ceiling they are going to hit at this level.

The apprentices (juniors)?

I work in consulting. I am currently a staff architect (true - IC5) over a hypothetical project (not a real project). I know the project is going to need a cloud architect, a data architect , and a software architect. They are all specialists at their jobs and are all going to lead their “work streams”. They are all IC4s

I expect each architect to take the high level business objectives and work with the relevant technical people on both sides and lead their work along with some hands on keyboard work.

They will each have people under them that are not customer facing at all. While I know all of the domains at some level, I’m going to defer to their technical judgement as long as it meets the business objectives. I did my high level designs before they came on to the project. Was my design work, figuring out priorities, risks, making sure it met the clients needs, discussing trade offs, etc not “engineering”?

Each level down from myself IC5 to junior engineers (IC1) is dealing with less scope, impact and ambiguity. There is no reason that the architects shouldn’t get paid as much as I do. They bring to the table technical expertise and depth. I bring to the table delivery experience, being able to disambiguate, and breadth.

Re:We Are Destroying Software by proc0 on Sunday February 09, 2025 @05:01AM (#42989681)
> Do you think “engineering” is only the physical labor? Do aircraft engineers and building engineers actually do the construction work?

No, but software is inherently different because you can leverage existing software to create more software. Every airplane has to be created individually, but software that already exists can be extended or reused by just calling functions or in the worst case copy/pasting.

> The actual certified workers (mid level developers). This is the level that the completely head down people are. No matter how good they become at being a hands on plumber , there is a hard ceiling they are going to hit at this level.

Yes, with hardware this can be the case as there is a small number of ways to build something. With software there is no ceiling, and the proof here is AI. We might soon see general intelligence that just codes anything you want. This means software can be designed to automate virtually anything in anyway shape or form, but it requires more and more expertise.

> I did my high level designs before they came on to the project. Was my design work, figuring out priorities, risks, making sure it met the clients needs, discussing trade offs, etc not “engineering”?

I agree what you're outlining is how the industry works. Perhaps the core of the issue here is how software engineering was modeled after other kinds of engineering with physical limitations. Software is closer to mathematics (arguably it's just mathematics). You can of course still design and plan and delegate, but once the role starts dealing with the high level planning, scheduling, managing, etc., there is less of a requirement for the technical details.

I've worked with architects that didn't know the specifics of a language or design patterns, not because they're bad at engineering but because they had no more time to spend on those details. These details are crucial for good software that is reliable, robust, extensible, etc. Junior and even mid level engineers also don't know these details. Only someone that has been hands on for a long time within a domain can hone these skills, but I have seen so many good engineers become senior or tech leads and then forget these details only to then create software that needs constant fixing and eventually rewriting.

I'm a senior myself and have no choice but to engage in these activities of planning, scheduling, etc., when I can clearly see they do not require technical expertise. You just need some basic general knowledge, and they just are time consuming. My time would be better spent writing advanced code that mid-level and junior level can then expand on (which has happened before with pretty good success, accelerating development and eliminating huge categories of bugs). Instead I have to resort to mediocre solutions that can be delegated. As a result I can see all kinds of problems accumulating with the codebase. It's also really hard to convince the leadership to invest in "high level" engineering because they think that you create more impact by managing an army of low to mid-level engineers instead of leveraging properly written software. I'm convinced that it does add value in the long term, it's just a hard sell. Ultimately I guess it comes down to the type of org and the business needs, which often does not include writing software that will not break. Most companies can afford to write bad software if it means they get to scale by adding more people.

Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @05:47AM (#42989859)
> No, but software is inherently different because you can leverage existing software to create more software.

That’s true. But when I put my “software engineering”, “cloud engineer”, or “data engineer” (theoretically) hat on, I can only do work of one person. No matter how good I am at any of it, I won’t be producing more output than someone equally qualified at my own company. Distributing software does have zero marginal cost more or less and that’s why we get paid more than most industries.

but I have seen so many good engineers become senior or tech leads and then forget these details only to then create software that needs constant fixing and eventually rewriting.

This is just like both my general contractor analogy and my real world scenario. As an “staff architect”, I come up with the initial design and get stakeholder buy in. But I defer to the SMEs the cloud architect, the data architect and the software architect who still eats, sleep and breathe the details in their specialty.

Just like the owners of the plumbing company, HVAC company and electrical company are the subject matter experts. The general contractor defers to them.

In the consulting industry at least, there are two ways you can get to the top, by focusing on depth or breadth. But in neither case can you do it by being staff augmentation (the plumber, electrician, or HVAC person), you still have to deal with strategy.

> You just need some basic general knowledge, and they just are time consuming

Knowledge isn’t the issue, it’s wisdom that only comes with experience that I assume you have. Going back to the hypothetical large implementation. It involves someone who does know architecture, development and data. No matter how good your code is, high availability, fault tolerance, redundancy, even throughput comes from the underlying architecture. Code and hands on implementation is usually the least challenging part of a delivery.

Its knowing how to deal with organizational issues, managing dependencies, sussing out requirements, etc

Re:We Are Destroying Software by proc0 on Sunday February 09, 2025 @06:10PM (#42995097)
I can grant all of this makes sense for contractors, given that it's not building a career within a single company. I was more talking about full time, long term careers within a single domain.

> No matter how good your code is, high availability, fault tolerance, redundancy, even throughput comes from the underlying architecture. Code and hands on implementation is usually the least challenging part of a delivery.

I agree to a certain extent. Unless the solution is short lived, designing the code to scale properly is extremely important, and this happens at the implementation level where details of how code is being added makes all the difference. I can see how contractors might not be thinking about this, but it's a recurring pattern with legacy systems. Additionally with software, implementation gets automated away if done correctly, so there is only an initial overhead that pays back as the codebase grows larger and larger.

I'm not saying there is no need for engineers that deal with org and management issues, but rather that companies underestimate the need for senior level engineers focusing on the software implementation details, only to pay the price as the codebase inevitably accumulates complexity later as it scales in size.

Anyway, great discussion, I appreciate your input and will be considering it more.

Re:We Are Destroying Software by SR2Z on Sunday February 09, 2025 @11:18AM (#42991566)
> Why should they care?

Look, I get that HN is startup-focused, but many companies DO drown themselves in tech debt of the sake of the business case.

Then a few years pass and they are unable to deliver features quickly enough - they can't keep Sr. engineers because their stack is a soul-sucking, career-killing tarpit. The Jr. engineers don't know how to fix the code and don't even see anything wrong with it because it's all they've known.

It's totally fine if you're a megacorp - Salesforce and so on can hire JUST ENOUGH high-level folks to keep the system manageable. It's also fine if you're so small that all your work is greenfield.

The type of company that I'm describing is generally Series D/E and probably worth a few 100M dollars.

Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @11:47AM (#42991773)
I’m not saying don’t care about tech debt and well architected systems. I’m saying you have to tie that to business goals. If you can’t explain to a manager the business purpose of why you are doing something then does it really need to be done?

Your reasoning for tackling tech debt is sound. “We are moving like molasses. Our foundation is wobbly and we can’t build new features until we start tackling $X tech debt. These are the reasons that it will help us in the future.”

But on the other hand, if I achieve x, y, and z or someone else achieve it and we are told it didn’t achieve enough “impact”, yeah I am going to do like Google employees do and decide to work on the 5th messaging app.

Re:We Are Destroying Software by moandcompany on Saturday February 08, 2025 @01:56PM (#42985217)
Rewarding "engineers" for perceived "impact" :)
Re:We Are Destroying Software by ldigas on Saturday February 08, 2025 @01:59PM (#42985243)
I wonder in comparison what had more impact, a software made in the 80s still used today, or an app that will be replaced in a year, with an added note of "I don't know why I'm using it at all".
Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @08:06PM (#42987594)
If the company didn’t make a continuous stream of income from the product, from the company’s perspective, it would be that awesome pay to win game with in app purchases…
Re:We Are Destroying Software by efnx on Saturday February 08, 2025 @01:40PM (#42985088)
Why is it that leadership gets these ideas all at the same time?
Re:We Are Destroying Software by dasil003 on Saturday February 08, 2025 @02:06PM (#42985319)
Because the software we are paid to write has an external purpose. As scale increases, supply chains lengthen, and roles specialize, inevitably more and more people are missing the forest for the trees—this isn't an indictment, it's an inevitable result of the pursuit of efficiency and scale at all costs. Many engineers would be happy to polish the thing that exists, perhaps adding complexity the form of scalability, modularity or reusability that isn't actually needed, and in fact may make it harder to adapt to broader changes in the ecosystem that the company operates in. "Impact" is just a suitably hand-wavy management buzzword to be used in lots of different situations where they deem ICs to not sufficiently taking the big picture into account.
Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @02:31PM (#42985523)
> Many engineers would be happy to polish the thing that exists, perhaps adding complexity the form of scalability, modularity or reusability that isn't actually needed, and in fact may make it harder to adapt to broader changes in the ecosystem that the company operates in

When done correctly it absolutely adds business value and should not make it harder to adapt or change, that's the point of good engineering. The problem is that you need years, if not decades, of technical experience to see this, and it's also a hard sell when there is no immediate "impact". It's basically something that happens because consumers don't know any better, so then it becomes low priority for making profit... at least until a competitor shows up that has better software and then it has a competitive edge, but that's a different matter.

Re:We Are Destroying Software by dasil003 on Saturday February 08, 2025 @03:02PM (#42985741)
Sure. I'm just explaining why the term exists. Of course it is often applied by clueless managers, there's nothing you can do about that except go find a better manager. Just don't make the mistake of thinking its all bullshit because you've only dealt with muppets on the leadership side—I see this often with journeyman engineers who have never had the privilege of a good management team and it's very sad.
Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @10:18PM (#42988159)
Yeah and I would extend it to a better company as well.
Re:We Are Destroying Software by Henchman21 on Saturday February 08, 2025 @02:28PM (#42985495)
Because they’re all in the same tiny social circle and went to the same schools, joined the same clubs, intermarried, and just generally isolate themselves from the rest of us.

Its called “being out of touch” I believe

Re:We Are Destroying Software by esafak on Saturday February 08, 2025 @01:59PM (#42985245)
They copy the leader. Word spreads instantly on the Internet.
Re:We Are Destroying Software by phendrenad2 on Saturday February 08, 2025 @02:01PM (#42985263)
The users often feel the "impact" like a punch in the gut, as their perfectly-fine software has now grown a useless AI appendage, or popup ads for an upsell to the next pricing tier. But hey, got the promotion!
Re:We Are Destroying Software by _dark_matter_ on Saturday February 08, 2025 @01:42PM (#42985102)
If you don't want to have any say in the work that you're doing, then sure don't judge based in impact. I'd rather have the responsibility and trust of letting me decide what to work on, rather than management tell me. The only way that works is that my judgement is good, I deliver impact, and I'm paid as such.
Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @02:06PM (#42985311)
There is implicit impact by engineering good systems and software. It's like hiring a plumber and telling them "you need to improve my house" rather than "you need to improve the plumbing in my house". When your objective as an engineer is so broad that you need to worry about customers and the product, then the engineering itself suffers... that said it might not suffer to the extent that it matters but that is the point here.

Bad software keeps happening because businesses can afford it, as well as hardware improvements. It's a combination of consumers not knowing what they are missing and hardware advancements allowing for bad software to exist.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:46PM (#42986037)
> When your objective as an engineer is so broad that you need to worry about customers and the product, then the engineering itself suffers... that said it might not suffer to the extent that it matters but that is the point here

If you aren’t writing software with the customer and business in mind, why are you doing it? That’s what you are getting paid for.

Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @11:03PM (#42988352)
To clarify, I don't mean having no concern for the business or customer, but rather having that as a priority and the primary way to determine contribution. Engineers should care about the engineering first, which implicitly has value if done correctly.

That said, AI is about to change all this... but ironically this justifies my position. If software can be so powerful such that you can have a general intelligence that can do almost any cognitive task... then it follows that all this time engineers can also engineer clever systems that can add a lot of value to the company if engineered correctly.

There is no ceiling of how much performance and value can be squeezed out of a software system, but this never happens because businesses are not investing in actual engineering but rather in technical entrepreneurs that can bring something to market quickly enough.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @11:18PM (#42988406)
> To clarify, I don't mean having no concern for the business or customer, but rather having that as a priority and the primary way to determine contribution. Engineers should care about the engineering first, which implicitly has value if done correctly

There is no “implicit value” of software to a company. The only value of a software to a company is whether it makes the company money or saves the company money. That’s it, there is no other reason for a company to pay anyone except to bring more value to the company than they cost to employ them.

If software can be so powerful such that you can have a general intelligence that can do almost any cognitive task... then it follows that all this time engineers can also engineer clever systems that can add a lot of value to the company if engineered correctly.

It’s just the opposite. If AI can do any of the coding that a software engineer can do and I am not saying that’s possible or ever will be, what’s becomes even more important are the people who know how to derive business value out of AI.

> There is no ceiling of how much performance and value can be squeezed out of a software system

That may be true. But what’s the cost benefit analysis? Should we all be programming in assembly? Should game developers write a custom bespoke game engines and optimize them for each platform?

Re:We Are Destroying Software by proc0 on Sunday February 09, 2025 @01:25AM (#42988900)
> That’s it, there is no other reason for a company to pay anyone except to bring more value to the company than they cost to employ them.

The implicit part is that if you engineer a good system then it saves money with less bugs and breaks less, and also makes money by allowing faster development and iterations.

There are plenty of examples here. I could point at how the PlayStation network just went down for 24 hours, or how UIs are often still very laggy and buggy, or I can also point at companies like Vercel that are (I assume) very valuable by providing a convenient and easy way to deploy applications... the fact that there are many SaaS out there providing convenience of development proves that this adds value. Despite this businesses are not having their engineers do this in-house because somehow they don't see the immediate ROI for their own business. I would just call that lack of vision or creativity at the business level, where you can't see the value of a well engineered system.

Businesses are free to run their company in whichever way they please, and they can create crappy software if it makes them money, but the point is that when this is industry-wide it cripples the evolution of software and this is then felt by everyone with downtimes and bad experiences, even though hardware is unbelievably fast and performant.

> Should game developers write a custom bespoke game engines and optimize them for each platform?

This is a good example actually. Most companies that want full creative control are making their own engines. The only exception here is Unreal (other smaller engines are not used by large companies), and from what I can tell the Unreal engine is an example of great software. This is one of those exceptions where engineers are actually doing engineering and the company probably can't afford to have them do something else. Many companies could benefit from this, but it's just not as straight line from the engineering to profit and that's kind of the root of why there is so much bad software out there.

Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @02:03AM (#42989031)
I could point at how the PlayStation network just went down for 24 hours

Part of “meeting requirements” is always RTO, RPO, the availability requirements, latency, responsiveness, etc.

Re:We Are Destroying Software by proc0 on Sunday February 09, 2025 @02:27AM (#42989119)
Right, but it's an example that illustrates a broader problem with how software still has the same issues it had for decades, especially in network programming and web. In contrast hardware has made huge advancements.
Re:We Are Destroying Software by esafak on Saturday February 08, 2025 @01:58PM (#42985237)
You are optimizing for your resume and pay, not the product's needs. That's what people are criticizing; what constitutes impact, how it is measured, and whether that's what's needed to make the product better.
Re:We Are Destroying Software by _dark_matter_ on Sunday February 09, 2025 @08:22AM (#42990511)
In fact I'd argue it's the _exact_ opposite. I've seen countless engineers architect big complicated systems that are completely unnecessary. If anyone was measuring, they'd realize the impact of that system was: no incremental users, no incremental revenue, increased operational overhead, higher headcount, and more burden in further development. Is that what the user needs? You tell me.
Re:We Are Destroying Software by leptons on Saturday February 08, 2025 @02:01PM (#42985268)
You get rewarded?
Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @02:08PM (#42985334)
Yes with promotions, bonuses and overall good reviews, which are only marginally based on technical achievements (when it should be absolutely based on that).
Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:46PM (#42986044)
Technical achievements that are not in line with business objectives are worthless
Re:We Are Destroying Software by leptons on Saturday February 08, 2025 @02:10PM (#42985356)
That sounds amazing. I haven't spoken to my boss in about 2 years, haven't had a raise in over 4 years. I guess my reward is that I still have a job?
Re:We Are Destroying Software by dahart on Saturday February 08, 2025 @03:28PM (#42985902)
If you want a raise or promotion, you should talk to your boss or otherwise figure out how to remind them regularly of your value. Ask them for a quarterly or monthly one-on-one, and take an interest in what they do and what the team priorities are. I don’t know about your boss, they’re not all the same, but managers tend to like see initiative, engineers who make other engineers more productive, and engineers who have and spread an optimistic attitude. Promotions are about taking greater responsibility.

An alternative but dangerous approach is to make it known you’re looking elsewhere for work. Don’t do that if it’s relatively easy to replace you, and definitely assume the management thinks it’s easy to replace you, especialy if you haven’t been talking to your boss. ;) But there is the chance that they know you’re valuable and haven’t given you a raise because you seem content and they believe they have the upper hand - which may or may not be true.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @09:15PM (#42987907)
The problem is that “your boss” usually has to conform to the budget set by their manager working alongside HR.

When I left a company for increased compensation, which funny enough has only been 3x in almost 30 years across 10 jobs, it’s been between a 25%-60% raise. It’s almost impossible for any manager to push that kind of raise for anyone without a promotion.

Even at BigTech promotions usually come with lower raises than if you came in at that level.

Don’t do that if it’s relatively easy to replace you, and definitely assume the management thinks it’s easy to replace you, especialy if you haven’t been talking to your boss.

Everyone is replaceable. If you are at a company where everyone isn’t replaceable, it’s a poorly run company with a key man risk. I never saw any company outside of a one man company or professional practice where one person leaving was the end of the company.

Re:We Are Destroying Software by dahart on Sunday February 09, 2025 @10:16AM (#42991159)
> The problem is that “your boss” usually has to conform to the budget set by their manager working alongside HR.

Very true! Though isn’t it also normal in that case for HR to be recommending inflation raises at least? The exception might be if you came in at a salary that’s higher than your peer group and/or high for the title range. Parent’s problem could be that - either peer group correction or not possible for manager to raise at all without a promotion by company rules. There’s lots of reasons I can imagine, but in any case I wouldn’t expect a change with status quo, right? If you haven’t been talking to your boss, continuing to not talk to your boss is unlikely to change anything.

Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @11:40AM (#42991715)
It sounds like the combination of a poorly run company and a lack of initiative on the commenter’s side if they haven’t even spoken to their manager in two years.

But yeah, the company should be doing at least inflation raises. A company only has at most two full review cycles to not get me somewhere in the range I think I should be making before I start looking for another job.

But I do understand that it is a shit show out here right now. I was looking for bog standard enterprise dev jobs with AWS experience as a “Plan B” while waiting for the “Plan A” interviews to work their way through. I have never seen anything like this in almost 30 years.

It was not this hard for me to get software developer job interviews in either 2000-2001 or 2008-2010. Admittedly, that’s partially because I was only looking for remote jobs and there the competition is fierce.

Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @02:22PM (#42985443)
Yes, that's part of the reward, but normally you get raises, bonuses, etc. based on yearly or quarterly reviews. If you are not entry level, and you just focus on programming while getting a good pay, and you are not seen as underperforming, consider yourself lucky.
Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:48PM (#42986068)
If you haven’t gotten a raise in four years and inflation has been up 21%, your pay is actually decreasing
Re:We Are Destroying Software by Mainsail on Sunday February 09, 2025 @12:35AM (#42988728)
Three years into my career and my total comp hasn’t risen once - it’s honestly exhausting at this point but I’m still learning a ton, feel as if there is solid job security, and love my team. At some point I’m going to have to make that scary jump though if it continues.
Re:We Are Destroying Software by scarface_74 on Sunday February 09, 2025 @12:37AM (#42988737)
That’s fair. There have been plenty of points in my career where I chose leveling up over compensation and even chose a lower offer between two offers because it would prepare me for my n+1 job better.
Re:We Are Destroying Software by ajmurmann on Saturday February 08, 2025 @02:21PM (#42985434)
Sounds like an incredibly incompetent manager
Re:We Are Destroying Software by epolanski on Saturday February 08, 2025 @07:01PM (#42987278)
Nobody cares about technical achievements if they aren't making money or at least the users happier.
Re:We Are Destroying Software by epolanski on Saturday February 08, 2025 @06:57PM (#42987251)
Nobody cares about the software but developers.

I'm sorry but I don't buy it.

I've been way too close way too often with lisp and Haskell or many other niches (I know well both Racket/Scheme and Haskell btw) the people that care that much about this correct and reliable and extensible software care about the code more than they care about the products.

That's why the languages that breed creativity and stress correctness have very little, if any, killer software to show when PHP/Java has tons of it.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @08:07PM (#42987599)
Were they able to trade their passion for goods and services?
Re:We Are Destroying Software by proc0 on Saturday February 08, 2025 @10:10PM (#42988124)
I think you're conflating two different things. On the one hand you have how a product is made, and on the other there is the demand for it which will affect how the product is made. In the case of software these two things are unfortunately broadly disconnected for a number of reasons.

First, hardware has improved consistently, outpacing any need for optimal software. Second, the end user does not know what they really want from software until it is provided to them, so most people will easily put up with slow, laggy and buggy software until there is a competitor that can provide a better experience. In other words, if companies can make money from making bad software, they will, and this is often what happens because most people don't know any different and also hardware becomes more and more powerful which alleviates and masks the defects in software.

I think there is also another big factor, which is that businesses prefer to scale by adding more people, rather than by making better software. Because they want to scale along human engineers, they tend to prefer low-tier software that is easy to pick up by the masses, rather than the high-level specialized software that is a hard skill to acquire. This is understandable, but is also the reason why software is so slow in advancing forward compared to hardware (and by the same token, hardware engineers require more specialization).

Re:We Are Destroying Software by fullstackwife on Saturday February 08, 2025 @01:18PM (#42984907)
Computer programs are like sausages. It's better not to see them being made.
Re:We Are Destroying Software by swat535 on Saturday February 08, 2025 @01:44PM (#42985122)
Except at least sausages are enjoyable to consume, unlike today's software.. unfortunately, it fails on all fronts.
Re:We Are Destroying Software by vosper on Saturday February 08, 2025 @02:28PM (#42985491)
I've enjoyed a great many of the games I've played lately :)
Re:We Are Destroying Software by dqft on Saturday February 08, 2025 @02:18PM (#42985411)
If you did then you would know all the tricks to Stephen's rare and beautiful thing.
Re:We Are Destroying Software by chocolatkey on Saturday February 08, 2025 @01:27PM (#42984977)
What is wrong with frequent changing of jobs? It’s one of the easiest tools for increasing my compensation. The job market ideally should be so flexible you can switch to another company any time you want, no noncompetes.
Re:We Are Destroying Software by Ekaros on Saturday February 08, 2025 @01:29PM (#42985001)
That is the problem. That job-hopping is only way to get better compensation. The history, the domain knowledge and accountability is lost when one who made a programming decision is gone.

Why care about quality or maintainability if you are gone in year or two anyway...

Re:We Are Destroying Software by bbor on Saturday February 08, 2025 @01:57PM (#42985224)
You've hit the nail on the head -- the problem is systemic, not the implied sudden lack of virtue. People job hob in our industry b/c even the giants with hundreds of billions in the bank are caught up in absurd quarter-by-quarter performances for their shareholders, which sets the direction of the whole industry.
Re:We Are Destroying Software by trinsic2 on Saturday February 08, 2025 @02:40PM (#42985581)
Exactly. On the level the parent is describing, having options is a good thing, but the side-effect of this systemic problem is that it fragments our ability to write good software because the process is not about developing good software, its about to profit. Which enshitifies the endeavor, devaluing the quality of the end result.. Slowly, over time, this enshifitication is going to, or already is causing problems in our technological infrastructure and maybe other areas of society.
Re:We Are Destroying Software by ChrisMarshallNY on Saturday February 08, 2025 @01:56PM (#42985221)
I was just chatting with a friend of mine, this morning, about this kind of thing.

He works as a highly-skilled tech, at a major medical/scientific corporation. They have invested years of training in him, he brings them tremendous value, and they know it. He was just telling me how he used that value to negotiate a higher compensation package for himself. Not as good as if he swapped jobs, but he really has a sweet gig.

People who stay, take Responsibility for the code they write. They will need to face the music, if it doesn't work, even if they are not responsible for maintaining it.

They are also worth investing in specialized training, as that training will give great ROI, over time.

But keeping skilled people is something that modern management philosophy (in tech, at least) doesn't seem to care about.

Until corporations improve the quality of their managers; especially their "first-line" managers, and improve their culture, geared towards retaining top talent (which includes paying them more -but there's a lot more that needs doing), I can't, with good conscience, advise folks not to bounce.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:53PM (#42986106)
> Not as good as if he swapped jobs, but he really has a sweet gig

If your main motivation for working is to exchange your labor for the maximum amount of money possible, I don’t see how that is the positive outcome you think it is.

I personally wouldn’t leave my current job if another one for $100K more fell into my lap. But the “unlimited PTO” where the custom is to take at least 5-6 weeks off during the year not including paid holidays and it being fully remote is hard to beat.

Re:We Are Destroying Software by ChrisMarshallNY on Saturday February 08, 2025 @04:27PM (#42986354)
Not sure how you got that from what I wrote.

I mean pretty much exactly what you said.

I apologize for being unclear.

Re:We Are Destroying Software by rr808 on Saturday February 08, 2025 @02:13PM (#42985385)
Sounds like he's lucky though. Many companies are happy to let you specialize in their area of business, own the special software, get to know all the vendors & business contacts then really not pay you well. You dont get to find out until 5 years in when you have skills that aren't really transferable to a new job.
Re:We Are Destroying Software by ChrisMarshallNY on Saturday February 08, 2025 @04:29PM (#42986365)
His skills are quite transferable. Many of the company’s customers would love to hire him away. The company doesn’t have a noncompete, and he’d probably quit, if they tried.
Re:We Are Destroying Software by eastbound on Saturday February 08, 2025 @02:02PM (#42985279)
> But keeping skilled people is something that modern management philosophy (in tech, at least) doesn't seem to care about.

I’m a founder for 10 people and this is the first thing we think about. Except for low performers; except that youngsters need a variety of experience to be proficient at life; except that the team is not performing well(1). 25% or 30% increases for half the workforce are frequent.

(1) The biggest remark from management coaches is that giving raises lowers employee performance, which I can fully witness in my company. It’s not even good for morale. I’m just happy that people exit the company fitter and with a girlfriend, even a kid and sometimes a permanent residency, but business-wise I’ve been as good as a bad leader.

I’m reaching the sad conclusion that employees bring it upon themselves.

Re:We Are Destroying Software by ChrisMarshallNY on Saturday February 08, 2025 @02:13PM (#42985383)
Paying more is not the answer (but it is also not not the answer -we need to pay well). Improving the workplace environment, into a place people want to stay, is important.

My friend could double his salary, moving almost anywhere else, but he gets a lot of perks at his work, and is treated extremely well by his managers.

They just gave him a rave review, and that did more to boost his willingness to stay, than a 10% raise. He will still negotiate a better salary, but is more likely to be satisfied with less than he might have, if they tried to treat him badly.

Treating employees with Respect can actually improve the bottom line. They may well be willing to remain in difficult situations, if they feel they are personally valued.

I know this from personal experience. When they rolled up my team, after almost 27 years, the employee with the least tenure had a decade. These were top-shelf C++ image processing engineers, that could have gotten much higher salaries, elsewhere.

Re:We Are Destroying Software by trinsic2 on Saturday February 08, 2025 @02:56PM (#42985700)
Yeah I agree with this. It really depends on the culture of the business. If the employee feels valued, giving raises increases feeling valued.

The problem is our current form of corporate culture. Employees don't feel like they matter, there efforts are a cog in a wheel. If you get a raise in this type culture, it only matters to the bottom line and there is no incentive produce because the employee is already unhappy in the first place.

Change your business culture and these problems will disappear, IMHO.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:54PM (#42986121)
How is paying people less than market value good for morale?
Re:We Are Destroying Software by nouripenny on Saturday February 08, 2025 @02:40PM (#42985586)
Is there any alternative to raises that don't lower employee performance, like some kind of bonus scheme? Or do you find some unfortunate relation between money vs motivation?
Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:56PM (#42986135)
Truly unlimited PTO where you judge employees by their performance. I just spoke to my manager at the job I started late last year and he said it is customary for people to take 5-6 weeks kid a year.

We also have a 401K match with an immediate vest.

Re:We Are Destroying Software by FridgeSeal on Saturday February 08, 2025 @06:13PM (#42987026)
I could finally get all the skiing in that I wanted to with time off like that!
Re:We Are Destroying Software by tonyedgecombe on Sunday February 09, 2025 @11:59AM (#42991843)
I remember reading some research that showed that bonus payments have no or even negative effects on performance for intellectual work.
Re:We Are Destroying Software by 7bit on Saturday February 08, 2025 @03:03PM (#42985750)
> But keeping skilled people is something that modern management philosophy (in tech, at least) doesn't seem to care about.

If they would care then job hopping would not exist. If staying at s company would be more. Beneficial to your salary, why would you ever want to change company, if you are otherwise happy?

Re:We Are Destroying Software by omgbear on Saturday February 08, 2025 @01:45PM (#42985132)
It's harder to learn the impact of your design decisions -- Seeing how software evolves to meet changing business goals and how the design choices made play out in the long run helped teach me a lot.

Coming up with a neat API that turns out to be difficult to modify in the future, or limiting in ways you didn't imagine would when writing it is a good learning experience.

Or seeing how long a system can survive growing usage -- Maybe a simple hack works better than anyone expected because you can just pay more for RAM/CPU each year rather than rebuild into a distributed fashion. Or the opposite, maybe there's some scaling factor or threshold you didn't know existed and system performance craters earlier than predicted.

Re:We Are Destroying Software by wrs on Saturday February 08, 2025 @01:31PM (#42985021)
The topic is “we’re destroying software”, not “we’re destroying techniques to increase your compensation”. Individual compensation and collective quality are not somehow inherently correlated.
Re:We Are Destroying Software by bluedino on Saturday February 08, 2025 @01:32PM (#42985025)
I guess you could argue something along the lines of people never staying long enough to build complex things from start to finish. New people moving in and working on the project without the proper understanding, not caring since it will be someone else's problem in a few months...
Re:We Are Destroying Software by marcosdumay on Saturday February 08, 2025 @02:02PM (#42985277)
> It’s one of the easiest tools for increasing my compensation.

This is the root problem. None of the problems the GP pointed up were created by software developer.

Now, if you want to know the consequences, it causes an entire generation of people that don't really know what they are doing because they never see the long-term consequences of their actions. But again, it's not the software developers that are causing this, nor are they the ones that should fix it.

Re:We Are Destroying Software by scarface_74 on Saturday February 08, 2025 @03:49PM (#42986074)
And when you change jobs, you control the narrative. Unlike when you have to deal with promo docs and internal politics
Re:We Are Destroying Software by pjmlp on Saturday February 08, 2025 @02:26PM (#42985474)
Not everyone is fortunate to live in regions where that is easy doable, nor all cultures see job hopping as positive.
Re:We Are Destroying Software by sfpotter on Saturday February 08, 2025 @01:29PM (#42984998)
Can't have stewardship without institutional knowledge and long-term employment.
Re:We Are Destroying Software by davidw on Saturday February 08, 2025 @01:53PM (#42985190)
I don't get the downvotes. This is a rational point of view for an individual. The problem is higher up, where the incentives align to make it rational. It'd be better if people could stay longer and still grow their compensation.
Re:We Are Destroying Software by onemoresoop on Saturday February 08, 2025 @01:04PM (#42984767)
You forgot move fast break things
Re:We Are Destroying Software by asdev on Saturday February 08, 2025 @01:48PM (#42985156)
best Leetcoders generally add the least value business wise
Re:We Are Destroying Software by readyplayernull on Saturday February 08, 2025 @02:38PM (#42985574)
LoC metrics instead of QoC.
Re:We Are Destroying Software by begueradj on Saturday February 08, 2025 @01:08PM (#42984819)
I add AI to that list
Re:We Are Destroying Software by shove on Saturday February 08, 2025 @01:46PM (#42985142)
It’s honestly a huge tell that it was omitted
Re:We Are Destroying Software by simonw on Saturday February 08, 2025 @01:48PM (#42985152)
What does it tell you?
Re:We Are Destroying Software by unification_fan on Saturday February 08, 2025 @01:09PM (#42984830)
Literally all of that is because capitalism incentivizes short-term profit over meaningful, society-benefiting work.

FOSS doesn't have these problems.

Re:We Are Destroying Software by Ekaros on Saturday February 08, 2025 @01:32PM (#42985028)
Just how many FOSS projects there are that are dead? Just how many different ways to do things have been invented? Say Linux desktop environments. Or parts of subsystems.

FOSS is certainly guilty too.

Re:We Are Destroying Software by _Algernon_ on Saturday February 08, 2025 @02:54PM (#42985686)
How is FOSS guilty of the same? The code is there free for you to take, modify and fix, even if the project is otherwise abandoned.
Re:We Are Destroying Software by unification_fan on Saturday February 08, 2025 @01:36PM (#42985060)
Fair, but then again FOSS is born from individual hackers who want to learn how to build X, or who feel like the ecosystem doesn't provide the X they would like to have.

It fosters a culture where everyone can hack something together, and where everyone is knowledgeable enough to make responsible use of technology.

Working as a for-hire developer doesn't let you experience all of that because you're building a product that someone else wants you to build. No wonder one does not give a shit about writing good software at that point! You've taken all the fun and personal fulfillment out of it!

We can build anything we put our mind to -- but most of us are too busy churning out CRUD boilerplate like factory workers. That's depressing.

Re:We Are Destroying Software by bawolff on Saturday February 08, 2025 @01:22PM (#42984941)
I feel like resume-driven development is certainly a thing that happens in FOSS.