Ask HN: How do you build applications that require zero maintenance?

No 100%, but close.

1- Shield away from dependencies. Use languages that are robust (no JS, no PHP) and if possible, generate native .exes (Delphi, Rust, Go,...).

Langs with large runtime/deps (Java, .NET, Js) are always trouble in the long run. I re-enter with .NET Core and have regretted heavily it (because maintenance, not performance or dev productivity).

ie: If a lang/tool/ecosystem is for large teams (java, .net, c++), is not for zero maintenance.

How easy is to setup and get running something (without resort to auto-installers or docker images) is a high evidence in how good will be for this metric.

2- If possible (mobile) use iOS. Android is not robust at all for long term prospects

I made a enterprise iOS app that is also nearly worry-free. My only job is to upgrade xcode and recompile from time to time.

I enter android late in the game, dreaming that android become more or less good. Not.

3- Important! If possible, split the programas between what could be "zero maintenance" and high maintenance.

I have made one in Delphi that is running 10 years in some places with zero calls after the first 3 years of tweaking.

Is split in 2 parts: The Delphi side have stay solid, and the "business" side that requiere more changes are in scripts in python that I integrate with the Delphi side.

Even the python side is now near worry free, but I need to do changes here and there.

4- If need JS, pick VERY carefully how use it. JS is the anti-tesis of zero maintenance. The web is hostile in this area. You could lower damage if VERY carefully know what to use.

5- Stay away of stupid "is for scalability" traps. Micro-services, nosql and similar are the best way to destroy productivity. Modular code yet running in a monolithic (or maybe in a REST api + client) will be more than enough by long margins when coupled with postgresql or sqlite. Again, a solid RDBMS is what most need. "Eventual" consistency is a stupid choice most of time.

P.D: I'm solo developer, and have not time or high pay to cover for bad choices, so i try to perform very well in this metric.

View Original