>But as a contractor, there are many times I have to work in orgs that are 4-5 years old
I'm a contractor as well. You know, there's a ton of legacy shite out there that isn't greenfield and you just need to get in there and guddle (Scottish word) about to earn the bucks. Sure I'd love to work all day long with .NET Core (or even .NET 4.7), but I also need to maintain a bunch of crap that dates back to 2006 and written in .NET 2.0. But as a contractor I kinda get on with it. It pays for my hobbies (model railways and building analogue synths, growing chillis and other stuff), so I kinda just suck it up because the rates are pretty ok.
And you know, there's no shame in being a maintenance dev, some of the best devs I've met are looking after ancient crap long after the overpaid, unsupervised "superheros" that dug those holes moved on to their next 1000% glory roles, and we have to mop up afterwards (for a tidy hourly rate).