I will add, you miiiiiight want to reconsider that MEAN stack, especially if you don’t want to get stuck in frontend forever. Also Java is good to know, because it’s a cancerous plague that spreads across enterprise infrastructures almost as quickly as managerial incompetence does, but I wouldn’t advise you use it for personal projects if you can help it. If you really must, use Kotlin.
If you’re getting into embedded systems, you’re gonna need some C++, which is not as scary as it sounds - C++ is simple and elegant, if a bit unforgiving.
Python is the powerhouse when it comes to AI and machine learning, thanks to TensorFlow (which is actually written in C++, but the API is in Python, go figure). Python is very similar to JavaScript, except it’s not terrible. It’s also quickly becoming a crowd favorite in both backend and frontend. Definitely learn it.
Go is also a great language, and the only one I would consider to be more elegant than C++. It’s powerful, fast, cross platform, easy, simple, has concurrency as a first-class feature, features great error handling, and was built in such a way that it’s downright difficult to write a bad program in it. It’s the finest general purpose language I’ve ever seen, and as such is totally unheard of outside of Google. Seriously, the only people that use Go that don’t work at Google are the ones that used to work at Google and left to develop their own startups.
Don’t believe the NodeJS lies. It’s just Oracle’s marketing team throwing money at people to try to get their grubby hands in the backend market. Unfortunately for them, backends actually have to work, so you won’t see it much outside of hobbyist projects.
Also, learn Docker, and if you want to get ahead of the game, protobufs. Seriously, protobufs are the single most underrated thing in programming right now.
Congrats on starting your journey into the field, and good luck!