Question for the Software Engineers, with a rant.

The most interesting man in the world says,

1764688893005.png
 
Right now, I’m less than impressed with the latest Apple OS updates. adds extra steps to get something done (aka, viewing open tabs in Safari on an iPhone).
I agree, not fond of that "feature". It works but not as efficient.
 
Lots of good comments here. As someone who has worked on and managed large projects, I can say that management must fight for more time. I used to request 70–80% more time up front, and if I received even half of that, it was a win.
When you deliver on time, you build respect and trust that carries through the rest of the project.
On other projects—especially government and state contracts—we intentionally bid low, and then charged appropriately for any changes to the RFP.
You have to play the game well, because clients always want everything “yesterday.”
I’ve been involved in projects where other managers didn't play the process properly, and it cost the company millions in lawsuits and led to major layoffs.
I also was taught in my first class in university that a typical claim of many developers that something works 95% right is wrong. The process can be 100% right or 100% wrong. This is why you pay the big bucks. One great developer is cheaper than 3 average ones.
 
Sorry for the side track.

I was a chip designer. I taught a graduate hardware design class once. I told the students don't worry about bugs because everyone will blame the software. :ROFLMAO: I was joking, but it is somewhat true.
 
I agree with the sentiment of the OP, but not the cause; software engineers are not the problem.

The problem is that businesses have alterior, self competing, and conflicting goals (they have their heads up somewhere unhelpful).

One use case that should probably be forced by legislation is the ability to get a machine readable (not just machine printable) statement. The customer should not have to perform different gymnastics at each financial institution to get their transaction details in a format that allows an audit by a separate system.

The frustration of changing things for seemingly no good reason gets me too. But they probably do have a good reason sometimes. It's just how much do they weigh the disruption to customers? Think about the grocery store rearranging the products. Why!?! Well, they try different things to see how much more profitable they can make a store. And each store's customer set is different; what works in one place might not work in another. So they tweak the arrangements and infuriate some of us, but they probably don't give enough weight to how annoyed they made us.
Thanks for the opportunity to clarify that I do not blame the software engineers as the core problem, but intended to asked them for professional insights about the organizational dynamics of their profession that I am certain are indeed the problem, having worked in organizations myself. Otherwise, I agree with your post.

Man, I’m pleased by the knowledgeable responses! I’m also even more concerned for our reliance on our digital world than before my post! 😳
 
Last edited:
Retired firmware/software engineer, 22 years with most of those at two big name companies you'd recognize and products you've probably used.

It's not the software engineers' fault. They work on whatever the managers tell them to do in order to get rewarded with a paycheck, promotions, bonuses, and a career. Being disrespectful or insubordinate to management and deciding not to implement a feature because some customers don't want change is a good way to get disciplined, up to and including being fired.

It's not the company's fault. They're responding to their investors who own them and want profits. Profits come from revenues, revenues come from sales, and sales, by and large in the technology world, come from new releases.

New releases, by definition, include changes. If a new release was the same as the old release, who would pay the company for that?

Actually, now that I think about it a bit more, sometimes revenues come from maintenance contracts. But that's sort of a similar situation: If I buy and install a stable product, there really isn't any need for a maintenance contract.

A contributing factor to all of this is that the cost of delivery, especially of software, is practically zero. If a company had to ship 13 CDs in a box to each customer for each upgrade, that's expensive. If they just have a cloud install and customers download over the Internet, that's practically free. This economic aspect reduces the company's disincentive from focusing on new product releases.

Both the waterfall and Agile methods approach software development by writing the code first, then fixing bugs second. (There is at least one method, TDD, which does things differently. I like it, but I haven't seen it practiced well at large companies.) Tech projects are invariably behind schedule, so when the pressure comes to ship, the bug fixing gets curtailed because it's the last step. The low cost of shipping a fix (see previous paragraph) makes it easier for companies to ship buggy code because they can just patch and release on the web.

Even though you might be frustrated, the plain truth is that customers are forking over a lot more money to companies with continuous new features and buggy code compared to companies with high quality products that are ship once sell once.

Minor additional comment: It is true that a lot of software engineers are insulated from customer needs. Personally I like talking with customers and learning about their needs, but I was an outlier. It's also true that most companies do a lousy job of funneling in customer feature requests, prioritizing them well, and delivering those in a timely fashion. Agile done properly helps with this issue, but most companies don't do Agile right.
Remarkably helpful. I can grasp how the corporate profit motive is the source of the enshittification we endure. Your comment says a ton: “Profits come from revenues, revenues come from sales, and sales, by and large in the technology world, come from new releases.”
 
Often I am unable to find out how to do something in a financial website even after a long time trying to use the website's FAQ's, and clicking on every possible button that says it will, or implies it will, do what I want.

When this happens, I just ask AI how to do it. I mention the specific website I am trying to use, and more often than not, AI will guide me to the well-hidden button, in the unrelated category, that I need. Instantly ! 😀 Very useful. And no waiting on hold on the phone.
 
Often I am unable to find out how to do something in a financial website even after a long time trying to use the website's FAQ's, and clicking on every possible button that says it will, or implies it will, do what I want.

When this happens, I just ask AI how to do it. I mention the specific website I am trying to use, and more often than not, AI will guide me to the well-hidden button, in the unrelated category, that I need. Instantly ! 😀 Very useful. And no waiting on hold on the phone.
100%. I got a Perplexity app subscription and I do this for every question I have about nearly everything. It was no use for the failures of Empower’s new release, however.

Perplexity, if you’re listening, and you probably are, DO NOT TOUCH ANYTHING!
 
I’d imagine support for laptop to mobile is a top culprit.
Remember just a few short years ago, when Vanguard’s idea of an app was a browser page on a phone? Aspirin bottle font had a new meaning.
 
Sorry for the side track.

I was a chip designer. I taught a graduate hardware design class once. I told the students don't worry about bugs because everyone will blame the software. :ROFLMAO: I was joking, but it is somewhat true.

This gave me a chuckle. My career has focused around device drivers/systems. Lots of sw patches for hw that doesn’t behave as expected.
 
Another broken or missing incentive here is that regular consumer customers would rather pay for broken software sooner rather than working software later. Or at least, that's what commercial software companies have concluded.

I was working on a product once that you've probably used. The management actually talked about a "golden credit card" where they would buy engineers dinner, or pay for babysitting, or lawn mowing, or whatever. Because if that engineer fixed that last bug one day sooner and we could ship product one day sooner, it was $1M to the company's bottom line. Yes, literally $1M per day; in fact it may have been multiple millions.

And it's management that makes the ship decision, not the engineers. Most engineers would never ship code because they're endless tinkerers.

(There are some commercial and industrial customers who pay for reliability. Think things like power supplies and hard drives in data centers that need to be up 99.999999% of the time. But the average person out there will just shrug and reboot if they get a BSOD or whatever, especially if it's just an occasional thing.)
 
There are other parts of the bug fixing issue.

When a system crashes, there's always a root cause. But because systems are now so complex, as someone else mentioned, it's easy to blame the other part of the system: "It's not our app, it's Windows / hardware / power supply / API layer / DLL / other app." There's no way the customer can figure it out. Heck, sometimes the engineers who support the app can't figure it out.

Also, bugs that are easily reproducible can usually be fixed relatively quickly. But bugs come in various stripes and styles, and the hardest ones to find and fix are the ones that only happen in very particular and uncommon circumstances. Often to fix these you have to catch them while they happen. If a bug only happens every two weeks, and it takes five tries to understand what's going on, then that's 10 weeks elapsed time, then you have to add a week to fix it and then perhaps 2x the frequency to confirm that it's fixed so another four weeks. That's 15 weeks elapsed time to fix one bug.
 
The explanations don’t quite seem to fit my experiences as a consumer especially on consumer websites that I use frequently. These are available at no charge so not sure what the financial motivation is.
Fidelity seems to be ever changing and unable to reconcile web features with app features. They are unable to satisfy the Robinhood converts but they keep finding ways to tick off the rest of us that are not looking to day trade our IRAs.
 
The explanations don’t quite seem to fit my experiences as a consumer especially on consumer websites that I use frequently. These are available at no charge so not sure what the financial motivation is.
Fidelity seems to be ever changing and unable to reconcile web features with app features. They are unable to satisfy the Robinhood converts but they keep finding ways to tick off the rest of us that are not looking to day trade our IRAs.

Yeah, that's a different scenario because of how you are buying the product and what the product is.

I was thinking in my previous posts of someone buying a copy of software like Microsoft Office.

In the case of Fidelity, they're not really selling you a website or an app. They're selling investment services and the website and app are enabling that sale. Since you're not paying directly for the website / app, I'm pretty sure Fidelity views those two things as marketing costs.

An analogous situation is if you're buying a new car. Nowadays you can go out to car manufacturer websites and configure the car and see what it will look like with different rims or paint or accessories. There will usually be a "buy this car" button there which you can press.

The quality of the website in both cases is determined by Fidelity and Ford/etc. and their view of how much the website actually helps them sell their main product. The more they think it helps, the better the website will be. And in all cases they've probably tried to objectively assess this by spending more or less money on their website features and testing the market response.

If any of these changes resulted in a mass exodus of customers, then Fidelity and the others would change course. But evidently they don't.
 
Markola: "... but unnecessary changes are a true scourge of the digital age. Is it that expensive engineering teams must prove their worth by constantly fiddling and “enhancing” rather than leaving well enough alone? Is it that engineers don’t use the products themselves, so aren’t in touch with customer needs? What’s it like to work on these products? What is the incentive structure to constantly break things and tinker? Why don’t teams fix bugs and problems before they layer on entirely new ones? Why can’t companies stop the torture?"


Perfectly describes SONOS mess, had the best sound system and now is dysfunctional, cannot do what I used to do, a year 'fixing' things and I still have issues. Will no longer buy or recommend them, all for an unecessary software change.
 
but unnecessary changes are a true scourge of the digital age. Is it that expensive engineering teams must prove their worth by constantly fiddling and “enhancing” rather than leaving well enough alone?
This made me think of a change to the iPad that I found annoying. I bought a new one earlier this year and, after thinking I was going nuts, discovered a new “feature”. When the iPad is turned vertically, the 2 buttons for volume control are sitting as you’d expect: top button to increase the volume and bottom to decrease. Flip the tablet horizontally and the buttons reverse. What was the top button is now the left button, so it decreases volume and vice versa. Haven’t been able to find a way to turn off this “feature.”

Seems like a waste of time for some cutesy trick. And it’s really annoying when I happen to pick up the old iPad.
 
Markola: "... but unnecessary changes are a true scourge of the digital age. Is it that expensive engineering teams must prove their worth by constantly fiddling and “enhancing” rather than leaving well enough alone? Is it that engineers don’t use the products themselves, so aren’t in touch with customer needs? What’s it like to work on these products? What is the incentive structure to constantly break things and tinker? Why don’t teams fix bugs and problems before they layer on entirely new ones? Why can’t companies stop the torture?"


Perfectly describes SONOS mess, had the best sound system and now is dysfunctional, cannot do what I used to do, a year 'fixing' things and I still have issues. Will no longer buy or recommend them, all for an unecessary software change.
I hate to hear they couldn’t leave excellence alone. I have 4 Sonos devices and they still work for my needs, though my use is pretty basic.
 
Lastly, to rant a bit, the world wide trend of using garbage open source modules for EVERYTHING means developers don't develop anymore... they integrate untested garbage that they find on GitHub. Agile software development methods result in software that barely gets through unit test (the guy who wrote it clicking on it a couple of times) before uploading for production. We used to have (waterfall development) unit test followed by a formal Function Verification Test followed by an end to end System Verification Test. All of my former System Verification Test team has been moved to Level 3 customer support. The customer is the tester.
There are garbage open source modules but many/most of them have a community and are pretty good. Linux, PostgreSQL are a couple of examples.

You have a company like Broadcom that bought VMware. GreenplumDB use to be open source and Broadcom made it close source. Then they started extorting their customers by substantially increasing their maintenance contracts.

The waterfall model use would result in a new release of software taking a year+ such that when it came out, the market requirements have changed. With Agile development, we are able to push new releases out quicker to respond to customer needs. It doesn't have to be buggier if you have a test plan and do adequate testing.

I'm still in software development but will probably retire sometime in the next few years. Wouldn't go back to the old ways...
 
Lol, as SecordCor521 mentioned already, at big companies the engineers AREN'T deciding any of these changes. The totally separate BUSINESS groups and DESIGN groups are deciding what functional and "artsy fartsy" cosmetic changes to make.

At my last job, the head of the design teams proclaimed that the website should be cosmetically revamped every couple of years, if not sooner. They were always investigating navigation changes, new color schemes, amount of whitespace on pages, and even font sizes. But then, they had to justify their own existence as a totally separate cost center.

The big (non obvious) advantage of having a separate design group is that you end up with a consistent (appearance and behavior wise) website. If left solely up to a large group of engineers, the website inevitably grows into a mishmash of pages that look and behave like they were done by a bunch of different developers on different days, with nothing working consistently.
 
On a somewhat related note - WHY oh WHY do "they" need to periodically "Change" things?

Been with Golden One Credit Union for YEARS.... NOW they have changed their interface (somebody must have sold management on "You really NEED this") and I had to go create a completely different logon. Sigh. Can't they just LEAVE WELL ENOUGH ALONE??

Rant off.
 
This made me think of a change to the iPad that I found annoying. I bought a new one earlier this year and, after thinking I was going nuts, discovered a new “feature”. When the iPad is turned vertically, the 2 buttons for volume control are sitting as you’d expect: top button to increase the volume and bottom to decrease. Flip the tablet horizontally and the buttons reverse. What was the top button is now the left button, so it decreases volume and vice versa. Haven’t been able to find a way to turn off this “feature.”

Seems like a waste of time for some cutesy trick. And it’s really annoying when I happen to pick up the old iPad.
Apple in used to have an option to disable this “feature” but they removed for simplicity.
 
On a somewhat related note - WHY oh WHY do "they" need to periodically "Change" things?

Been with Golden One Credit Union for YEARS.... NOW they have changed their interface (somebody must have sold management on "You really NEED this") and I had to go create a completely different logon. Sigh. Can't they just LEAVE WELL ENOUGH ALONE??

Rant off.
I'll tell you WHY. Most banks buy their systems from suppliers, and just customize the front-end a bit. The back-end systems change periodically, to keep up with security changes (like 2FA) and security patches, and to add new technologies (such as Zelle support or passkeys). When they do this, it is not likely possible to keep the front-end (what you see) the same.
 
I can tell you why I hate for the login pages to change. The first few times the new one is there, it feels like the browser is being hijacked/rerouted to a criminal. Whether it is or is not. It just feels creepy even though I realize a smart criminal would want to look just like the page people expect.
 
OP: What are the dynamics inside one of these companies that lead to messing with stuff?

They gotta stay employed so they think of new things. Look at what has happened to Microsoft Windows & Office over the years. Just a few rants are disappearing scroll bars and thinner scrollbars and lets make them disappear too and menus that change depending on what you selected then clicking on the page and poof the menu above changes or hiding controls like copy and paste. All causing extra steps. You need to waste time trying to find either registry fixes or 3rd party fixes if any exist at all.
 

Latest posts

Back
Top Bottom