I think everyone below the age of 40-45 should try to learn programming. It's an interesting type of puzzle, with an infinite amount of complexity. Best way to learn it is to just try it. Too bad spare time is pretty hard to come by these days.
Programming can be a ton of fun. For me it's much easier to learn when I give myself a project to work on, a puzzle to figure out.
I just finished writing my Raspberry Pi train departure app. I love how it turned out! It dynamically updates the latest departures based on a departure time API. It accounts for changes in departure platform, delays and different train companies.