Um...22 years next Tuesday.
Part of the beauty of a software development career is that you're constantly asked to do things that you don't necessarily know how to do. When has a customer ever contacted a developer and asked "Can you do this very common thing that everybody can do in their sleep?" - Never! The question is always "We have this incredibly technical thing we want done, and nobody here knows how to do it - can you figure it out?" (paraphrasing, of course)
It's always new and refreshing. I find the challenges invigorating - and often I find myself up until all hours because I've come to an understanding of something new and I want to see it to completion (or a good stopping point).
Every task, every day, every job is a triumph.
I even find it enjoyable to explain to my customers that I don't know how to do something. Part of the explanation includes my excitement to learn how to accomplish it. If I've explained it right, they're as excited for me to do the work as I am. They have a desire to see the job done - and so do I, but for entirely different reasons.
One of the greatest joys is learning how many developers before me declined to try, or tried and failed. For my last contract, my customer explained that I was the 5th developer they contacted - and the only one to submit a proposal.
The software went live Monday, and I couldn't be happier. My customer is in a pretty good mood too.