Programming is terrible; so learn to enjoy it
walledcity.com
walledcity.com
People write horrible APIs and document them poorly (ugh, Microsoft's SetupAPI put me into burnout mode last year).
People make demands of the programmer but kick and scream about clearly documenting those demands (specifications).
People don't appreciate and thank the programmer for his hard work. Managers and owners are suspicious and resent the programmer for not being grateful simply to receive a paycheck.
Other programmers think the programmer is an idiot for asking a question, thinking that every other programmer must know everything I know.
Yeah, it's been my experience that people make programming awful. If you can surround yourself with good people and the products of good people, you'll probably be a lot happier. I can't advise on how to find that nirvana, unfortunately.
> Nothing is more important than that you see and love the beauty that is right in front of you, or else you will have no defense against the ugliness that will hem you in and come at you in so many ways.
I found though that my enjoyment in code is I like the challenges I face, not how I got there. I have tools in front of me, that may be good or may be bad, but it doesn't matter. Using these tools, learning some tricks, or asking (even helping) others is what I find enjoyable. I enjoy the code because I challenge myself. A client will give me a new task, but ultimately it's me who has accepted it. Make the best of it.
"I came to know that programming (websites in particular) was not about creating an end product, a final perfect form. It is a journey of discovery and solution finding. I embraced Wabi-sabi; the idea of the imperfection and incompleteness."
It's actually very hard to achieve Wabi-Sabi in craft - it takes skill and observation to make it look genuine.
So it's not imperfect in the sense of "let's wing it"; but more about imperfection being the ultimate aesthetic because that's the nature of things.
I recommend stopping immediately and going through a 6 month of therapeutic Scala/F#-only development.