So for an example of a problem I'm facing, we have some Vacuum Furnaces. Essentially before you can turn titanium into a useful implant, you have to bake titanium at a temperature above its ignition point so that the molecules can loosen up enough and release the stresses that accumulate in the forging process. As part of this process, there's eight thermocouples of different sensitivities and at least three pressure/vacuum sensors all physically wired into a "chart recorder". The thermocouple "data" is literally a voltage reading, and the chart recorder is interpreting that and converting it into an integer and storing that in RAM. These devices are about 20 years old, and it can only hold about 24 hours of data, so you have to network it with a server that can store those readings in case you ever need to prove to someone that this step of your process was done right. It's not technically complex, but these devices aren't easy to interact with and often require physically connecting to them to make changes.
There's all sorts of possibilities for really meaningful integrations with other manufacturing systems, ERP systems, data analysis and visualization, and basically a million "low hanging fruit" problems in the space that simply don't get done because don't have enough people with any technical skill at all. Most companies I've worked for literally don't care about what the solution is, so you get a ton of leeway on architecting the solution.
IMO, the best part is that it feels like you're accomplishing something. Making a real impact. You can walk the floor and see the code you wrote building things. Doing things. You know the engineer who came to you with a problem, and you delivered a solution that makes his life easier. Not to make some abstract number go up for a quarterly report, but to actually make things that are useful.
Lately I've been scared that the only paid software jobs left will be social media surveillance, armed drones, and cloud infra to run the other two.