| I'm very much in the same boat. I'm in my mid-30s. Been doing Java for 10 years. I'm finally catching my stride and feeling like I'm really mastering it and suddenly we're building services with Typescript because we didn't learn from Perl that spinning off an entire process for "parallelization" wasn't a good idea. In a similar vein, we used to just deploy Spring to EC2 and it was rock-solid...now we spend more time managing k8n and explaining Lambda cold-starts than actually building software. That said, we sound more like old fogey complaining about modern cars being "all digital" while our 1980 Ford Ranger is still kicking. (pardon the analogy, it doesn't scale and EVERYTHING needs to scale now right?) The cloud's just hosting through. You can still built with Java and it's still in the top 3 languages for a reason and in HIGH demand. All we have now is more options...and yes, less experienced folks are going to not always pick the best option. A teenager wants the car on the showroom floor; an adult knows you buy a late-model sedan or pickup. (Hey, this analogy is working.) Your career wisdom is aligned. While I don't think AWS will go away in 30 years, it will evolve. Picking what to master (Java or Kubernetes) will always be a judgement call. I'd say you're right that Java is a good call and Kubernetes is a bad thing to "master" (the latter will and has already been abstracted away with things like Fargate). But some things are really awesome. Have you tried out Elastic Beanstalk? It's SO easy to go from start.spring.io -> Elastic Beanstalk -> a real working, hosted, and scaled public web service in like 1 hour. With wisdom comes the knowledge to distinguish the "fads" and the "future." There was a time when Java was "too slow" and applets were everywhere. Even Java had its fads. Honestly, I'm very hopeful for the future of Java. With Project Loom and GraalVM, we'll be able to better compete with Go (with virtual threads) and TypeScript (with native startup times). |