This conversation started as a Facebook post. I was "jejely" minding my business when Ibrahim dragged me into the conversation by tagging me. Then I decided to write an article instead to share my opinion. Be warned though, my opinion may be bias, based on my personal experiences and outlook on life.
I like what Apex Zy said in the comments of the facebook post. He said "it takes more than what's born in someone". Yet while he was trying to list the qualities, he went ahead to mention the things that could only have been born with someone; "determination, persistence, zeal, love, courage, ability to see what others dont see".
Let us set things straight, anyone can be a programmer, so programmers are not born, they are made. Abi whats in programming? Is it not just to learn the syntax and follow procedure? Anyone can pick up a "programming for dummies" book and start writing codes immediately. To sound a little religious, the ability to create is inert in everyone. So we are all born with the ability to create programs, we also have the ability to learn new things and pick up new habits. No one was born with "for-loop" in their palms.
Meanwhile, great programmers are mostly born and rarely made. Reason? Part of the inert abilities every human has is difference in qualities, traits and characteristics. Anyone that would make a great programmer would think a certain way, he will have some certain qualities to be able to withstand the challenges programmers face.
What makes a great artist is a hunch that belongs to a creative mind. Some seem more creative in art than others. Some seem to have more abilities in some specific areas than others. While it can be argued that great artists paid their dues, its an established fact that some people do have certain physical and genetic advantages that positions them to be better in certain areas than others.
Being a programmer that previously trained as an architect, I can say that I didn't become a programmer by accident. Retracing my historic, I realized I have always geared towards logicality, analytics, automation and many other things that arguably made me a great programmer. Right there from primary school, mathematics excite me, "word problems" are piece of cake. I could feel that there was a certain way I engaged my thinking faculty and approached problems that seemed kind of different. All those are qualities that would have made me enjoy programming today. If i didnt have that ability, i doubt if I would still be a programmer. We know people that ran away: dropout programmers - when they chicken out, thinking they don't have what it takes. Meanwhile, I have also invested a lot into my programming journey. I have read more programming books than architecture books. I have tested more codes than past questions. You could say those are reasons I am great programming, but not quite. I read books on programming because I am passionate about programming. Tears come down my eyes while reading other books apart from books relating to technology. That passion was born with me. Made me feel like I was born partly to create programs.
To balance the arguments, born or made everyone do have the ability to get better at whatever they do, whether programming or art. Everyone also do have the ability to pick up new skills at any time of their lives and still do well with it. While some people may enjoy some advantages because of their background or physical abilities, we also know that individual genuis isnt always the only thing that determine success. Theres a place for hardwork, starting out early, mentorship and so many other things that makes a great professional at work.
I have established my case, now what do you think?