the average developer spends 42% of their
work week on maintenance
Indeed, I see that happening all around me when I watch how my friends build their startups. The first few months they are productive, and then they sink deeper and deeper into the quicksand of catching up with changes in their stack.So far, I have done a somewhat good job of avoiding that. And I have a keen eye on avoiding it for the future. I think a good stack to use is: OS: Debian
DB: SQLite
Webserver: Apache
Backend Language: Python
Backend Library: Django
Frontend: HTML + CSS + Javascript
Frontend library: Handlebars
And no other dependencies.I called Django a "library" instead of a framework, because I do not create projects via "django-admin startproject myproject" but rather just do "import django" in the files that make use of Django functionality. In the frontend, the only thing I use a library for is templating content that is dynamically updated on the client. Handlebars does it in a sane way. This way, I expect that my stack is stable enough for me to keep all projects functional for decades to come. With less than a week of maintenance per year. |
Apart from the big question of where that number is from - How is that even a "bad" thing?
I've been on projects where about 100% of the work was maintenance. The app was done. It provided value. Things broke, bugs were uncovered, but the cost of maintaining the app was far eclipsed by the cost of maintaining it.
It's one of the things I hate about software development - every other industry accepts that things require maintenance and that spending on maintenance is a hard requirement to keep the thing you invested tons of money in running. Only software development seems to believe that anything, anywhere reaches a magic state of "done" and will never need to be touched again. And that the only thing that adds value is adding new features.