I'll bite:
Let's say you have very limited time to learn ...
I think that is probably the case for all of us. Personally, I recommend you apply some time to "optimizing learning". I have been improving my ability as a speed reader for 18 years (not the "read every word faster with eye exercises/gimmicks but strategic skimming/scanning)[1]. My strategy allows me to eliminate books that would result in wasted time in a couple of hours and rip through large volumes (with a very specific method of note-taking) in anywhere from a weekend to a few weeks (depending on depth of topic/my current ancillary knowledge level more so than the length of the work). That may not be the best approach for you, but the nice thing about focusing on optimizing your learning is that it allows you to focus on a topic in addition to getting better at learning in general.
... not doing much learning in your day job.
This is one of those areas worth optimizing as well. If your job is dead-end, single-focus, and "not brain work", you should start looking elsewhere as soon as you can. In programming, there's often opportunities to study the corners around the area you're specializing in. If it's possible with your current workload, try to increase this as much as possible.
What is your proces for picking topics to learn (other than "this is interesting")?
You hit the main one, but the list is as follows in priority (which falls well below the first "this is interesting"):
- Is it something I can use right now on a problem I want to fix for myself.
- Will it give me a greater understanding of the craft that I have chosen as "my life mission" or "my career".
- Is it something that is narrowly related to my career, but far enough away from it that I'm unlikely to encounter it in my day-to-day job.
- Could learning this reward me financially by using it to create a sale-able product based on the knowledge I've gained? I put this at the bottom because I make a good enough living currently and I enjoy my job enough that if I were to have a side-income that replaced what I currently make, I'd still not want to leave my current job so the choice would likely be to sell the side-business, support it in my spare time (a non-starter) or do the side-project full-time.
The result of the above bullet points led me to get into embedded/IoT-related devices. There are too many things I'm interested in solving to even list that relate to the embedded space. It involved researching and learning C++ (again), which I had a long-expired background in, and also served to give me experience in a language I have occasion to use in my day-job. It's unlikely (but plausible) that I'd be developing something in the embedded space in my day-job, but if an opportunity presented itself, I'd be prepared. The solutions I'm working on could certainly result in a product I could sell. It hits all points.
[1] "Speed reading" has a bad reputation as of late, though a few articles have pointed out the idea of skim/scanning as it relates to speed reading. It's a very useful way of increasing the speed at which one can learn from a book, allowing multiple "reads" of a text at varying speeds/intensities. It is, however, something that took me 10 years to get good at and I think that's one of the reason the gimmicks are getting such a bad reputation. They promise an unrealistic increase in reading speed using an unrealistic set of techniques in an unrealistic time frame. Reading is a complicated mental operation and requires focused practice to increase both speed and retention/learning and in my case involves a strategy coupled with multiple reads of a text with a lot of note-taking. It is mentally exhausting for me when I execute and it was a very long process to get to the speed/retention I have today, but it works wonderfully.