I've also lost interest many times during my 25 years of coding, but now I feel excited as ever again.
One of key realizations has been that I'm more interested in people than machines (even though I feel the same fascination figuring out how something works). In the end, software is almost always for people to use. Things like programming language design easily get regarded as highly technical, but it's so much about creating abstractions for humans to create abstractions for humans.
Another one has been learning how software fits the bigger picture. In order for a company to succeed with software, things starting from vision, strategy, execution need to be in line. What I'm trying to say that it's important to notice when the development of software gets blamed for problems elsewhere. Otherwise our view of the development itself gets murkier.
Finally, learning new languages is something that's keeping it fresh for me. Making the effort to dig deeper and learn something complex I didn't know well before.
One of key realizations has been that I'm more interested in people than machines (even though I feel the same fascination figuring out how something works). In the end, software is almost always for people to use. Things like programming language design easily get regarded as highly technical, but it's so much about creating abstractions for humans to create abstractions for humans.
Another one has been learning how software fits the bigger picture. In order for a company to succeed with software, things starting from vision, strategy, execution need to be in line. What I'm trying to say that it's important to notice when the development of software gets blamed for problems elsewhere. Otherwise our view of the development itself gets murkier.
Finally, learning new languages is something that's keeping it fresh for me. Making the effort to dig deeper and learn something complex I didn't know well before.