You need to study more. You need time for yourself. That might sound rude, but to be honest, that seem to be your issue. As you even mention, you want to get a good job position. A lot of people also want to have a good position where they can invest time on their family. It's actually the #1 adults want.
I suggest that to get out of this situation(which will possibly get worse over time), you set aside AT LEAST 1 hour a day to dedicate yourself to study.
Also, try to find a company that does B2B, preferably not startup. They usually involve VBA, Java and sometimes they can even have some "forward looking" tech for you to work with. On B2B, everything is slower and sometimes you mind find that you are actually pretty good in comparison to your peers. So you can take care of you family.
You probably know places where you could improve to not sound Junior. A few of them which most of the people I interview with doesn't grasp or can improve a lot:
- Learn some computer networking basics. Do you know where is HTTP in the network stack? TCP/UDP?
- Learn algorithms. Get a programming language you don't know, but would like to work with, and there is a good B2B market. That solves the problem "BUT I DON'T KNOW WHAT TO BUILD!11" problem, as you can just write algos and learn data structures
- Contribute with small and simple tasks on Github. That generally counts.
- Work on a idea, make a low-running webapp. If you show this to people, that'll make you stand out. Also use it as your playground, make it very well tested on some places, so you can show your possible employers that you can test well when you want/need, but can also be pragmatic for things you don't mind.
Try to divide this hour into like 30min dedication to each Item you consider important. Also, accept that not always you will solve a problem, or maybe it could take you a few weeks to really get things going. Use the alarm clock on your phone.
It's the same as going to the Gym.