4 ms·
While I don't have a good way to articulate it, it does seem to me that the modern software development style which involves an explosion in complexity, either
by Dove 2y ago
While I don't have a good way to articulate it, it does seem to me that the modern software development style which involves an explosion in complexity, either in terms of dependencies or infrastructure or both, in order to make developer time go a little further, and the ensuing explosion in expertise required to maintain, secure, and evolve the system... all of that does strike me as reminiscent of the rocket equation. When I find myself spending more time dealing with patching dependencies, or screws coming loose somewhere in the build system, or dealing with performance idiosyncracies of some hot new database, or the peculiarities of some middleware messaging system, or the automated tests needing maintenance, or dealing with transitioning off a now-unmaintained technology, when I find myself spending so much time doing such things that making any actual change in business logic takes orders of magnitude more effort than it should, I do very much feel like all the engineering effort is just fuel to lift fuel to lift fuel.
How to articulate that in a pithy way? I do feel that when you have a lot of technologies interacting on a project, even if they all worked well together initially, in five or ten years time the whole thing does have a very rocket equation like punishing curve for return on maintenance effort. Perhaps something like "Over time, maintenance effort approaches exponential scaling with the number of interacting technologies."
Ah! I got it. What's going on is that external dependencies are a source of chaos, as maintenance and security issues and expertise requirements flow from that project into yours. So...
"Dependencies cause multiplicative bit rot."