Learning Nix is a rough but pretty efficient way to learn about building and running software, dependencies and packaging.
Rough, cause if you don't know much about it before you start using #Nix or #NixOS, it's pretty overwhelming - like in "I get it, there are different ways to do the same thing, that's cool and all, but what if I don't have enough experience to make an informed choice?" - but efficient if you stick to (& dedicate enough time to) it, cause you'll HAVE to learn those.