As time goes on, I more and more have the feeling that maintenance is 95% of the value in any software system.
A well-designed system at launch is not sufficient to provide sustained value, but competent ongoing maintenance is. Phrased another way, you can sustain value by maintaining a badly designed system but not by not maintaining a well-designed system.
Ideally systems are well designed and well maintained but we don’t always have that luxury.
Circling back to your point, it’s ironic that maintenance is the lowest-value activity in terms of big tech company reward systems.
Yesterday I saw a post on Lamba The Ultimate that, while a bit long-winded, does a great job addressing this issue. The article picks up in the section headed The Labor of Care, and, for me, the money quote is: ”In order to care for technological infrastructure, we need maintenance engineers, not just systems designers—and that means paying for people, not just for products.”
Sometimes they can be well architected to a fault!
I worked on a periphery of a big mainframe system that was designed and implemented before I was born. I think release 1 was in 1975. It still runs really well and is hard to displace because operationally, even though the people who understood it fully are retired or dead, they left behind strong materials so a moderately intelligent person can run everything.
The “other” systems, old .Net, Java, etc that support the interfaces to the old app are hot garbage, and tend to steal the budget dollars that are needed to migrate off the 1970s stuff. My team had to fix one of these… argh.
When I worked tech support I got to know the "maintenance devs" pretty well. It was amazing how I'd end up on calls with the non-maintenance teams and they would insist X, Y, Z couldn't happen and no man ... maintenance devs knew it both could and was happening and would explain how and why.
God bless those other non maintenance devs, they were good, but man they could take an RFC and turn it on its head sometimes.
A well-designed system at launch is not sufficient to provide sustained value, but competent ongoing maintenance is. Phrased another way, you can sustain value by maintaining a badly designed system but not by not maintaining a well-designed system.
Ideally systems are well designed and well maintained but we don’t always have that luxury.
Circling back to your point, it’s ironic that maintenance is the lowest-value activity in terms of big tech company reward systems.