Articles
Why is a Programmer’s Salary So High If Everyone Can Learn to Code for Free?

Programming is like playing chess. Everyone knows how to move the stones on the board. Playing well is another thing altogether. In fact, it’s another 10,000 hours of practice.
Learning to program for free, becoming a self-taught developer by using the internet is even more accessible nowadays.
I know excellent programmers who started programming with minimal support. They didn’t go to computer school, they didn’t have access to the internet, and even so, they became great professionals.
For each of these good programmers that came out of nowhere, thousands of mediocre programmers are in a misplaced role. They have no vocation or desire for the activity but still get a programming job.
They are what I call “cold-buying programmers.” Those are the majority, and most earn poorly. However, for the few who are real programmers, the salary is higher.
So what differentiates the good programmer from the cold-blooded programmer?
To answer this, it is necessary to understand the fundamental part of a programmer’s job to solve problems.
A good programmer is not the one who programs tens of thousands of lines of code.
According to Ken Thompson himself, one of the greatest computer gurus, the programmer is not paid to code, but to solve problems.
If you stop to analyze, the programmer’s job is to translate a problem into a language that the computer can understand and thus create a solution to that problem.
He has to do it quickly, well, and in such a way that solution can be rapidly evolved to face the ever-changing world in which such a solution works.
More than that, the good programmer has to know when it is worth evolving (modifying) a program to adapt it to a new situation or when he should discard this old program and make a new one entirely from scratch.
For this, the programmer must understand the business in which the program is inserted.
Programmer’s Salary
Imagine a programmer who will create a client registration program on a website/application that will mainly serve an urban, middle-class population.
To identify such a customer, a technique used is to use the CPF or Facebook (to facilitate the customer’s login).
Now, imagine creating a customer registration program in a rural area with little internet access and a poor population.
To identify the customer, it will not be possible to use Facebook because most of this audience does not even have a smartphone, let alone access to Facebook. Therefore, it may even be that the CPF is not adequate because it is common for people to even have a CPF in this situation.
A good programmer will anticipate this situation and develop a way to resolve it. Or rather, a good programmer will create a smarter solution that transparently works in both cases, figuring out when to use one way or another according to some data that gives a hint of what the situation is that applies.
When you learn to program on your own, you miss the opportunity to absorb this knowledge from the past experiences of other programmers who have gone through this situation. And then, as with every career, it’s one thing for you to have the formal education that training and education providers.
Another thing is to have the knowledge acquired after years of experience.
With experience and connections to the environment in which he works, a good programmer is worth his weight in gold. The day laborer programmer will earn the hunger wages so common out there.
Full Article: Josef Cruz @ Plain English
