Monday 21 September 2020

Why is it so hard to become a programmer?

I published this article on the site Habrahabr.Ru some time ago and it has already been cited on many sites. It's a matter of the past, of course, but nevertheless, it may be useful to someone.

What does computer engineers do

For about six months now, as a voluntary "laboratory assistant" I have been participating in the work of the club of novice programmers. I want to share my results of these observations and my own thoughts about why not everyone is able to master this profession. Once I read that no more than 9% of people in any society are able to engage in IT technologies (this study was quoted more than once by the head of our HTP ). When our club was being created, I had a real opportunity to refute or confirm this thesis and understand why there are so few IT specialists.

Anyone can visit our club. Most people learn about it from advertising courses for novice PC users. Many come from there. These are very different people and they all, of course, have heard about high salaries in the IT industry and are full of enthusiasm to master such a financially profitable profession. But reality is quickly cooling the ardor of most of them.

Learning programming is not easy

Programming includes a set of complex disciplines that require a vast amount of specific knowledge to master. This is nothing new for the IT specialist, but for the neophytes it is surprising and unpleasant. 

It turns out that despite the enthusiasm and a great desire to make good money in the future, in order to assign one variable to another, to master a couple of operators and perform some actions with them, many require not a couple of hours, but several months. Moreover, they go only to understanding these very, at first glance, rather primitive actions. 

Why is this happening? I think it’s because people who didn’t deal with logic, mathematics and programming before have a hard time rebuilding their own thinking. Usually, after all, a person gets experience by studying the external environment around him and starting from the already existing knowledge. But in this experience there is no place for conditions, loops, binary notation and much more that is required for programming. In everyday life and ordinary life, all this is not used in any way. That is why some of the "novice programmers", faced with completely incomprehensible things, quit their studies in the first days or even hours.

It is necessary to learn how to use the PL tools, remember all your meager knowledge of mathematics (and many, in principle, do not use it, except perhaps only for counting bills), expand them to the required level. And this is only at the "start". Then you will have to master technologies based on the chosen programming language . I am already silent about the fact that English is also needed, at least at the technical level. That is why the chances of an applicant who does not have special abilities, who was not fond of computer science at school and who did not encounter programming at a university are very small. 

Of course, there are talented people to whom new knowledge is given rather quickly. But, as my observations have shown, this is the rarest case. Before my very eyes, a lot of potential "specialists" passed through the club. None of them made it to the finish line. After a month or two of intensive study, the vast majority of newly-minted students realized that programming was not at all their subject. And the most capable understood this much faster. 

Out of about two hundred people who have gone through the club, only two talented and stubborn techies who have been pressed by life have managed to retrain as programmers. This is only 1 percent, not 9, as the study I read once read. 

So what is the club?

The club continues to operate, it has proven to be a great place to meet and communicate with people who would like to learn something new without too much stress. For example, an elderly scientist came, already retired, who decided to take up the development of programming languages . There were mothers with children, married couples - young and not very young, laboratory assistants and university professors, acting officers of special services, plant engineers and even athletes. Who was there! But for the majority, I repeat, programming was difficult or not at all. However, no one bothered himself excessively. Homework, for example, was ignored in principle. After a while, most people quit classes.

Why does this happen?

It's pretty simple. Many people think that they will be able to master a new profession in passing, after a month or two in an easy, comfortable mode. Almost no one can or does not want to work and study seriously, to spend months or even years of his life on mastering a new business. Here is such a picture.

No comments:

Post a Comment

Cisco Updates Certified Network Design Engineer Curriculum

Cisco has updated its CCDA® Associate Certification Preparation Program in Network Design. Updating curricula and exam requirements will ens...