I think it depends on how you want to get involved: L1 protocol stuff? Definitely C++ since core is written in C++. However, with Python, you can also improve the core test suite. For L2 protocol stuff, I think Golang or Rust are good candidates (LND is written in Go, CLN in C/Rust) If you just want to build applications like SN, you can use any stack basically. SN uses NextJS + Postgres.
Jon Atack has a lot of resources on how to contribute: https://jonatack.github.io/articles.
But don't forget that reviewing and testing also counts as contributing. That's where most people are needed:
Remember that testing issues and reviewing are the most effective ways you can contribute as a new contributor (and will teach you more about the codebase than opening PRs).