30 years of programming in the faces

Original author: Fun boy
  • Transfer
An article without a beginning, in which the author talks about the unbearable types of people with whom he worked over the past 30 years, with the translator's epilogue.

I graduated from college 30 years ago. My first job was developing test equipment for Univac . It would be wonderful times, if not ...

Greg the Secretive


Here, for the first time, I came across a person who believed that not helping others and not answering questions - this is some form of guarantee of employment - his employment.

Once I spoke in general terms about a project that I was going to do. Greg listened carefully and said the same thing as usual: nothing. I spent a week or two with the implementation until I discovered that my approach was fundamentally wrong. I asked Greg about this, and he replied that it was obvious to him at first sight. You know, he didn’t tell me anything! If I were his boss, I would fire him.


In 1984, I left the Univac team for a warehouse automation company. It was the best job during my career, except ...

Ion Incompetent


Ion was a self-proclaimed consecutive information expert. He was responsible for two parts of the project: low-level data transfer in a certain device and a simulator of this device. One of my tasks was to develop the next level of code that would process the data received from the device.

For six months, Ion worked on a simulator, on which I was going to test my code. For the past two or three months, Ion has claimed that he needs just a week or two more to finish. Finally, my patience snapped. I looked into the code of Jon, and I was sick: it was the most govnokod. I completely rewrote it in three days. After that, I rewrote the low-level code in the device itself; my code works there to this day.

I went to the management and said that Ion is not able to program. At all. A year later, I received an offer that I could not refuse, and left this company. Three years later I returned, and Ion was still there. I managed to avoid working directly with Ion for the next ten years, but the day came when I did not succeed. He still did not know how to program, and still proclaimed himself the best programmer you could meet. I rewrote his code again as soon as he switched to another project.

Gary Invented Not Here


You most likely worked with Greg or Ion, but I bet you never met Gary!

So, in 1985, I ended up in a small company that monitored the response time of communication channels. I realized that I was stuck, as soon as it turned out that my job was to learn from Gary and put things in order in his works.

Gary's "code" was something special: the program listings were sets of hexadecimal numbers written by hand and occasionally interspersed with monosyllabic comments. I kept one leaf for memory.

I asked Gary what was going on and why. It turned out that once Gary found a bug in assembler, and since then he did not trust him. He memorized the operation codes for the 6809 processor, wrote his programs in hexadecimal code, calculated his own jump offset, performed the ASCII conversions himself and entered his codes into the debugger, which saved the memory image to the hard drive.

Likewise, Gary did not trust operating systems. He wrote his own for the device with which he worked - all low-level procedures for accessing the hard drive and monitor, all mathematical libraries, all in hexadecimal codes.

The first thing I did was write a disassembler: now I had an assembler for the Gary language that I could work with. Gary continued to write in hexadecimal codes, I disassembled his code and worked with it already. Oddly enough, Gary and I worked well together, and he did not mind my workarounds. I even considered him a friend - but I was not surprised or upset when he was fired two years later.

Roger Fan Refactoring


Roger and I are very different: he is left-handed and an artist, and I am sure that his balls spin differently than mine. He noticed things that I missed, but things that were obvious to me, he did not understand at all.

For many years, he was accustomed to working alone, but once he was appointed team leader of six people, including Ion Incompetent. As usual, Jon failed his task, spending two months on it; after he was transferred to another department, I rewrote his code in two days. After that, the code fell into the hands of Roger, who decided that the code was not efficient enough. It should be noted that neither the execution speed nor the memory used were decisive for my task - but for Roger it was unprincipled.

My source code was sleek, easy to read, and easy to debug. After refactoring, he got a lot of bit hacks and other low-level optimizations, zero readability and a lot of bugs.
In addition, Roger spent a week refactoring my code and another week finding and fixing bugs, although he had his own task to complete.

Meanwhile, the rest were familiarizing themselves with Roger's code. It was a waste of time. Roger constantly reorganized and rewrote his code - because he came up with the best way to write it or simply the best name for the variable. It drove us crazy.

When the project was late for about a month, the president of the company demanded a demo version. We made an effort and put together a manual version. To the president’s question about the timing of the automatic mode, Roger answered “Oh, a few weeks.” What was he thinking? We assumed that it would take at least three months, in fact, six months passed before the end of the project. True, errors were already found in the already completed working version, the client was dissatisfied, and Roger received another six months to bring the project to mind.

I? I escaped from this department as soon as possible.

I apologize to all the people that I neglected in this article. Alan Burnout, Mike Architectural Astronaut, Karl Autist, and many nameless others - loafers, people who turn on the speakerphone with an open door, henpecked people who talk to his wife at least once an hour, people engaged in divorce or sick relatives ... I understand them all but I just can't work with them day after day.

Commentary by a translator.
This article interested me in the fact that it is difficult for me to decide if I agree with the author.
On the one hand, it is really hard to work with people with whom you can’t discuss your ideas, who always fill up your task or crawl into your code without agreeing with you, not to mention the inimitable Gary :-)
On the other hand, the author’s notes date back to the 80s. At the beginning of the development of the IT industry, every programmer was a genius and an enthusiast in his field, and the team was precisely a team of like-minded people who were not annoyed at each other due to trifles if the work went on and had to grind to each other because there were no alternatives. Now the IT industry is growing and growing, and the composition of the people working in it is becoming more averaged. Programmers ceased to be vivid personalities and creative rebels, becoming simply people who chose this type of activity - playing games and living not only work. Geniuses will continue to annoy the rest, remaining indispensable, and the rest would be nice to make a little effort so as not to annoy each other.
That would be great, huh?

Also popular now: