How long does it take to learn to program “well enough”?

| |

The news reads that many thousands have applied for 8 weeks of free IT training. I find it helpful and mind-forming that program participants have the opportunity to learn something new. However, this great opportunity raises the question of how much more time to invest in a career change after 8 weeks. In Peter Norwig’s “Teach Yourself Programming in Ten Years,” after a bit of research, he comes to the order of 10 years to learn to program. In this writing, I try to walk around whether that much time really needs to be invested and what the next step in this learning process can be after the course.


The first completely legitimate question is how to did you somehow swim after many years of practice. Many have heard the story that there are those who already support themselves in programming during college and can be well earned with programming even without a degree. To this I can say that yes, it is possible if someone is already in the lower grades of primary school for a computer science degree. In addition, a lot is being prepared during high school for the annual computer science competition (how many Nemes Tihamér competitions were held this year?). If you are in a talent management program organized by the university for high school students, you may not even have to wait for university to get a job. For example, before my final year of high school, I managed to get a summer internship at one of the multinational companies, where I was able to get a taste of SQL database application development. Of course, this does not mean that there are no big individual differences between the amounts of exercise required, but I will return to this later.

If we have not dealt with programming before, then this learning period has to be solved somehow. A possible solution to this is to find a position in the IT profession, not as a developer, but with opportunities for learning and later switching (for example, as an IT project assistant, manual tester, etc.).

WAGES AND PERFORMANCE [19659003] For many, one motivating factor is the ability to “earn a lot”. In the public consciousness, IT is also one of the areas where relatively high wages can be achieved, but there are a lot of “buts”. As long as a developer has no experience, he competes with Indian salaries, with the advantage that if they don’t speak English at the company, few Indians speak Hungarian. Even junior developers are usually expected to have many years of experience. At one of my workplaces, we received interns from higher education. Working with them really required a large energy investment, which paid off for the company so that some of the participants started working here as juniors after graduating from university.

According to many classic authors, there is also a large variance in performance among experienced developers. They say they can be 5 times (Barry Boehm) or 10 times (Tom DeMarco) more effective than a less talented colleague of a talented developer; other authors suggest larger differences may occur. It is important to note that in other fields, too, you can typically earn well with serious professional training and extensive experience. Here, too, the 8 weeks will be a great help to experience our enthusiasm and talent for the IT profession. This is how we can decide whether we want to deal with this in the next 20 years.


When everyone in Hungary wrote in 2017 that there was a shortage of IT professionals and tens of thousands were missing from the labor market, I was looking for a job. As a job seeker, I didn’t feel this shortage at all: they didn’t respond to my applications faster or at a higher rate than they did many years earlier. The deficit was not reflected in the wage negotiations either: going 5-10% above the wage band belonging to the given position, it was already indicated that the wage demand was high, but there were places where a significantly below average salary was offered. (The average salary for a given job can be estimated in order of magnitude based on glassdoor and similar portals.) The story above is not representative, but it shows well that finding an ideal job is not necessarily easy even in the midst of an economic recovery. The fact that not much has changed since then is well illustrated by the fact that on February 15 this year, Hacker News' most read article was Jared Nelsen's blog post, “The Horrifically Dystopian World of Software Engineering Interviews.”

Of course, the story is not simpler from the other side either: I had a job where it took me half a year to add a colleague with the right knowledge to my team and listen to a lot of applicants beforehand (unnecessarily because who found that although he spent years at several reputable companies, he was not even aware of the basic programming language tools.)


If you like it, you might want to try some form of higher education institutional training. What I’ve heard many times is that there’s a lot of unnecessary things to learn there and the ‘unnecessary’ adjective refers to theoretical foundation subjects in general. From a motivational point of view, it might be worthwhile to reverse the order: try to solve problems without a theoretical basis and only after participants see the limitations and feel the need for the theory can they run into it. As technologies are constantly changing, the only thing that remains invariably useful from a 15-year perspective is the boring theory. As a bonus for more specialized areas: image processing, computer graphics, data analysis, machine learning, etc. higher mathematical education is essential.

In companies that offer complex semester-to-year training programs, I see perhaps the greatest value in assessing applicants ’abilities and only undertaking training where they see a realistic chance of successful completion.

Courses are best suited to to give an initial impetus to our immersion in a topic or to systematize our knowledge so far. Here, in my personal opinion, the most important thing is for the rapporteur to have work experience in the given field: that is, someone who has at least 5-10 years of development experience with the given technology. A training is better the more it fits our pre-training because there is nothing more frustrating than losing the yarn in the first 5 minutes or getting bored all the way through. To avoid this, you should read the prerequisites several times. If, after the first 10% of the training, we feel that we are not in the right training for us, it is worth notifying the education organizer or lecturer.

Fortunately, there are now plenty of online study materials, tutorials, and books available for self-education. However, the transfer of attitudes and the provision of mentoring are not, or difficult to replace, in my opinion.


I wonder who of the many applicants will be the ones who have just broadened their knowledge in the free course and who who chooses programming as his new profession. It is already known in advance that it will definitely be a useful adventure for the participants. Until that turns out, I hope to see if they launch an 8-week free “get to know the profession of lawyer, architect or doctor” training so that I can see other interesting professions as well.


Samsung has come up with a new smartphone security chip

A crucial year awaits Huaweire, who has switched to survival mode