In company it depends upon the project and team size some you have test,verify it its depends task is given to you, for testing you have make test plans you have various documentation works etc etc etc............what ever it would be you love your work in this field.......sometime you have to do all this work by yourself..if it is a small project..............once you enter in field i'm sure you'll never see back again.........but for all this thing you have to work hard very hard..........as you want to learn by self so go to this link also **broken link removed**
- - - Updated - - -
Start from various architecture micro controllers there pin diagrams, start from 8051 then PIC, AVR, ARM...You should know how to interface with other peripheral like keyboard,lcd,motor etc....you should know assembly language but now a days it is very less popular due the time constraint so go for C after learning C go for embedded c
you can use various books for these...i would recommended you to go through "The 8051 micro controller and embedded system using assembly and c " by MAZIDI i is very goog book you can use books for PIC and AVR by the same writer.....also go through EMBEDDED C by MICHAEL J.PONT......after all these you should know basic concepts of OPERATING SYSTEMs, Real time operating system, device driver,tcp/ip protocol,etc.............you should also know debugging techniques for these.......for starting USE tool like KEIL, MP lab (for PIC variant), PROteus for simulation......