Not everyone can be a programmer

Information Technology (IT) is gradually becoming the same basic utility as water, electricity or transport. Virtually any household or business is dependent on IT. Consequently, the demand for IT professionals is great not only in Latvia but also in the entire world. And although new IT professionals are prepared in almost every Latvian high school it is still insufficient because of growing demand.

IT studies are started by many, but too big part of students become "dropouts" and only a small fraction of initial students successfully complete their studies and start working in IT industry.

Some young people start to study IT, because they enjoy computer games and think that in IT industry they still will continue "playing with the computer" in some Hollywood movie-like fashion. Others begin studies in IT, because their parents (and often grandparents) are very enthusiastic about "how bravely they use all the stuff". Others simply want to "earn the above average" because they know that salaries in IT are generally higher than in other office worker positions and "how hard it could be?" The truth is that because of state policy, marketing, parents and friends, increasing number of entrants start IT studies, but that not necessarily provide bigger number of IT specialists. The usage of IT and development of IT is just as different as driving a car and manufacturing it. To drive car, some basic coordination of movements and knowledge of traffic rules is enough, but development of the car requires completely different knowledge and skills.

That the interests of the people strongly correlate with their way of thinking, I noticed first time in the article Programmed to Ignore? Author was asking his readers to provide their Myers-Briggs psychological type, to try to understand — why most of people do not bother about not-instant, though serious and global issues about our world. Author revealed that his blog is read by only a small part from all psychological types of people, while others are not only interested in his blog and most likely can not even be aware of (and therefore understand) problems that are not visible here and now, no matter how serious they may be.

It gave me hints on the idea that issue with programming abilities would be similar. So I decided to check — can't it be that a programmers can also be just a few of all people? And isn't it possible that that people's mindset and differences between them are so important than can't be changed enough with (too late) upbringing and education? So, I decided to test it for two Java Bootcamp classes I was conducting. I asked students to perform their psychological tests and submit their results. Myers-Briggs psychological classification describe all people by four different parameters, with more or less opposite preferences, on whether the person:

  • tends to be Introvert or Extrovert,
  • feels basing on the Sensitivity or Intuition,
  • assesses basing on Thinking or Feeling,
  • shows attitude, basing on Perception or Judging.

Depending on the value of these four groups they together produce 16 different psychological types. This classification of people is relatively easy to describe and to explain, but it is certainly not ideal. Psychologists criticize it mainly because of the following:

  1. Most people by this test meet "somewhere in between" on division border without special inclinations to one side or the other. Therefore, depending on their mood, they at different times can "fall" in different categories.
  2. There is no precise justification for the categories chosen and their "weight". What is dominance, auxiliary, tertiary and inferior for one person, it could be in different strength order for other.
  3. Psychological types of values are not completely independent of each other, as it should be in mathematically precise system. So, practical results show that all 16 types are not equally distributed in the entire population.

However, this does not impede proving that psychological types of people are different, and that only a some fraction of all the people want and can perform intellectually sophisticated work. From two classes (and some IT related positions) together I gathered data about 34 people (and results are still coming), which is not a large number of serious statistical analysis, but it is sufficient to show trends and encourage some reflection.

Although I first started to collect data on boys and girls together, by analyzing the data I found that it is important to group them apart. The following graph shows, how common are psychological types in the general population and among Java bootcamp male students:

PolaritateStudenti.png

Numbers represent the percentage distribution. As groups I/E, N/S, T/F and J/P are more or less opposite, associated opposite is displayed with negative sign. It is well evident that students are more prone to NTJ half of the scale than SFP part, comparing to mainstream population.

A similar trend, but with a more pronounced (and not so reliable because of the small scope) NTJ lead over SFP is also observed among females in the IT field (for better comprehensiveness, I asked few more women in IT sector to fill the questionnaire):

PolaritateSievietesIT.png

When looking at set of 16 psychological types, an interesting pattern appears. It is evident that what is common in the class of programmers, is not common in our society (and vice versa). It can also been seen that the Java class "programmer, regular" is xNTJ type (where x can be either I or E). What is it so special about this type? Based on similar findings as Myers and Briggs, David Keirsey has added "tags" on these types. He called INTJ "a thinker, an architect", but ENTJ — "Commander". With an accuracy of small sample size I can predict that INTJ type during time deepens more and more in (increasingly complex) technologies, but ENTJ type gradually goes away from them and becomes a leader of (increasingly bigger) groups of people. These two types of class constitutes 38%, while in the society they make only 6%. It is significant that virtually all students' psychological types have at least one letter of NTJ (and it would be interesting to know how students' career evolves, if his psychological type does not).

TipiStudenti.png

I'm already accustomed, that womens are very few in programmers classes. And although I had some suspicions, I still experienced the shock by collecting data for women.

Two programming students from Java classes bravely represented the two rarest psychological types of women.

TipiStudentes.png

Update
After three Java classes, three only female students in each of class show following statistics:

TipiStudentes3.png

If xNTJ type among men as a whole constitutes around 6%, for the women it makes less than 2%! No wonder that female programmers are so few. In order to ensure the scale of this issue, I interviewed a few acquaintances I known in the IT and it resulted in a slightly "diluted" statistics. However, here is important note — even though they represented other psychological types, none of them was a "pure programmer".

TipiSievietesIT.png

I assume that by collecting data for a larger number of women I'll get similar division as among men, but with important difference — "programmer" psychological type among women is significantly less frequent than among men.

The resulting data can be applied in the opposite way, to answer the question: "what psychological types are the most incompatible with programming?" The most opposite type with programming is definitely something that is common in mainstream society, but is not present among programmers. Among men it is ISTP or "artist", while among women — ISFJ" or "carer". The next most common types among both genders are ESFJ or "guard" and ESFP or "artisan". People who create sensations — painters and actors, takes care of the other people — nurses and doctors, who guard — soldiers and firefighters, or operate with practical things — artisans and craftsmen, certainly are not a "programmer type".

Consequently, I can quite safely claim following:

  1. While the IT industry will expand, lack of IT specialists will grow (and it will continue at least several years).
  2. More women can be involved in IT industry only if they can be used in many other, "non-programming" occupations (e.g. customer service, project management, problem solving, etc. And it is also valid for many more men).
  3. Number of women particularly in programming can be increased only as much as we can find ones with appropriate mind set.

All women who told me about their career indicated that their choice was made more or less by some random event. This means that currently our society does not harvest all possible types of future programmers. To be able to find them, everybody should have been exposed to programming, to catch out suitable/appropriate candidates from everybody else.

In schools (for a short time) everybody have to be taught to do programming, because it is only way to distinguish the ones who like and can do it.

Otherwise, plans and policies will fail in individual, educational and in national level, and even more:

Fighting for women's equality in programming is (almost) as silly as the fighting for equality for men to carry child.

Some other findings

From collected data I got some second-order insights, why not just people, but also different classes behave differently. Although in the programming classes only some subset of all the people are, even then some noticeable differences appear. In the first class, when I asked "Are there any questions or comments?", I could unperturbedly look through window how grass was growing. In the second class theoretical lectures turned into a discussion. Although the practical achievements of teams were comparable, in first class all the teams achieved almost everything that they (modestly) planned. In the second class, neither team achieved that was (quite ambitiously) planned.

These small, but well-perceptible difference between the grades of psychological types are shown in the following graph.

TipiKlases.png

Some of the E ... types of the first class Keirsey has named as "the most introverted extroverts". Even if anyone had some question in first class, no one really bothered to ask question, as asking was too much inconvenience, comparing to the value of the answer. Ambitions of this class teams were lowered bye ESTJ "overseers" and ISFJ "guards". The second class was much more extroverted, which showed in class behavior, and their ENTP or "inventors" had quite high (unjustified) optimism for their plans.

Tags Apmācība Programmēšana Latvija
Created by Valdis Vītoliņš on 2016-07-26 04:22
Last modified by Valdis Vītoliņš on 2021-04-13 14:27
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License