I want Moore’s law to die so we are forced to use the hardware we have more efficiently.
I can't pay rent because devs just don't care
Submitted 11 months ago by jandoenermann@feddit.org to technology@lemmy.world
https://happyfellow.bearblog.dev/i-cant-pay-rent-because-devs-just-dont-care/
Comments
pulido@lemmings.world 11 months ago
sugar_in_your_tea@sh.itjust.works 11 months ago
Memory is not cheap
The thing is, these mantras are always taken out of context.
“Memory is cheap” is in comparison to other options. For example, if you have a the choice between optimizing for CPU or memory, you should optimize for CPU almost every time because it’s a lot cheaper to add more RAM than add more CPU.
But for some reason, we’ve taken this to mean, “I don’t need to optimize memory or CPU because I can just upgrade them.” That’s only true until it isn’t, and it’s generally easier to optimize things as you go than optimize once everything is broken.
Good post. I really don’t understand how apps have gotten so terrible.
The app I work on is slow, but that’s because we’re doing pretty heavy things (3D canvas stuff), but even then we do a really bad job of lazy loading stuff (e.g. images used for that 3D stuff are loaded way before you get to the 3D part, and many users don’t use the 3D feature at all in a session).
But at least we have an excuse. Why does the bank app take forever to load when it just needs to query around balances and submit tasks to their backend to process? That should be incredibly lightweight.
boonhet@lemm.ee 11 months ago
Also the only time I’ve heard “memory is cheap” used IRL was in backend development. Because it’s cheap to scale up memory on your servers, but not cheap to spend a day or 2 hyperoptimizing a solution that’s fast enough. Dev time is expensive.
sugar_in_your_tea@sh.itjust.works 11 months ago
Or for workstations. It’s a lot cheaper to add a stick of RAM to a workstation than optimize workflow a bit.
There are many cases where RAM is not cheap:
- mobile apps
- end user machines - most people won’t add that stick of RAM
- macOS apps - pretty much all Apple products use soldered RAM now
If you control the machine, RAM is cheap, until it isn’t. If you don’t control the machine, you should always keep an eye on RAM, because once the complaints start coming in, you’ve already started losing customers.
qarbone@lemmy.world 11 months ago
I honestly think a big part of it is the hacky nature of the self-made dev. There’s an emphasis on getting it working instead of getting it right. Work fast, crash fast, and get it limping along faster.
seestheday@lemmy.ca 11 months ago
I might know the answer to your last point. I have experience working with financial services and large old institutions.
In short the front end is likely lighting fast and lightweight but the services it relies are incredibly old and outdated. Like mainframes running COBOL old. There is likely some abstraction but there are also likely literal decades of technical debt. Sometimes a call to understand what should be simple like what accounts does this client have might need to call multiple legacy systems that were integrated over the course of multiple acquisitions.
raltoid@lemmy.world 11 months ago
For my bank the website works fast, but app does not. So an old backend is not always the issue.
sugar_in_your_tea@sh.itjust.works 11 months ago
That sounds like a cop-out to me. Surely they could have snapshots of data in a more reasonable system to make common operations fast (mostly querying data), while keeping the old systems as the source of truth, no? We do that, and we have far fewer customers than a major bank does…
Piatro@programming.dev 11 months ago
I booked a flight recently, the translation engine was obviously having issues so instead of giving helpful labels for form fields it was stuff like: “{{ name.first }}”, which I could figure out for the most part, but then on submission I got an error with no description at all. I opened the dev tools and resubmitted the form to find the API response which gave me the actual error. 2 pages previously a form field hadn’t been set correctly by the web page (it was a drop-down, I selected an option, the error said it was null). I managed to force the field to populate properly and hey presto, submission works. Ridiculous.
pulido@lemmings.world 11 months ago
Sounds like they moved fast and broke things.
Such a stupid trend.
jordanlund@lemmy.world 11 months ago
Tried to pay a credit card through the app last week.
“An error has occurred.”
So I just, you know, called the number on the back of the card and paid it through their IVR.
Bogasse@lemmy.ml 11 months ago
😮💨
AI assistant tools probably won’t push us on the right direction for this one. (Or maybe they will by encouraging people not to import a different library for any 6-lines function they need?)
turkalino@lemmy.yachts 11 months ago
Author did kinda reference this with the ✨Development Velocity✨ part, but the truth is managers and businesspeople* are the ones that just don’t care. Well, not about users at least. Managers just care about promotions and maintaining the upper hand in office politics, and businesspeople just care about money.
If devs were given the proper amount of time to implement things, they wouldn’t be adding GBs of NPM packages from which only one function is used.
If devs were given any power in the decision-making process, the “17 tracking scripts you put on your websites which added 0.004 pence to your bottom line” would never be added
LiamMayfair@lemmy.sdf.org 11 months ago
Agreed.
A lot of the time the cause of bad UX or poor quality code is not the Devs, but management, one way or another. Either through pressure to build more to increasingly delirious timelines or by not looking after their company culture.
You tend to see nonsensical, disjointed product UX and usability decisions a lot more in bigger, highly hierarchical organisations, with big teams, highly specialised, siloed ICs several levels removed from their end users by layers and layers of middle management fat.
I imagine if HSBC put out apps like OP’s article claims is because they probably follow a command and control structure like above, where developers are just tiny cogs hyper-focused on low-level tasks in a bigger, complex corporate machine and nobody really understands the full picture.
turkalino@lemmy.yachts 11 months ago
You tend to see nonsensical, disjointed product UX and usability decisions a lot more in bigger, highly hierarchical organisations, with big teams, highly specialised, siloed ICs several levels removed from their end users by layers and layers of middle management fat.
Yep, and those layers and layers of middle management will never walk away from a UI/UX review saying “yeah, looks good to me!” because that wouldn’t justify their existence, so they feel compelled to say something even when there’s zero real issues, which is how you end up with inane bullshit
d00ery@lemmy.world 11 months ago
I’m a dev and I hate releasing buggy code but I’m not in charge of testing or the amount of testing we do before release.
thedruid@lemmy.world 11 months ago
You don’t test your own code as well?
d00ery@lemmy.world 11 months ago
I write tests and test my own code, but we also have UAT tests that are completed by others independently. Complex systems with lots of moving parts require lots of testing.
Zos_Kia@lemmynsfw.com 11 months ago
Technical testing still leaves a lot of potential issues with business rules, UX etc…
sugar_in_your_tea@sh.itjust.works 11 months ago
Aren’t you though? I’m a dev too, amd at the end of the day, I’m responsible for the correctness of my code, even though we have a QA team that also helps with testing.
undefined@lemmy.hogru.ch 11 months ago
I’m also a developer and I’m really big on optimizing database queries and having the right data indexed. When I review others’ code I’m being “nitpicky” when I point out that index is missing. When it comes to query optimization I’m often told “well there’s plenty of memory.”
beejjorgensen@lemmy.sdf.org 11 months ago
The number of bugs we encountered the last overseas flight we took were astounding. Anytime from printing errors to baggage checkin not working to the inflight entertainment system needing rebooting.
There are so many layers of dependencies on everything it’s amazing it works at all.
taladar@sh.itjust.works 11 months ago
The problem isn’t the dependencies, the problem is dependencies written by people who only put the minimum effort into writing the dependency for their own use case because their manager was breathing down their neck.
boonhet@lemm.ee 11 months ago
Look, I hate bloated websites too (in fact I hate most websites in general, give me a native desktop app that doesn’t use Electron or Webview!), but if a 3 year old midrange Android gives you trouble loading things, maybe blame the manufacturer. I flashed a custom rom on a 2019 Oneplus 7 Pro and it’s super fast now compared to the last version of the official ROM that it got. It’s my secondary device. Primary is an iPhone that’s 2 years old and showing any signs of slowing down.