Just like most hardware developers, tinkering had always been my thing growing up, and thus Electrical Electronics Engineering seemed like a perfect course to study in the university. At the beginning of 200lvl, I and a friend Collaborated to build an inverter to power our rooms, since we were staying off campus, and that marked the beginning of the collaborations and beyond the class learning that characterized my stay in school.
You will of course agree with me that no university will teach its student enough to build an inverter in 100level, so that means I and my friend had to get the knowledge we needed to build it from somewhere else and the internet proved itself god enough.
Motivated by this success, I began to attempt solving several other problems in my environment and I then began to discover things like embedded system, micrcontrollers, micro processors etc.
During this period I began to have issues with what to learn,very few people around me knew something about the things I was talking about, friends called me futuristic and said I should reduce my movie time and things like that, So 300 level I walked up to one of my lecturers and told him to start giving me difficult, practical assignment which he gladly did, this exposed me more to the internet and I began to learn how to work with several platforms like STM and PIC MCUs.
I also began delving into things like machine Vision, Image processing, Deep learning, and artificial intelligence as most of the problems I wanted to solve went beyond hardware and touched this topics, and even though I had friends that were good with software development they had issues integrating with hardware and thus it was evident I had to learn software development at least to a certain level.
All this made me a contributor to platforms like stack overflow, mathworks, amongst others. Thus by focussing on solving real life problems I was able to develop my skill set.