Why would anybody actually enjoy maintenance programming?
It's a long story. Bear with me.
I grew up in the 70's and 80's when all my heroes worked at Bell Labs, but they were just these weird guys who did computer stuff that nobody paid attention to at the time. They wrote code because they needed to do shit, not because it was sexy.
I cut my teeth writing BASIC on a VIC-20. Not very sophisticated, but I felt I was doing more or less the same thing those guys were doing: I wanted the computer to do something it didn't do out of the box, so I taught myself how.
In the beginning, I was a terrible, unsophisticated, uneducated programmer, and I spent a lot of time rewriting my own code.
So what?
I got used to the notion that if I didn't get everything just right, the program would crash if you looked at it wrong. Refactoring wasn't a side quest, it was what I did after writing a long function to figure something out and then needed to break it down into manageable parts.
Fast-forward twenty years, and I decided this was something I'd like to do for a living, so I got the education I so desperately needed. I learned about data structures and software engineering and project management.
But I never forgot those early years rewriting my own code over and over, making it better, making it right. It was satisfying to me, and it still is.
I've spent a good deal of my career either porting or maintaining other people's code, mostly because nobody else wants to do it. They want to start something new, work on a feature, do the sexy things. That's cool, I get that, but that code might hang around for years, and it's unlikely to be perfect or completely future-proof.
Then it's time to call in the maintenance programmer. I've got you, dude.