The infamous 'Automate The Boring Stuff by Al Sweigart' was one of my top reads last year and I have developed several products from it that I use to make my life a bit easier every day.
There is something nice about coding in that its black and white, ones and zero, where a lot of what I deal with is somewhere in the middle. Plus its nice to get away from Powerpoint and Excel and I get a bit of kudos with the Engineers (I stress 'a bit'!)
Currently working my way through Hands-on Machine Learning by Aurelien Geron.
With those conditions it really is like a garden, slowly improving or changing things as you observe the need.
That being said, part of it is also appreciating the outputs of one's labor - not implying you don't - but I see many programmers who are only satisfied with instant solutions when the amount of work needed to solve any problem would be significantly larger, they get bored, and they walk away from the problem.
To me that's generally because the problem itself isn't interesting enough on its face to get the programmer to want to solve it, and frankly if it isn't interesting enough of a problem... who cares about solving it?