|
First post here. It's 2 AM and can't sleep. I'm 40 and the majority of my experience has been in Java. Spring, Spring Boot, Hibernate, what you'd expect. I'm pretty much at the top of my game (which I know is specifically Java, but bare with me). We all know technology constantly changes and progresses, and I've always thought that's fine, I'll be happy to learn whatever replaces Java because it will be better, right? I've seen Go coming along, Kotlin too. But I've been hit like a brick in the face to realize where we're headed. AWS. The cloud. I'll get to the point. I hate it. I've seen it happen personally at two companies now. The transition to the cloud. Where we throw away everything we've spent years learning to reinvent the wheel. We throw away relational databases for MongoDB. I love SQL. I'm good at it. But no one cares. MongoDB is "in" now. I'm good at Java. Years of experience and I finally feel good in my abilities and speed with the frameworks, ORM's, best practices, etc. We're just throwing it out like it's nothing. For AWS products. Lambdas written in Typescript (why Typescript, I don't know, the same reason I don't know why MongoDB). Files of YAML configuration, and Kubernetes and a lot of other things I don't care about, just to create the same CRUD apps we've always been creating. I've been buying power tools and learning how to use them. I've started taping and patching drywall. I've cut down trees. I want tools that won't change every 5 years. I want tools that I can master and will be relevant in 50 years. Maybe I'm too old to be a carpenter, or tradesman. I just need some advice. The worst thing is, developers are embracing this AWS trend and seem to love it. No one seems to mind. Software engineers are cursed. Just when we've established a best practice and it's a solved problem, we throw it out and reinvent a new way to do it. Please let me know if I'm not alone, or if it's just me and I need to adapt or get out of the way. I will predict this though: AWS is a mistake. It's not fun. It's not "software engineering" and it won't be here in 10, 15, 20 years. All your mastery of Kubernetes will be for nothing. It will be tossed aside like trash. And the worst part is when that day comes everyone will act like it was never that great all along. They'll also embrace the next trend like it's the greatest thing ever. Because software engineers are cursed. |
But there are also other technologies that have their merits. I understand that you find it frustrating to look at them and you feel like it's a huge wall to climb to also learn these technologies after you have invested so incredibly much time in mastering the Java ecosystem.
My advice to you is: Don't stress out over it. Explore these other technologies without having to think about how you will use them in your professional life. Take away the pressure and focus on the enjoyment of learning something new. Eventually you will learn enough for it to be useful. And as stated previously: The Java ecosystem is not going anywhere.
You might also want to check out Clojure. It's a very different language but it uses the Java ecosystem, so you will still feel at home. https://clojure.org/