“Everyone in this country should learn to program a computer, because it teaches you to think.” — Steve Jobs
Did you ever think what Steve Jobs was trying to emphasize with this sentence?
Is it about code writing?
Should everyone write code?
Should everyone be a programmer?
NO. Not at all.
“Everyone should learn to code” movement is wrong because it assumes that writing code is the final goal. Everyone, including most of the software developers, thinks that their job is to write code. But actually, it is not. The job of a software developer is to solve problems. It took me years to understand it.
Most people who call themselves programmers can’t even code. Tragically, a bunch of them are not even aware of what their job really is about. Due to this many software programs’ lifetime is too short. Why? Well, they have been developed as a solution for a specific problem but now it can’t even solve that problem due to the unconscious programmers behind it. In the end, the program dies.
If you talk to senior programmers, I mean real programmers, ask them what they think about writing code. They will tell you that the best code is actually no code at all and that a good programmer is the one who knows how to avoid writing unnecessary code lines.
“Everyone should learn to code” movement is not about coding. It doesn’t mean that everyone should be a programmer and develop software that people can use. Essentially,it’s all about problem-solving.
Why is that?
Because programming itself covers a whole range of skills that have real-world uses. Critical thinking, problem analysis & solving, logic, etc. These are skills the current generation of kids seems to be missing out on in their education.
I am not saying that we shouldn’t teach our kids how to code or no one should learn to code. I am trying to emphasize that coding is just a tool to solve a problem. Yes, programming can teach you how to think and how to approach a certain problem. But being a programmer is a completely different thing.
I would rather call this movement “Everyone should learn how to solve a problem” instead of “Everyone should learn to code”.