this post was submitted on 15 Feb 2026
0 points (NaN% liked)

Software Engineering

450 readers
1 users here now

Software Engineering is the systematic and engineered development of software in all its life cycle.


Rules

  1. Keep related to software engineering
  2. Keep comments on-topic of the post
  3. Try to post free/open access content
  4. Try to post content from reliable sources (ACM, IEEE, SEI, NN/G, ...), or useful content in general
  5. Relevant questions are welcone, as long they are genuine and respectful
  6. Be genuinely respectful, kind, helpful; act in and assume good faith
  7. No discrimination
  8. No personal attacks, no personal questions
  9. No attention stealing: no ads, spam, influencers influencing, memes, trolling, emotional manipulation/advertising (e.g. engagement through enragement or other negative emotions), jokes that dissipate the focus of the topic, ...

Resources

founded 3 years ago
MODERATORS
 

Explaining why we need "apocalypse-proof software" and some actual software tools for the mentioned situation.

top 3 comments
sorted by: hot top controversial new old
[–] riskable@programming.dev 0 points 1 month ago (2 children)

I take exception to this one:

We must make robust software that can work for years without needing to update

Everything needs maintenance. Everything.

The world turns and the solar system moves through the universe. Nothing can be left alone for long before you have to do something to make sure it will continue working.

Everything left alone rots and gets taken back by nature. Both living things (weeds, animals, other people) and non-living (UV radiation, natural radioactive decay, oxidation) will impact anything and everything humans create.

Even the oldest artifacts that live inside museums need regular maintenance!

Software runs on human-made hardware that has change cycles that result in backwards incompatibilities, end-of-life issues, general expiration (think: motherboard batteries), and technical debt.

There is no situation under which any software can be installed once and then left alone forever. Even NASA sends out software updates to remote, far away probes!

[–] artifex@piefed.social 0 points 1 month ago

I understand your sentiment but there’s an unbelievable amount of low-level code that will never get updated and will be fine for the lifetime of whatever system it’s in. If you drive an ICE car there’s a chance it will never really need an ECU update. The microcontrollers in most of your home devices, from washing machines to sprinkler systems, probably can’t even be updated. We’re capable of building software that lasts more or less forever, but it often has to be paired to specific hardware and made for specific use-cases.

[–] somegeek@programming.dev 0 points 1 month ago

You're absolutely right. Note that I said "years without updating" not "never updated". Depending on the domain, I think we can always at least aim to make our software as rugged as possible.

I think we should take more aspiration from mechanical engineers and car manufacturers.

A car needs maintenance, but you might just start up a 70 year old engine and it works ok. Our a 70 year old car might be still up and running with minimal maintenance. You don't want to be rapairing/updating your car every month or week.

I understand the domains are different, but how much really? I think if we build with the "rugged" mindset and good engineering, there is a lot of improvement to be made to what software is.