I'm currently working as a front end engineer (70% front end, 30% back end).
When I used to briefly worked at greenfield projects where I get to play around with React, Redux, starting a component library etc, I was very excited and learned a'lot.
I was then moved to a team working on maintaining a legacy but critical codebase. Despite the fact that I tried to lie to myself by saying as a software engineer, I should be able to adapt to anything and place customer first. I was not happy and motivated.
For some reason, one year in, I'm not growing. To be honest, I am not interested in the old ways of doing things (e.g. Knockout, JSP) as I see no market value in them. I tried to reason with my manager the value of upgrading the tech, but the progress is very slow.
If my resume is only working on the greatest and latest, is that a bad thing? Does anyone else have a hard time trying to convince themselves the value of maintaining old codebases? How did you do it knowing when you apply at the next job interview, they will be asking up to date technical interview questions? I felt really dissapointed at myself at my inability to adapt...
That couldn't be further from the truth. You learn much more navigating a very complex code base, having to introduce changes without breaking the APIs, making decisions about scope and communicating with stakeholders who rely on that API. Evolving a big legacy code base that is generating revenue to the business and supporting the core users is a very hard software problem
Greenfield development is easy, anyone out of a bootcamp knows how to put A+B together from internet articles.. I honestly am not amused when I see CVs of people who keep just playing with cool toys and never maintaining their code, people who never worked in code bases that are 5+ years or stayed a long time in a company.. IMO as a rule, and every rule has an exception, they aren't valuable software engineers. They haven't had to support their own systems until they become legacy... they're fad driven developers.
The best thing you can do is read this book: https://www.amazon.ca/Pragmatic-Programmer-journey-mastery-A... and apply its lessons in your company, in a code base for years.
Whatever framework or technology you're chasing honestly doesn't matter. It's bound to be considered legacy at some point anyways.