High school drop out turned software engineer here. I never had any success with these sort of programs. My advice is pick a hard problem (to you) and stick with it until you've solved it. Rinse and repeat. Eventually you will be pretty good at solving problems.
same background, but different advice: pick a problem you have and build a website that solves it. start with a trivial problem, then start adding javascript.