I don't know how helpful this will be OP: but thinking about problems in your domain and writing about your solutions is a good way to establish competence. It's the difference between organic leads vs active advertising. The former has the client coming to you and the latter has you chasing the client.
Which of these do you think works the best? In my experience its the former by far (all of the people who have sought me out had the most reasonable and interesting project.) But I do understand that in the beginning you're going to have to grind to get anywhere (share your work where ever you can) which means putting in A LOT of unpaid hours doing research and development for new stuff. It's worth it though.
If you keep working on your portfolio and learning new skills then you will never have to look for work again. Just think of the security that would bring: To know that if anything happened to the company you're working for (or you get fired) you can sign a new contract the very same day. Would be amazing for most devs... But in my experience this can only happen if you specialise.
The problem is, there is too much competition for the skills you listed. As an example, if you were to learn some skills in say - big data or AI then you would be much more competitive. I know that's a big ask but one thing I think is true about the tech industry is that anyone can succeed if they put in the effort. In the end its a meritocracy, so the good developers quickly go to the top and the bad ones are weeded out... Remember companies ARE looking for good developers all the time, you just have to make yourself heard and do something worth showing (this doesn't necessarily mean applying to a company. Get creative. There are a lot of ways to stand out)
Which of these do you think works the best? In my experience its the former by far (all of the people who have sought me out had the most reasonable and interesting project.) But I do understand that in the beginning you're going to have to grind to get anywhere (share your work where ever you can) which means putting in A LOT of unpaid hours doing research and development for new stuff. It's worth it though.
If you keep working on your portfolio and learning new skills then you will never have to look for work again. Just think of the security that would bring: To know that if anything happened to the company you're working for (or you get fired) you can sign a new contract the very same day. Would be amazing for most devs... But in my experience this can only happen if you specialise.
The problem is, there is too much competition for the skills you listed. As an example, if you were to learn some skills in say - big data or AI then you would be much more competitive. I know that's a big ask but one thing I think is true about the tech industry is that anyone can succeed if they put in the effort. In the end its a meritocracy, so the good developers quickly go to the top and the bad ones are weeded out... Remember companies ARE looking for good developers all the time, you just have to make yourself heard and do something worth showing (this doesn't necessarily mean applying to a company. Get creative. There are a lot of ways to stand out)
Good luck OP