I recently found a old blog entry written by Scott Hanselman. Scott Hanselman is a programmer, teacher and speaker who works for the Web Platform Team at Microsoft. The title of the blog topic is “Stop saying learning to code is easy”.
Google (not) to the rescue
I did a quick search on Google using the phrase “is it easy to learn to program”. The results were wondrously confusing:
The top search result was this: Is Coding Hard to Learn? (Answer:No!) from CareerKarma
The next five search results had these headings:
- “How hard is it to learn programming?” – from www.quora.com. The extract below started with: “Learning basics of a language are easy.” (Their grammar, not mine)
- “Please don’t learn to code” – from www.techcrunch.com
- “Learning to Code is Easy: Here’s How to Teach Yourself” – from www.schotthyoung.com
- “The Best Ways to Teach Yourself to Code” – from www.lifehacker.com
- “Why learning to code is so damn hard” – from www.thinkful.com
A warning to myself and all of us who rely on Google:
- There are no guarantees with Google. You might get different results when you search.
- There are no guarantees with Google. Don’t believe everything you read.
When search results give conflicting answers, most people choose the result they want to believe. It’s called confirmation bias. I’m guilty of it, and so are you.
So is programming easy or not?
I know some of you will disagree with me. But after much thought, my answer is “No”. I don’t think it’s easy to learn to program. And I think it’s even more difficult to move from basic programming skills to becoming a professional programmer.
This is my personal opinion, based on my experience:
- I learned to program. I consider myself of above-average intelligence, and I didn’t think it was easy.
- I have taught our Introduction to Programming course many times. So I have seen how novices struggle with basic concepts like loops.
Should we discourage people from learning to program?
Again, my answer is “No”
But I agree with Scott Hanselman that it is wrong to tell aspiring programmers it will be easy. Because then we create unrealistic expectations, and we set them up for failure.
A while back I wrote about ICT graduates who can’t program. I think that one reason is that students are told that, regardless of aptitude, they can easily become amazing programmers and earn a fabulous salary.
Nobody tells engineers or lawyers or doctors or vets that it will be easy. Because it won’t be. Those students know that they are going to work hard, and that it will take time and effort. Programming should be no different.
What do you think? I’d love to hear your thoughts, even if you disagree with me.
If you are interested in a gentle introduction to web application security, subscribe for our weekly Security Spotlight series.
If you develop in Java, get weekly Java Tips from Lewis.