Prep trumps execution
I am lousy programmer. I admit that. But programming has many beatiful aspects, one of which is approach to problem solving. When you start solving a problem, it is absolutely crucial how much time you spend defining what is it you really want to build, to solve. In the past I usually got frustrated that I am slow and stupid when I could not figure out something as fast as I wanted, hitting my head into a wall over and over. By the moment I have noticed that, I have been raping stackoverflow for an answer to a problem I did not even understand anymore. My execution was driven by a monkey inside me. What is the takeaway for the rest of us? Preperation is key. The more time you spend defining what is it you really wanna solve, the quicker the execution will be.
Now I still think about myself I am dumb shit programmer, but I know it is a matter of preparation and repetition, not a matter of the quality of my neuron synapses. This has given me a good self esteem when I have realized, that prep trumps execution.