The mental trick I have always used, and the rationale I have employed to make myself feel better, is that a good job matters more than a bad job. This is not always true. But it is often true. And in my life it has been true often enough that people have noticed, commented on it, and I have been explicitly promoted because of it.
I hear the comment about coming home too tired to enjoy one’s own time. That happens to me even now, in a fulfilling job. I often feel too tired to even play a video game (it doesn’t help that many games feel like work). The only solution I’ve found to that particular problem is to find a different job. Fortunately, in my current job, it does not happen often enough that I am willing to give it up just yet. And I still see a path (and progress) toward my goals in my current job.
You seem to be very lucky to have found your niche.
In most companies people neither notice, nor comment and certainly don't promote you for doing a good job.
Most corporate software engineering job are about how good you are playing the corporate social games. Being exceptionally good at programming does not matter. It can even be a hindrance as it means you get more work and are less likely to be promoted as you are "irreplaceable" and your coworkers and hire-ups might start to hate you because they feel threatened by you.
I hear the comment about coming home too tired to enjoy one’s own time. That happens to me even now, in a fulfilling job. I often feel too tired to even play a video game (it doesn’t help that many games feel like work). The only solution I’ve found to that particular problem is to find a different job. Fortunately, in my current job, it does not happen often enough that I am willing to give it up just yet. And I still see a path (and progress) toward my goals in my current job.