Solving a personal itch seems to be the learning method that would work best for me. So far, I have only been practicing through hackathon. Although it's practical (I think), it is not necessarily solving a problem that I care about, so it shares a similar motivational issue above.
Thank you for your thoughtful advice.