I have been a computer programmer for the past 16 years of my life. Mostly, I have done database type of work. I am now working as an automation engineer designing PLC ladder logic applications, firmware for the PIC microcontrollers, and HMI/SCADA applications.
Here is my question. Even though I have been doing electronics programming for the past 5 years, I don't know a whole lot about electronics. I basically only know atomic-theory and how to read/write schematics and datasheets. How much do I really need to know, theoretically, to be able to go to another company doing firmware? I do have a degree but it is Computer Network Administration. Should I concentrate my efforts in one field, thereby "pigeon-holing" myself, or should I concentrate on a more "general" knowledge. I am no stranger to doing research and very much enjoy it. However, I do not want to really be a design engineer so to speak.
Any help, advice would be greatly appreciated!