I would approach it in the opposite direction: find out what you want to do first.
I think people don't like that answer, but you can spend time researching, seeing what's out there and what problems exist. I'd say it's time well spent.
Selecting the language and tooling is much easier if you already have an idea or project that inspires you. If it's an existing project, then it'll be as simple as learning whatever that project uses.
I suspect lots of people learned C++ because they wanted to contribute bitcoin core, C because they wanted to contribute to lightning, C# for btcpay server, etc.