To the infinity and beyond.
I am currently a senior student in computer engineering school, but my experience in the software has started just in high school, when I first got in touch with how computers actually work not just using one.
I started learning web development and back end in particular, but as I proceeded there were a lot of rabbit holes that never gets filled as i learn;those holes are the computer science theories behind each computing device; as I proceeded in engineering and computer engineering curriculum, the big picture started to form and those rabbit holes started to fill!
As I started learning low level stuff, there was an urge in my head that learning these things is going to make any developer stand out among his colleagues, so as i learn web development and hosting models in particular, I learn low level programming, Micro-controllers and Microprocessors programming, to stand out as a software engineer and as a learner.