Through this, I've learnt product and market fit that made tangible changes in peoples lives - the coding remains a personal rich reward, but the product outcome has been the true 'reward' so to speak.
I value the personal rewards higher than anything however. There are not many things better than a good hour coding session when things go well and everything works. I've fond memories of many good hacks or idea that were so perfect that they pivoted other peoples ideas and changed a product outcome.
My career is a bit mixed up: Taught Math at a college (part time on and off for 10 years), Meteorologist (only 2 years), Nuclear Engineer (only 2 years), Systems Engineering (7 years), Hedge Funds (15 years). I did a lot of ML/AI (20 years) mostly for Trading Stocks, Poker, Torpedos, and Satellites. I wrote about 100,000 lines of C++ and about 10,000 lines for each of the following: BASIC, Mathematica, Matlab, and Haskell.
Math is an integral a part of my life and my thinking. :)
If I get some time later, maybe I will try to write up a few stories.
Applied to software engineering, it (indirectly) improved my abilty to understanding what a piece of software needs to do and why it's there. It also improved my ability to discern what level of abstraction is appropriate to the problem at hand, and figure out what questions to ask. In short, mathematics changes the way you think in a very powerful way. The precise contents of what you learn in the subject aren't necessarily applicable to everyday software engineering outside of a few areas, but the way of thinking is eminently so. For a personal example of where mathematics does come up in programming in a direct way, I do hobby graphics programming, which necessitates fluency in elementary linear algebra and benefits from grasping vector calculus (if you want to understand how light transport works and where physically-based rendering algorithms come from).
(I feel like that might be cheating on HN...)
I started programming about 16 years ago (I think), when my Dad bought a basic introduction to HTML for himself, which I ended up "borrowing". I super geeky teenage life followed where I learned various languages, including Python, Delphi and an obscure language called RapidEuphoria (honest, that is a programming language, with some interesting features actually). Fast forward through a Maths degree and 2 internships, I'm now a happy Engineering Team Lead at Bloomberg, generally utilising JS, Python and C++ as appropriate.
Of course, there are a bunch of other skills needed to be a successful software engineer, but I think turning my hobby into my career has been the most richly rewarded skill so far.