Programmers need a muse
The Muses in Greek mythology are the goddesses or spirits who inspire the creation of arts; they were considered the source of the knowledge. And I believe as a programmer you need your muse.
Most of the time whenever I talk with people about what I do, they automatically start picturing me as some kind of a robot which rambles on for hours in a language they don't understand, but computers do.
I don't blame them, it's hard to put "computer" and "free-will" in the same sentence, because computers are nothing but machines that follow orders, no matter how complex these might be; and in that mindset, they don't put "creativity" near "computer".
But programmers are not machines, we are the ones that tell them what to do, and in that, there is an amazing amount of creativity: as we have the power to create.
And I think sometimes there is not much talk about this, as a programmer you must have creativity, and I even go further, your quality as a programmer is gonna be directly related to your creative skills, in a couple of words: your muse will define you as a programmer.
You may know every programming language in the world from inside out, but, don't know what to create, then it's useless, you're back to being a machine.
Now, as a painter needs it's canvas and tools, we as programmers are the same. Our canvas is the machine, our tools are every aspect that allows us to make it behave as we wish.
Every great painter in our history needed the right tools and the knowledge to use them to materialize whatever inspiration came to them. We as programmers are the same, we need our right tools, and we need to know how to use them so we can make the idea in our head become a reality.
Next time you are in front of a computer getting ready to create some cool code and your mind is drawing a blank, it might be because your muse escaped for a while, and you will need to wait for her to come back, because in the end, we are but machines without them.