One of the best advice I got early in my career: if you call yourself a "Java developer" you've already lost the game.
Obviously, there is no easy path. But here is what helped me:
The most important thing is that you HAVE to work with other good developers. Software engineering is only partly about explicit book knowledge. You can't just learn it by studying or even building on your own. You have to build complex software in a team in order to develop your instincts and judgement. And, of course, the easiest way to get a job is to be hired by someone who's worked with you before.
I know this sounds like Catch-22: you can't get a job unless you first get a job. In reality, this is just recursive. It's just like bootstrapping. Start by getting any job you can and learn from it. You'll build up more skills and more contacts to be able to get another, better job (maybe at the same company, maybe at a different one).
If you already have a software engineering job, then you need to maximize what you get out of it. No matter what stack you are using, you need to become an expert at it. And if there is someone who is better than you, learn from them.
If not, then it's probably time to leave. Ping you contacts, do some research, and pick some companies that you'd like to work at--preferably ones that (a) have strong developers you can learn from, and (b) have problems that you can actually solve (e.g., are using stacks that you're good at).
But if you don't have a job yet, you need to start somewhere. Build up a list of companies and job openings and start applying to them. Keep track of the requirements and skills and apply to the ones that are the best fit. Don't worry if you don't have all the skills they ask for. As long as you have a reasonable subset, apply.
Next, track the responses. Most of the companies will ignore you, but some might do a phone screen. If so, then track the ones that do. Is there a pattern? Maybe all the companies asking for Python skills ghosted you, but the C++ ones reached out. If you can spot a pattern, try to exploit it. Apply to companies with similar requirements and see if they are more likely to respond. Or update your resume (maybe by learning new skills) to see if you can get a wider set of responses.
None of this is easy, unfortunately, but it will be worth it in the end. Good luck!
Javascript/Typescript, Python, Java, C#, PHP...
Back: Next/Express, Django/Flask, Spring, .NET, Laravel
Front: React, Angular, Vue...