Reading Time: 5 minutes

This article was previously published in Polish, but I thought I’d post it to give you the information you need four years later. Please share the article from 2026, which will be published soon.

Programming is considered particularly difficult. Job advertisements show how highly the market values ​​programmers’ skills. Compared to other industries, such as trade, manufacturing, or even marketing, a programmer can earn significantly more based on their knowledge, skills, and experience. Why are so few people able to become programmers? Why, despite high demand, does such a small percentage of our population decide to begin their programming journey and then seek their first IT job?

Data is the basis for analysis

To analyze the problem, we’ll first look at the real numbers. In Karol Bednarz’s article: How many programmers are there in the world and how many in Europe?” [2022], which was published half a year ago (relatively fresh data) we will check how many programmers there are in Europe in individual countries.

Poland:

Number of developers: 250 000 
Number of inhabitants of Poland (source: Central Statistical Office): approx. 37 767 mln
The share of programmers in our population is only: 0,66 %

Comparison with other European countries:

Germany: 901 000 programmers, the country has 83.2 million inhabitants –  1,08 %
Sweden: 180 000 programmers, the country has 10.42 million inhabitants –  1,73 %
Ukraine: 212 500 programmers, the country has 43.79 million inhabitants –  0,49 %
UK: 408 000 programmers, the country has 67.33 million inhabitants –  0,61 %

And USA:
4 000 000 programmers (4.3 million across North America) (https://www.bairesdev.com/blog/how-many-software-developers-in-the-world/), the country has 331.9 million inhabitants –  1,21 %

*data regarding the number of inhabitants comes from Google.com as of February 13, 2023.

The above data should now be compared with the demand on the IT labor market in Poland:

The number of jobs sought in the first quarter of 2022 was: 26,121.

An article on Prawo.pl perfectly describes these numbers from the first quarter of 2022:

That’s just one quarter. If we multiply that by four, we’ll find that the market was looking for about 100,000 programmers annually in 2022. If the entire demand were met (and we already know it hasn’t), we would have about 350,000 programmers in Poland, which brings us closer to the desired 1% of the population.

To confirm this number, we can also look at the 2022 IT Salary Report published by justjoin.it. The report shows that job offers for programmers have exceeded 100,000. Source: https://raport.justjoin.it

Compared to developed countries (excluding the UK), we lag behind in terms of the percentage of programmers in society as a whole. This isn’t due to the low number of companies looking for programmers.

The problem, however, lies mainly with Kowalski, who does not start learning programming or does not reach a level that will allow him to successfully enter the IT market.

Additionally, the employment structure in IT is characterized by the fact that 80-90% of job offers are for specialists, not beginners. According to data that annually raises alarming concerns about the IT workforce shortage, companies will have to change their hiring tactics and train entry-level employees, or more precisely, start hiring more juniors.

So why, in this context, are we unable to catch up with other countries? We will attempt to answer this question later in this article.

Programming has long been considered difficult

A 2002 paper by Dan Bricklin, describes how a programmer constructs instructions for a computer and how he can correctly predict the results, and how this can affect the acceptance of the system.

The article inspired me to write this one, and its message can be summarized as follows: some people can learn programming faster. There are also people who find the syntax of languages ​​too difficult. Excerpt from the article:

“Programming languages ​​like Assembler, FORTRAN, C, and Java are the least widely accepted. Their syntax is very unforgiving.” – Google Translate

After several years of experience in the industry as a programmer, I maintain that programming isn’t difficult. It’s a craft that virtually anyone with the right amount of motivation can learn. It’s also not syntax, but the way we think and analyze specific problems that brings us closer to becoming a programmer. The conclusions from the above article are unfounded.

I don’t think motivation is the problem here, either. High salaries, remote work, numerous benefits, team-building events, modern equipment and offices. Who wouldn’t want to work in such conditions?

Are some people born to program?

To answer this question, I will use another publication from 2006 by Jeff Atwood, co-founder of Stack Overflow: “Separating Programming Sheep from Non-Programming Goats”

This article refers to a study (link to the study) that was essentially intended to answer the question: what are the differences between people who program and people who don’t program? Literally translated:

“a way to separate the programming sheep from the non-programming goats in computer science classes” – Google translation.

The results of the study are very interesting. Using basic programming instructions such as assignment, iteration, recursion, and conditional, responses were collected from individuals who had never had any experience with programming. These were computer science students, a small group among the population largely focused on programming.

The test used in the study can be downloaded here.

In terms of the basic instructions we will encounter during learning, the results showed that:

  1. 44% of students created a coherent mental model of how the task works (even if it’s incorrect!).
  2. 39% of students never created a coherent mental model of how the task works.
  3. 8% of students ignored the task and left the answers blank.

The conclusion presented in the study:

“To write a computer program, you have to come to terms with it, accept that whatever you want the program to do, the machine will blindly follow its own nonsensical rules and come to some nonsensical conclusion” – Google translation.

This study also showed that approximately half of the students participating in the study would not have passed a pre-test constructed according to the above principles. Is this high entry threshold the answer to the title question?

Let me pose another thesis: Learning programming seems alien and difficult for the average person who has no prior experience with coding. This is the main reason why even the slightest attempt is not made. But how is it that even students with lower “predispositions” graduate from IT programs and become specialists who easily find jobs and develop their careers? It all depends on:

  • the amount of work that needs to be done when learning programming
  • No concerns about the high entry threshold – this argument may have been valid 50 years ago, when programming was done using punch cards and floppy disks. Today, anyone who knows how to use a computer can learn programming to a greater or lesser extent.
  • other factors that we will discuss in subsequent articles in the series “Why doesn’t Janek program?”

One article is not enough for complete conclusions

Throughout this article, we learned about the challenges faced by beginning programmers and whether special skills are required to learn programming quickly or at all. This is largely due to the fear of the unknown nature of programming, which is a common theme for the vast majority of the population (over 95%).

The IT market should focus on training and employing juniors, contrary to the current trend, according to which offers for juniors constitute only 10% (!!!) of all offers.

The problem is very broad, and its analysis is fascinating. One article is definitely not enough to delve into the topic, so I invite you to read the next in the series, which will appear on it-leaders.pl in the coming weeks.

To make sure you don’t miss anything, I recommend subscribing to the newsletter; you’ll receive an email notification about new publications that may interest you.