While maintenance and ‘fixing stuff’ may not be particularly glamorous, it can be very rewarding.
I know this to be true first hand. In the sepia toned memories of my past I worked as a maintenance developer on a substantial Hospital Management Information System.
Victories in code fixes seemed few and far between but when you achieved them, they were very satisfying.
In those days, configuration and coding changes for customizations were the norm and very little time was committed to new development and innovation – we had a system and our mission was to get it installed as quickly as possible and then spend the rest of our time keeping the hamster in the wheel while we basked in the glory of having implemented something awesome! Well that was the theory at least.
While I wanted to be spending my time on developing new reports and better analytics and record matching and record de-duplication algorithms, that was not always an option.
There were always more mundane tasks being assigned in the software support queue like screen refresh optimization and accelerated search and retrieval modifications that needed attention.
On one occasion I remember that I discovered that a screen refresh could be optimized to take half the time, simply by changing the order of record retrieval.
The end result led to squeals of delight of the people working with the application when it was demonstrated to them and having the positive feedback from the users felt very satisfying.