> I work at place where these architects, devs wouldn't know how to go beyond SpringBoot 1.x and Java 1.8 but from up there they are introducing Kotlin thinking it would relieve us of all Java development woes.
I actually migrated a number of apps from Spring Boot 1.X to 2.X and also older Spring versions to newer ones, as well as a variety of apps from Java 8 to Java 11 (17 might be in the cards, but perhaps not anytime soon) - it was a total mess and a pretty nightmarish experience.
From what i can tell, all software, with every framework and every stack rots with time. I've actually written more about it (in an absurdist fashion) in my blog post "Never update anything": https://blog.kronis.dev/articles/never-update-anything
Other interesting writing that i've seen online in regards to this is "Green Vs. Brown Programming Languages": https://earthly.dev/blog/brown-green-language/ which posits that our enjoyment and sentiment towards languages depends on how old they are and also how many bad legacy projects need to be maintained in them.
> Well the way things go in companies, by the time it all turns to turd original authors would have gone to other companies to create next generation software.
Ergo, this actually seems like what most developers should optimize for on an individual level: you don't want to stick around for 5-10 years and see your project get corrupted into an ill maintained piece of trash due to ever changing requirements, new features needing to be tacked on but not enough effort being put into refactoring, testing or keeping up to date with dependency releases.
Instead, you might want to stay around long enough so that you can start to feel the consequences of your actions, learn from the experience as much as you can and move on to other interesting and new projects, which will also be nice to put on your CV due to "CV driven development" sometimes being almost a must (or having plenty of personal projects, or just being able to network well instead, which is not attainable for all).
Because of this, i'd advise most to avoid doing what i did - migrating legacy code isn't nearly as flashy as working with new tech would be like. It was also very painful and demotivational at times, especially when the code quality wasn't great to begin with, nor was the documentation.