From Matt's Homepage. Find more articles at https://matt.grabara.net/.
← go back to Matt's Homepage

On working with technologies and paradigms

First published on 20th September 2017.

Most people, once they hear about IT-people, they often perceive all of them as coders, hackers and BestBuy’s Geek Squad employees at once. This is very hurtful, once you realise your friend who works as a programmer might be unable to fix your laptop and another who is able to break into your smartphone is not able to help you with your blog. Understanding of this issue is even more important these days, when global demand for IT professionals largely exceeds their supply. In case of the Netherlands, each junior or mid-career on the labour market has 12 job openings to choose from!

Illustration of job demand being tenfold of the supply.
Labour market for junior and mid-career IT professionals in the Netherlands.

Since my goal for now is to become a programmer, in this post I will explain what this one is about.

These days, coding bootcamps are popping up one after another, charging money or not for preparing you for your dream job of a programmer. They either require you to attend classes and workshops offline, or conduct their operations entirely online.

The companies behind bootcamps promote the idea coding is for everyone, regardless of social background and education. Furthermore, they claim everyone should know how to code and that everyone, sooner or later, will. Promoting coding as the crucial skill for every decent job position in the near future, they attract future participants, who do not want to lag behind their colleagues.

Very often, it is assumed that the knowledge of programming languages is enough to be a programmer. In this article, I will explain why this is not the case, thus what programming is actually about. Personally, I find it annoying when people I told I am programming ask “Which languages you code in?”.

In my previous job, I have not sticked to a single programming language. Furthermore, I have not known them before starting this job! So how did I get it? During the interview at Yorizon, my future (at that time) boss asked me whether I know JavaScript and jQuery. I responded I do not. He followed up “From your CV I see you have experience with C++ and Java. Can I assume it should not be a problem for you to learn JavaScript and jQuery then?”. “Of course, sir” was my response.

Why did I respond like this, if I have never dealt with JavaScript and jQuery, never did anything about developing web apps other than installing and configuring WordPress? To understand this, let us forget about programming for now.

Welcome to planet Earth, where every human being is using a language on everyday basis. Each of you reading this article knows English, and probably many know some other languages as well. Furthermore, if English is not your first language, you are more fluent in some other language than English. Multilingual people can tell you certain languages are easier to learn than others. They also know that ease of learning a certain language depends on the already known languages.

In Europe, where multiple languages are used within small area, and often within the same country, such relations between languages are commonly known. Most Europeans are aware it is easier for German-speaker to learn Dutch and Swedish than Polish, for Polish-speaker to learn Russian and Serbian than English, while Romanians and Moldovans are eager to emigrate to Italy, since Italian is closely related to their mother tongue. For this reason, linguists split languages spoken around the world into language groups. Each language group shares similar assumptions and patters, which we can call, for the purpose of this article, paradigms. Language trees are very neat and aesthetic representation of this phenomenon.

Because of differences between paradigms, multilingual people admit certain thoughts are easier to express in one language rather than another. I have observed this myself during my stay in Malta this year.

Malta has two official languages: English and Maltese. Very little related to each other. Local population is fluent in both. I was taking pictures in the park just outside Valletta’s old town, where two local teenage girls were sitting on a bench having a talk. Every few minutes they kept switching between English and Maltese. They were so fluent in both languages that these switches happened without notice. Conversation I was able to overhear became not understandable for me within a second, to become understandable again after a minute or two. Paradigms come from cultural differences between the nations using certain language. This should not be surprising that issues not common among the nations using one language are easier to be explained in another, if more advanced social development of the nations using that another language resulted developing issue-specific vocabulary.

Computer scientists are aware of paradigms too. They apply them when describing programming languages. Some computer scientists also draw trees. Unfortunately, they do not look as pretty as those from linguists.

This brings us to the conclusion that the programmer needs not to know the languages themselves (even though, it is a useful skill to certain extent). To become a programmer you need to be a quick-learner and be able to find which technology will be the most optimal for desired solution. Given how dynamic technology is evolving, including programming languages, people who know certain technologies now but do not follow their evolution are not able to succeed in the long run. This means:

quick learning + understanding technology > knowing technology

I hope this post gave you a picture why not all IT professionals are the same, what actually is expected from the programmer and contributed to the global peace by increasing the mutual understanding between technical and non-technical individuals.