Many years back I heard from somewhere that you should learn one layer above and below where you do most of your work. This was specifically for programming and implied your programming stack.
For example, I do a lot of work in Ruby on Rails which is a server-side framework. What I learned then was:
- Rails itself
- Below – MySQL/Postgres, Linux, Apache
This principle has guided my own self-learning in tech for awhile. By providing me a rule of thumb, I can decide how much time to learn something new.
Should I learn about TCP/IP? It’s two levels away from Rails (Rails->OS->Network stack). No.
Should I learn about Redis? It’s part of the data layer so it’s one level from Rails. Yes.
You can see, sometimes this isn’t a clear cut decision. Some things might cross layers. Some might be in different layers depending on your project or how you use them.
And sometimes you just really want to learn something, even if it’s way outside your normal stack.
All of that is okay.
My point is that by having this rule of thumb or decision framework I can quickly make decisions. Which gives me more time for learning.