Edit - To be clear, since my reply got some upvotes, I meant that I enjoy being the senior developer diving into the legacy code. I actually really like it!
I might be in the minority, but I get more excited about the idea of maintaining/working on some creaky old legacy code base than I do about the idea of starting a new project from scratch.
I enjoy this too, but it’s kind of rough when you’ve inverted control, teased apart unnecessary coupling, updated dependencies and backed everything with unit and other tests, but then your colleagues are too scared to code review it.
I find that working on production code with well defined use cases and requirements to be the most satisfying, and working on new proof of concept / demos / marketing tools to be the least satisfying.
So on balance, more of the legacy projects I've worked on have fit those criteria than the new builds, but the couple of new builds that had well defined use cases, and no legacy code to deal with were the absolute best.
What fucking ass for brains engineer wrote this dogshit code?!?!?! I'm gonna scroll back to the header find out who wrote and give a piece of my mind to... myself x.x
I've gotten to spend some time where my major responsibility was to refactor and improve "research-grade" code from some scientists. Felt like tending a Zen rock garden, but code lol, I found it really relaxing and lovely.
Used to do that when I was working in science. I also kinda loved it. Just interesting to intimately experience how people thought back in the 80s. There are surprisingly many Fortran 77 libraries still in use today (they can be called from modern Fortran code).