It's very easy to be overwhelmed when programing software. At times, it seems as like there is so much to learn in order to accomplish your task. Other times, parts of a project seems so mundane that you lose interest. Overall, completing an entire program or simply learning how to program requires humility and focus.
An excerpt from Code Complete, written by Steve McConnell, states this about the character of a programmer:
"Nobody is really smart enough to program computers. Fully understanding an average program requires an almost limitless capacity to absorb details and an equal capacity to comprehend them all at the same time. The way you focus your intelligence is more important than how much intelligence you have."
McConnell, Steve (2009-12-07). Code Complete (Kindle Locations 26572-26574). OReilly Media - A. Kindle Edition.
This statement, in a word, summarizes my entire, at times turbulent, relationship with programming. It's a love and hate affair that has challenged me on an emotional and intellectual level. As McConnell stated, it is much more important to be able to focus your intelligence that it is to possess intelligence. That reminds me that regardless of how much one learns, one must realize that they will never be able to "know it all". To be successful, you must possess the humility to realize this fact and take steps to change your view of programming as a whole. If you allow yourself to think that you "know it all" and you don't have to keep learning, your skills, and ultimately your success, will be limited by your ego.
In addition to humility, a programmer must make a constant effort to remain curious in order to stay current with technology, one must be intellectually honest to understand their weaknesses and address any shortcomings, and one must possess the discipline to approach every task methodically and with purpose.
McConnell accurately summarizes the necessary skills of a programmer in Code Complete, at least in my opinion. However, I believe that these skills mentioned are critical to just about any skill you wish to excel in.