An article without a beginning, in which the author talks about unbearable types of people with whom he worked over the past 30 years, with the translator's epilogueI graduated from college 30 years ago. My first job was to develop test equipment for the
Univac . It would be wonderful times if not ...
Greg the Sneaky
')
Here, for the first time, I ran into a man who believed that not helping others and not answering questions was a form of job security -
his employment.
Once I told in general terms about the project that I was going to do. Greg listened carefully and said the same thing as usual: nothing. I was busy with the implementation of a week or two, until I discovered that my approach is fundamentally wrong. I asked Greg about it, and he replied that it was obvious to him at first sight. You know, he said nothing to me! If I were his boss, I would have fired him.
In 1984 I left the Univac team for a company that specialized in warehouse automation. It was the best job of my career, except for ...
Ion incompetent
Ion was a self-proclaimed sequential information expert. He was responsible for two parts of the project: low-level data transfer in a 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.
Half a year Ion worked on a simulator in which I was going to test my code. For the last two or three months, Ion claimed that he needed just a week or two more to complete. Finally, my patience is exhausted. I looked into the code of Jonah, and I felt 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 capable of programming. 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 failed. He still didn’t know how to program, and still claimed to be the best programmer to meet. I rewrote his code again as soon as he switched to another project.
Most likely, you worked with Greg or Ion, but I bet you never met Gary!
So, in 1985, I got into a small company that monitored the response time of communication channels. I realized that I was in trouble, as soon as it turned out that my job was to learn from Gary and bring order to his works.
Gary's “code” was something special: program listings were sets of hexadecimal numbers written by hand and occasionally interspersed with monosyllabic comments. I saved one leaf as a keepsake.
I asked Gary what was happening and why. It turned out that once Gary found a bug in the assembler, and since then he didn’t trust him. He memorized the operation codes for the 6809 processor, wrote his programs in hexadecimal code, calculated his own jump offset, did the conversion to ASCII, and entered his codes into the debugger, which saved the memory image to the hard drive.
Similarly, Gary did not trust the operating systems. He wrote his own for the device with which he worked - all low-level access procedures to the hard drive and monitor, all mathematical libraries, all in hexadecimal codes.
The first thing I wrote was a disassembler: now I had an assembler for the Gary language, with which I could work. Gary continued to write in hexadecimal codes, I disassembled his code and worked with him 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 and not 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 he did not understand things that were obvious to me.
For many years he was accustomed to working alone, but once he was appointed head of a team of six people, including Ion Incompetent. As usual, Ion failed his task, spending two months on it; after its transfer to another department, I rewrote its 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 speed of execution nor the memory used were decisive for my task - but for Roger this was not fundamental.
My source code was elegant, 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 searching and correcting errors, although he had his unfulfilled task.
In the meantime, the rest of them got acquainted with the Roger code. This was a waste of time. Roger was constantly reorganizing and rewriting his code - because he came up with the best way to write it or just the best name for a variable. It drove us crazy.
When the project was about a month late, the company president demanded a demo version. We made an effort and put together a manual version. To the president’s question about the timing of the implementation of the automatic mode, Roger replied “Oh, a few weeks. What was he thinking about? We assumed that it would take at least three months, in fact, half a year had passed before the end of the project. However, errors were found in the already submitted working version, the client was unhappy, and Roger received another six months to bring the project to mind.
I? I escaped from this department at the earliest opportunity.
I apologize to all the people that I neglected in this article. Alan Burnt, Mike Architectural Astronaut, Karl Autist, and many other nameless others - idlers, people who turn on the speakerphone when the door is open, henpecked who talk to his wife at least once an hour, people involved in divorce or sick relatives ... I understand them all but I just can't work with them day after day.
Translator's comment.
This article interested me because it’s hard for me to decide if I agree with the author.
On the one hand, it’s really hard to work with people with whom it’s impossible to discuss your ideas, who always flood their task or climb into your code without agreeing with you, not to mention the inimitable Gary :-)
On the other hand, the notes of the author date back to the 1980s. At the beginning of the development of the IT industry, each programmer was a genius and an enthusiast of his business, and the team was exactly a team of like-minded people who were not annoyed at each other because of trifles if the work went on and were forced to rub themselves together because there were no alternatives. Now the IT industry is growing and maturing, and the composition of the people working in it is becoming more average. Programmers have ceased to be bright personalities and creative rebels, becoming just people who have chosen 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?