This isn't half bad. (From someone who did this for a living at one point)
Btw, if you're writing a USB driver, most of the time the device uses HID, even though that's for a completely different type of device then what HID is supposed to be specced for.
"From someone who did this for a living at one point"
I'm curious: was this as an independent contractor or for an established company? I really enjoy driver programming and low level stuff for some reason (OSX & Linux and game consoles so far) and would rather like to specialise my contract work on that kind of thing. Beyond people stumbling across my work online, I really don't know who to approach and where to look for that kind of work. It's rather a lot easier to get referrals for more mainstream development work.
Btw, if you're writing a USB driver, most of the time the device uses HID, even though that's for a completely different type of device then what HID is supposed to be specced for.