Theory tells you how a circuit works, not why it doesn't work. Not everything works according to the specs in the databook. Anything practical you learn will be obsolete before you use it, except the complex math, which you will never use. Always try to fix the hardware with the software. Engineering is like having an 8 a.m. class and a late afternoon lab every day for the rest of your life.
Engineers rule the world until the next revision.
If you like junk food, caffeine, and all-nighters, then you should go into software. Dilbert is a documentary. I run this operation in my spare time, so be patient with changes requested.