Late last year and early this year, there was a huge campaign by code.org, which brought together the biggest names in the field of computer sciences, encouraging everyone to take the hour of code. Names like Gates and Zuckerberg dedicated some time to provide support to some instructional videos. You can check it out at Code.Org.
The content in the code.org courses are really simple and I can assure you that anyone willing to invest some time can learn how to code. The idea of introducing simple and popular things in the context of programming appeals to the masses and if you stick with the course for long enough, they slowly wane you off these gimmicks and you will find yourself coding.
But, is learning how to code and being a programmer the same thing?
There are quite a few StackOverflow answers on the subject. One of them says -
"Learning how to program is very different from actually being able to be a valuable programmer. Programming is very simple for the most part. Read spec, implement accordingly. Test. Repeat. Yes, everyone can be a programmer. Not everyone can be a valuable programmer. Especially certain tasks require much more thinking and experimentation than others. Such things are best left for people who actually enjoy doing it. An example could be implementing low-level constructs, counting clock cycles, bits, and bytes without any modern programming tools or anything. Not everyone can handle that."
Another answer on the cplusplus forum says -
"Nope - I think that you've got to have certain traits to be a professional programmer (or even want to become one?). The kind of person who likes to solve puzzles, who is interested in technology, can be focused, ...
But I do think that everyone is capable of writing simple programs and could, therefore, become a programmer in the looser sense."
This blog post by Robert Smith has another perspective to it -
"Quite simply, programming is not for everyone. It is not an absolutely fun and delightful task as it’s portrayed to be in videos like the aforementioned or movies like “The Social Network”. It is rarely an invigorating social activity. A lot of time, it’s sitting in front of a computer screen, looking at a colorful text document, and thinking, and thinking, and typing, getting angry, and wondering why the hell you’re living a life sitting down."
After seeing all these answers, I can liken this to the value of degrees. An engineering degree from a reputed institution puts a candidate above their compatriots who don't have it. Having this degree is no bearing on his/her technical aptitude. In fact, technicians with on hand experiences are better most engineering skills.
The reason for this value to an engineering degree is not because of the skills that it teaches; it's the attitude. The attitude of solving problems; the ability to think differently, systematically and concisely. 4 years of being around peers who have the aptitude to adopt this kind of thought; 4 years of studying about problem solvers and problem-solving techniques changes the way you think. Hence the added value.
Programming is the engineering derivative of computer sciences and the same applies here. Programming is for you, only if you have coding skills and the engineering mindset.
Agree? Disagree? Tell us either way.