I'm a programmer for a local Engineering company. We mostly do combustion systems - anything that makes fire. Burners, boilers, ovens (cookies / pies) but i can also do Climate control such as coolers and freezers for labs with humidity control and the like.
So I program in C and Ladder Logic (RLL) It's a heavily "If This, Or That, Then this" language. But the newer hardware has some awesome features like subroutines and remote updates / data logs. I do a lot of work for Europe so I'm always translating stuff too. (I don't know languages, but I go back and forth with the client sending screenshots of the touchscreens to make sure the grammar is correct)
As far as that goes, any coder mindset can get into it. I happened to take a class in school that gave demos with the primary controller we used at my job - kinda got lucky. Half-Life scripting has helped a lot because I'm used to doing crazy things with a limited toolset. It's a great segway into industry problem solving.
More recently I've been designing control systems. So for that I'm actually using some knowledge I gained with my Electronics degree. I need to do a lot of reading - manufactures manuals and such. I need to know how to protect the user and the wire and how to properly size the power coming into a panel and then distribute it to the devices through branch circuits and circuit breakers / fuses.
So i'll get a quote from a customer, cross reference their job specifications, pick components, lay them out, purchase the parts, make CAD drawings.... Then it goes into Engineering check and we discuss options etc etc... Then the panel gets fabricated and If it needs programming, I do a preliminary program during fabrication.
Most of the stuff coming through our shop is a one-of-a-kind system so I get to play with new technology and techniques all the times. It keeps things interesting although I usually have a standardized starting point for the basic stuff. And then any custom panel needs a custom manual... I usually write those too - how to use the touch screen, how to install it, start it up, i provide basic troubleshooting help and a list of all the hardware used and a recommended list of replacement components.
I've also been doing some specialized prototype circuit board design for one of our clients, but our main workflow has always bumped that to the backburner. That involves the same thought process but instead of 480 volts, it's like 24Volts and you REALLY have to know your components.
So yeah....
I have an Electronics Engineering Technology degree which came with basic knowledge of electrical: DC, AC single / multiphase power systems. I've been coding since I've been 14 (Calculators, BASIC, C, HL1/2 scripting etc..) and I'm a pretty good troubleshooter - I can find problems fast, and I'm not too bad at coming up with solutions.
So.. the Half life mapping experience also comes in handy when I want to do graphics for the touch-screens. My boss loves it and I have a good time doing it.
Sooo....
Education: High School, 2-year AS degree - EET, 4-year BS degree - EET (I graduate in 5 days!)
Work Experience - 4.5 years.
Other experience: Writing (Wrote that silly Source SDK book) Took a few Technical Writing classes in college.