Speaking from personal experience, find something real
, from your life, that you can "solve" with a computer program. Nothing like solving an actual problem. Something simple. Achievable.
Over the decades, I have written programs that...
- managed attendance lists and statistics for my local Judo club
- helped me with practicing English vocabulary, asking me those words I had gotten wrong before more often than those I already knew
- managed a BloodBowl league, and its teams, taking game results and updates, and printing fill-in game sheets for the next round for all players involved
- managed a list of Amiga shareware software titles, their current versions, and the regular updating of that list using the AmiNet upload list, generating HTML from the data
- managed news items for http://www.amiga-news.de, and their translations, generating HTML for the frontpage (replaced by an online CMS by someone else now)
- helps with "rolling" Rolemaster RPG characters (on my mobile phone!)
- helps with "rolling" and resolving Rolemaster RPG attacks (on my mobile phone!)
...and quite likely a couple more I have forgotten.
The point is that applying yourself to a "real" problem, you already know the "problem domain", and you get the immediate reward from implementing something that you
would like to have (as opposed to, trying to "please" other people you'll probably never meet with a software you don't actually need yourself).