Everything I know is all self-taught. It's the best way to learn anything, because you don't have someone trying to tell you how to do stuff, you figure it out on your own, you may make mistakes but the mistakes you make and the solutions to that will stick in your head forever. If someone teaches you how to do something you may never make a mistake and learn anything.
Experience:
I have a wide knowledge of items weather it be hardware related or software I'll probably know something about it. I've worked with everything from microcontrollers to building a fully operational application.