Nice! Sounds like we both came to Linux for similar reasons - I wanted to learn more about coding and software architecture. In the Windows space at the time, there really wasn't much to work with in terms of freely available tools. A friend at work introduced me to Linux and it was love at first sight. Even though the system was primitive at the time, it had everything I needed to learn what I wanted to learn. The UNIX idea of making lots of small programs with text IO and piping them together in a shell was, to me, sheer brilliance. Building blocks - all small in scope, and therefore fully understandable. Stuck together properly, they allow you to solve complex problems. Need something slightly different, just change one or more of the simple building blocks and you've got what you need.
Those were fun times - so much learning, and very little cost; my software education consisted of spending every dollar I could scratch together at the bookstore (remember those - before Amazon) to purchase O'Reilly books on every subject in the coding and UNIX world that I could envision an application for. I worked with some great folks that had considerable software experience at the time, and learned much from them. I miss those days - staying up all hours of the night reading, learning, coding, testing, and relearning the 'right' way to do things after I'd gone off the rails and lost my way.
Interestingly enough, it was the same thing for me when I 'discovered' Freemasonry. Beauty. Simplicity. Complexity. And so much to learn.