The programming superpower
As a kid or even as an adult you’ve most likely heard of people with superhuman abilities like being able to hold your breath underwater for extended periods of time, being able to solve math questions at lightning speeds, super speed, and so on.
These abilities are quite rare with less than 1% of the population being able to achieve some of these feats, but you probably didn't know the same can be said about programming. Out of approximately 7.2–7.6 billion people in the world in 2017, only 0.5% of these people possess the skill to program. To give an idea of how small this number is, there are probably more people attending Coachella or rolling loud than there are programmers in your current city.
Some might disagree and give different reasons as to why they don't think coding is a superpower but it demands a particular mindset and logic which many people lack.
To a person with a programming mindset, something as simple as an “if” statement doesn't seem too hard to understand but the same cant be said about many others without this mindset. This is something we do subconsciously in our everyday life and being a programmer means you can communicate with the computer using a high level or a low-level programming language to make the machine do what you want it to do and that is something that requires a level of logic and problem-solving skills when you get to bigger projects.
Programming should not be confused with coding as coding is only a part of programming. It is the part that deals with converting the language into commands that are readable for the machine as to where programming is the process of creating a program that performs a certain task. Programming also isn't just sitting in front of a computer writing code all day and programmers know this.
In some ways, the path to becoming a good developer can be compared with the path to become a star athlete. When you see them play on TV they make the thing they do look so easy even when playing at such a high skill level. The part you don't see is the endless hours of training day and night and the pain they had to endure in order to become great. The same can be said about programming when you have to read pages of documentation to use a new feature, keeping up to date with the latest technology, and debugging your code accurately and effectively to name a few.
Now, this shouldn't discourage anyone looking to learn how to program because there was a point in time where the majority of people didn't know how to read past an elementary school level. With practice and repetition, you can go from someone who knows nothing about code to a coding superhero.