At one of my previous jobs, "my customers" were the managers of some company who asked managers of the company I worked in to deliver some software that will be sold as a part of a software package, to be used by someone downstream. I don't know who ended up using my work and how, because we were isolated by several abstraction layers from that. I did care about the happiness of those people, little I knew about them. But I couldn't care less about the happiness of our customers - a company I didn't hold in high regard, with managers not being particularly helpful. I suppose I did get some small sense of satisfaction when their managers told my managers that the work is good. But that was it.
So, are we talking about happiness of customers, or happiness of people actually using the product? Those are very often different groups. Or, in other words, are we talking about finding happiness in generalized servitude, or making people's lives better?
I've also worked in situations you've described. My only interaction with the end user is through layers of middle management. I found that environment to be extremely demotivating and certainly no direct sense of satisfaction. One of the small benefits of being a Data Scientist right now is that a lot of managers don't really understand what it is I do so I get some interaction with the end-user from a requirements and solution validation standpoint. But I suspect in a few years Data Scientists will become invisible cogs (like everybody else) in the Enterprise IT machine.
I don't think you can get that kind of satisfaction in B2B software as a developer (only a salesperson/exec).
100% agree. I'm a Data Scientist and I'm supposed to have one of the most exciting and sexiest jobs in tech. But after many years of doing this I've come to realize that working with good customers and seeing them happy is much more rewarding than playing with the latest machine learning thing. New tech is just the thing that makes it easier to tackle a customer use case.
There's a strong relationship between the quality of the people I'm working for and my sense of the work being interesting. If the people I'm working for are unrealistic a-holes no amount of technical novelty can make up for that.