I'm an okay programmer, I'd say. It makes me excited when I know, there is so much more programming to learn. Most of my time is spent on the terminal, and I like learning a new GNU tool, takes time I'll admit, but it feels nice to be competent one tool, one program at a time. I won't go as far to say that, I don't care about programs, that would be a lie, I have rent to pay, cats to feed, and bills to pay. Till I start a family, those are my only concerns, yet I need programs to fulfill that end of the bargain.
Also, I'll admit, wanting to finish a project or having to, is also a necessary fuel, it leads to challenges I could not have foreseen till I get to that point, when the end users use programs in ways I could not have foreseen.
All that being said, the reason, I sit down at my desk, what gets me excited is the programming. It took the right language for me to feel that way too, turned out JavaScript was not it for me. At the same time I do love JavaScript, it was the reason I was able to grasp code. It helped me visualize how code could make things happen on the screen. Also, for writing scripts on the browser, there is nothing better, as far as I know. So the language that turned out, I do really enjoy programming in is Go.
Go is a simple language, the reason that was very important for me was, I could get used to the language and build simple programs without having to know a lot about the language, although it is quite small. Why is that great? It allowed me to have quick wins. Which gives the momentum required to learn more complex concepts. As they say, it's easier if you like what you are doing. Not to be confused between simple and easy, that's a topic for another day. Also, after I have been programming Go, I started getting really interested in lower levels of programming, I did some network programming in C and used the standard library of Go to understand how some clever people handle system calls to get an http server going. In a sense the language has made me more curious. Which makes me want to get better and write more programs.
Right now, I want to get good at some data structures and algorithms. So I've started with a popular one (Dijkstra), and I'll move forward with other ones.
Happy coding.