On the other hand, my job consists of working on poorly managed sphaghetti code with very low velocity, the system is very inefficient, and the tooling, debugger support, etc., are pretty terrible.
This is resulting in burnout, my job is frankly, too boring. I want to know if anyone found themselves in a similar situation, and how they would deal with it.
I like the company, but I do not feel like I am living up to my potential in my current role. How does one aquire or transition into "interesting" roles, especially regarding new development? What do hiring managers for new development look for? And what do I look for in job/role listings to weed out legacy/maintinence work?
I think this is a question on what you want to pursue. I want to say choose carefully, but to be honest, it doesn't matter that much.
the important thing is just that you pursue something.
if technical challenge is what you want to pursue, consider planning for and fighting to move into compiler teams or kernel teams (maybe find a new job that can support that).
(What's [s]he going to do -- fire you?)