This isn't me giving advice since you're probably more experienced than me. My perspective and belief, however, is that you gain in-depth knowledge by going down layers of abstraction. Instead of using an RDBMS, write a database from scratch. Instead of making a game in Unity, make it with OpenGL or D3D11. Write a 6502 or 8086 emulator. Write a toy operating system. And so on.
I find that when I do these types of projects, I very quickly figure out where the holes in my knowledge are. That gives me a direction on what to learn next, and the motivation to actually learn it and apply it in practice. It feels much more efficient than just picking up a textbook and trying to learn that way.