Brains of the World, and Degradation of Programming!

Figure 1: word cloud containing the names of a number of programming languages.
Made with: https://wordcloud.app
Data from: https://survey.stackoverflow.co/2024/technology#most-popular-technologies-language

One of the most heard words, if not the most heard word, in the programming scenery is ‘create’, along with its inflections. However, only a programmer with some academic/theoretical background may grasp the real sense of the word: creation, as in creation. A Programmer’s use of the word may give the impression as if the programmer were a god busy with creation all day long, exhibiting an ego that is extremely inflated to the degree of explosion. It was not sufficient for the programmer to brag about creation all day long, the general public has the impression as if the kind of profession the programmer exercises is of Devine nature, glorifying the programmer and the achievements. (I, personally, remember hearing people saying literally “programmers are gods!” in many languages.) In fact, the programmer claims to be a member of the smartest species in existence, the species of programmers, and the general public seems to agree.

However, contrary to popular beliefs, a programmer is in most cases a bureaucratic, capitalist clerk that does not even bother to think. The programmer lifts fingers all day long, however, typing on the keyboard and clicking the mouse buttons. Then, “how are programs written if the programmer does not think at all? and isn’t programming the kind of profession that requires intense thinking?” the reader might wonder, and the programmer may object. A walk into any programming office would certainly reveal the secret recipe for success that every programmer possesses: Google it up!

The average programmer, that is found in all kinds of places, including so-called Big Tech, spends the day searching for answers to the problems on the internet, and the number one source for answers is, for certain, Stack Overflow. Besides Stack Overflow, there are other famous sources for answers, blogs, fora, tutorial websites, and the like, all of which are accessible via Google, and all of which the programmer is aware due to Google. Note that the programmer searches for answers online, the programmer does not even ask questions online (remember that the programmer does not even bother to think), not mentioning that a few handful of programmers do answer questions online! Then, who is doing all the heavy thinking on behalf of mankind? Well, I, myself, do not have the answer to the question, but I would rather guess it is indeed a very few tiny small handful of programmers.

Google, therefore, may be said to be facilitating the very frustrating kind of profession the programmer suffers on a daily basis sitting on a fancy occupational health chair searching for answers online on huge, fancy screens, the reader might argue, and the programmer would agree. However, does it pay off on the long run? In terms of skills, certainly not! In fact, searching on the internet instead of formulating own answers kills the programmer’s creativity. Searching on the internet would ultimately yield the desired answer. However, was the question the right one in the first place? Are there alternative or better questions? Two questions of which the programmer do not bother to think. A programmer’s ego is utterly inflated such that once the programer thinks of a solution (in terms of questions and/or answers), the programmer sticks to it no matter what, and may spend hours, if not days, or even weeks, searching for the solution, as imagined, to the problem. The exaggerated amount of time that is wasted on finding an answer could have been, instead, invested in reading a few pages that may reveal some secrets of which the programmer was not aware in the first place. A programmer is, thus, simply a Ctrl+C, Ctrl+V machine, copying all kinds of answers found on the internet and pasting them into the source code without any further considerations. A behaviour that is facilitated by Google.

The lack of creativity on the part of the programmer has its reflections on code quality: simply copy-pasting answers yields inconsistent code that is full of bugs (another most-used term in the programming scenery is ‘bug’: a flaw in the program, a mistake, that causes the program to behave rather unexpectedly). There are various programming styles and formats out there on the internet, and those code styles and formats are not necessarily consistent with one another, and simply copy-pasting answers results into a certain, extremely poor code quality that is unreadable, which, in turn, leads to more bugs. Moreover, the programmer may be tempted to simply copy-paste an answer that is judged to be the best fit, regardless of whether the original requirements for the program under construction match those of the question/answer that is found online. Google, then, may be said to be contributing to the degradation of programming, instead of enriching the programming scenery.

In fact, and which sounds nothing but contradictory, in every programming environment, it is strongly recommended to use Google to find answers in order to speed up the capitalist process of selling consciously-made-broken products. However, in any job interview, the programmer’s googling-up-stuff-online skills are never assessed; a taboo subject in any job interview. A programmer may explicitly declare the intention to search for answers online when facing a challenging task, as an answer to the question of what methodologies would be applied while facing a challenging task. However, Google is never mentioned. Although, every participant in the job interview is totally aware of the implicit answer. Google may, then, be said to be deeply incorporated in the programming scenery, while at the same time contributing to the degradation of programming.

This practice is further promoted due to a famous quote from Bill Gates, whose source I could not discern, easily found online however, stating something along the lines of: “I choose a lazy person to do a hard job. Because a lazy person will find an easy way to do it” (A Quote by Bill Gates, n.d.). And what would be the easiest way to solve a programming problem? Googling up stuff online, for certain. It may, therefore, sound to the reader as if the lazy programmer is of higher value in the world of programming, as opposed to the non-lazy programmer, a statement which is totally true. (Supposedly extremely well educated capitalists (well, they do read management books every now and then) are still having a very hard time trying to understand one of the most important principals in psychology: Speed-Accuracy Trade-Off.)

Now, the reader and the programmer alike may wonder: what to do then when facing a challenging task? Well, simply read the official documentation, a virtue that is rarely found among programmers. It should be noted that most products, especially the successful ones, are shipped with an extensive amount of documentation, in terms of technical documentation, functional documentation, tutorials, sample projects, and more. However, no programmer has the time to read: the programmer is a lazy person, and capitalist policies are strongly against such practices. (I have been told twice during my previous job not to bother with quality too much, because all I have to do is to deliver. Although I was strongly against it and I was engaged in a very hot debate, deliver I did, till the customer got fed up with our low quality product and eventually ended the contract. This is a known business practice in the programming scenery that is aimed at forcing the customer to maintain contact with the company, and to force the customer to pay for maintenance/reparation work! In fact, this is a known capitalist manner of conducting business that I encountered when I was an export area manager, were the managers used to exclude some items from the shipment, because the customer will come back and ask for the missing piece plus some more.) If the programmer were to think in the first place, the programmer would have been a nuclear physicist, a mathematician, or a surgeon. Or a true computer scientist maybe!

As a final remark, it should be noted that while searching for answers online the official documentation websites seldom, if ever, appear among the first results on the very first page, as demonstrated in figures 2, 3, and 4. If the official documentation website were to appear among the very first results on the first results page, the programmer would have been forced to browse the content of the official documentation, and, eventually, truly learn the programming language.

Figure 2: Searching on Google using keywords: “python datetime add days”. Where is Python’s official documentation website? Google is a semantic search engine, and, therefore, searching for keywords is meaningless. However, if Google were a true semantic search engine, why not simply extract meaningful information from Python’s official documentation website?
Figure 3: Searching on Google using some more scientific-sounding keyword: “python datetime arithmetic”. I guess Google is totally confused, now that some fancy, scientific keyword is included. At least, Python’s official documentation website is there on the very first page. Not the first result, though.
Figure 4: I find myself in a difficult position where I am forced to use some inappropriate word. This is simply ridiculous. I used some very simple keywords, and the official documentation website is at the bottom of the page. Not mentioning that the research result concerns an outdated version of Java. If the official documentation website appeared as the first result, one concerning a popular release of Java that is not outdated, programmers would be forced to browse the official documentation. Hence, programmers would be forced to read, and better learn the language and its library.

References

A quote by Bill Gates. (n.d.). Retrieved September 27, 2024, from https://www.goodreads.com/quotes/568877-i-choose-a-lazy-person-to-do-a-hard-job