In my mid twenties this was hard for me to grasp. I was working as an electronics design engineer for a company that made low-end industrial controls. We had a customer who had what seemed like the dream company to me: he made robots for animatronics and lab applications. One day I was talking to him about how exciting the work was and his answer surprised me: it used to be fun in the beginning but after doing it for a few years, it was just another job.
I work with wireless sensors now. Yes, it's technically interesting, but it's pretty boring.
Why? I've discovered over the years that I am far more excited by making customers happy than by doing technically interesting work. I've come to see the technology as a means to an end, not the end in itself.
I worked with an software developer at my last job who was incredible. He seemed to have a strong interest for the technology, no matter what technology that was. At the time, it was iOS, and he was an absolute master of iOS. I was constantly impressed by his attention to detail and emphasis on quality, well written, technically challenging code.
I've loosely followed him since, and he seems to be absolutely crushing it wherever he goes. He's spanned many different roles and seems to do enjoy taking on new challenges in the form of different programming languages / platforms.
When I think back to him, I remember someone who seemed to just love programming. In a way, he was like a Robot. It doesn't appear to matter much to him what he's working on, or if it's "fulfilling" in the ethical sense.... He just enjoys the process of coding, and being damn good at it.
Question - is his management crushing it as well or are they crushing him? Is he good at standing up for himself and not letting management crush him?
I think a lot of enthusiastic and brilliant people get destroyed by their managers exploiting them. So the individual goes from crushing it to getting crushed. Management really has to enable that kind of person to succeed.
Yes. This. He was very, very good at standing his ground and asserting that his time and effort was being spent well.
Multiple times I witnessed management clashing with him over something. Usually he felt like more time and effort needed to go into a certain part of code. Rather than just "get it done" he took pride in his work and wanted it done RIGHT.
In general he was so good / fast that he could get it done "RIGHT" within management's expectations. But occasionally he would take on a big chunk of work, and management would try and shut him down. 9/10 they failed, he would do the work, and a damn good job of it.
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.
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).