
What programming requires is analytical thinking, problem-solving attitude, stamina for failed attempts at coming up with the right solution, passion for technology, pride in your own code, but maturely accepting someone else’s improvements and observations, and a sense of responsibility for any code you write or contribute to.