I recently moved cross country to work on what was supposed to be a fairly nice, new stack. I love my new city but the job is killing me.
Its legacy code dating back more than 20 years. I'm afraid that my skills will rot if I stay too long. The code quality is also horrible and its making me hate coding.
The company talks about how we're just around the corner transitioning to newer stuff. After talking to some veterans, apparently it's been "right around the corner" for years.
I was hired for my React and Typescript skills/interest and it's been months with no signs of being able to use them. I'm not good with their current stack but I have no interest in learning it because its so obsolete. I'm beginning to think that they mislead new employees because otherwise they would ask for a lot more money or walk away.
I'm torn about my best course of action. I'm not good at my job because I don't know their tech. I'm not good with their tech because I hate it and I'm bitter that I was lied to. I can't mentally force myself to learn this ancient shit. On the other hand, they're paying me, so I owe them something right?
The best solution for me is definitely to just get a job somewhere else, but I've only been at my current job for a few months. Should I just stick it out and hope I don't get fired for underperforming?
I now develop web apps using NodeJS and occasionally build UI using Angular and get to evaluate some of the "shiny-est", "cutting-edge" code/frameworks.
Do I think I wasted my initial years? NO. I worked on side projects which eventually helped me move to the tech I've always wanted to work on.
Did I do a shitty job on the legacy code? NO. On the contrary, I won many accolades for automating several processes and improving the performance.
Did I learn anything from working on legacy code? YES. A lot. I believe the experience of working on legacy code made me a much better developer.
Why do I think so? Working on legacy code means you READ more code than you WRITE. I am of the opinion that there are 2 things that are very difficult in software :
1. Reading code written by others. 2. Writing code that can be easily read by others.
Coding is one-time read, many-time read activity.
So, my advise - work on the code, stay in touch with what you like, but move if it's really bad. (No point in doing what you don't enjoy doing).
Just remember, the code that you write today will become legacy code one day. :)
P.S.: Also, beware of taking advice from a comment from a stranger on the Internet. :)