Well my friend!! you dont learn everything in classes. Some things are learnt out of interest. Universities are there only to guide you, rest depends on you. Say you want to learn more about RTOS, your university did well enough to introduce you to it, now that you want to go in more details will you think of doing a PhD in it?? I think not, rather you will think of writing an RTOS for yourself.
When you have decided to do something, now you need to know how things work. Read a few papers, a few articles, and you are close enough to start working. Then while you work on your RTOS, you will learn a great deal about other things involved, like a processor (say ARM), its basic functionality etc.
Same goes with the network protocols, if you need to have in depth knowledge about things, you need to work them out.
Regarding development of custom usb devices and their device drivers, its not like only a few set of people are allowed to do that. Even you can do it. Let me give you an example project to work on. U've worked with PIC, so you will be having some basic understanding of PIC. So may be you can design a custom usb device to control your PC with your TV remote. You can get very good help from Microchip applications library. And while working on USB, you'll learn a great deal about how complicated USB devices are
Hope I'm able to provide some starting push to you