That's an excellent point - but I'd emphasize that it's the problem that's solved with the help of programming that the customer cares about, not the software package that's built by the programmer. Likewise, the end goal of the customer of the SCUBA welder is not the welding; it's the utility they gain from the pipeline or the structure or whatever the SCUBA welder has assembled. The customer doesn't really care about the welds themselves.
As an automation integrator, I frequently have to push to the forefront of my mind that my customer's focus is not on the machine that I'm designing for them. Yes, I'm going to spend 600 hours on the intricacies of hazard mitigation and operating modes and IO and quality control and timing, with a deadline looming large to ship the machine - it is easy when you're that deep to think of the machine as the end goal. But for my customers, the focus is on the chairs or door handles or valves or whatever they're making that come out of the machine. Graceful fault handling, alternate paths through the sequencer, purge and single-cycle modes, calibration wizards, or whatever other features I can build in might be elegant and might be powerful - but the customer doesn't care about the machine itself. They especially don't care about the machine when logic I've written gets in the way of making products come out the other end!
As an automation integrator, I frequently have to push to the forefront of my mind that my customer's focus is not on the machine that I'm designing for them. Yes, I'm going to spend 600 hours on the intricacies of hazard mitigation and operating modes and IO and quality control and timing, with a deadline looming large to ship the machine - it is easy when you're that deep to think of the machine as the end goal. But for my customers, the focus is on the chairs or door handles or valves or whatever they're making that come out of the machine. Graceful fault handling, alternate paths through the sequencer, purge and single-cycle modes, calibration wizards, or whatever other features I can build in might be elegant and might be powerful - but the customer doesn't care about the machine itself. They especially don't care about the machine when logic I've written gets in the way of making products come out the other end!