All companies are dominated by stupidity. What makes the difference is the amount of compensation you get for staying there.
 

  Site about "championism" and "champ" firms on Croatian IT market.          ->Croatian site
  What is championism? | Champion's manifest | The Legend of champions | Weekly poll
  Legend of champions
  Prije (Previous) Nastavak (Next)
  Tihomil Nikotinovic Maddog
 
  Except Zakro, Tihomil was the person with the longest working history in Dodoni computing. He used to tell stories about the company's early days and the people who worked there before. Those stories revealed the fact that Dodoni computing had extremely high turnover.

Uncontrolled rage

Tihomil was in mid thirties and he practically lost all his hair, except for the remains in the ear level. Instead of having monk-like haircut, he shaved his head regularly and that gave him a pretty terrifying look. In first contact with Tihomil you couldn't avoid being a bit scared because of his bald, shaved head, deep voice and nervous gestures. Bojan will always remember their first contact when after meeting Tihomil the first thought that came to his mind was: "Oh, God, how will I manage to work with this bully? If I say something wrong to him, he will beat me without having second thoughts."

It wasn't just the appearance, but Tihomil really had bad temper. He would just explode for no apparent reason and shouted on his co-workers and then suddenly, like nothing happened, he changed his behaviour and became kind and quiet person. For instance, if somebody left the door open and that caused air to circulate, normal person would say: "Guys, do you mind if I close the door? I can get cold by this circulation." Normal person, but not Tihomil. He would rather start to yell and shout: "One day I will beat up the ass who leaves the door open! Do you people really understand that I can't stand air circulation above my head, how many times will I have to repeat that to you?".

Besides bad temper, he also had one really annoying habit - you couldn't shut him up. He found it amusing to loudly comment every thought that came to his mind, from problems he had in code to enjoyment he felt when looking at some dirty page on the Internet. If somebody tried to politely ask him to keep such thoughts for himself because he distracted other people in their work, Tihomil would become offended and yelled to that person: "When you talk to each other, it distracts me too but then you don't think of me. So, I won't be quiet, what can you do about it?"
Because of such difficult personality and constant uncontrolled rage, Bojan gave Tihomil a nickname Maddog, inspired by the title of the computer game Maddog McCree. It was a secret nickname known only to him and Bartol, who was also a regular victim of Tihomil's rage. They chose not to tell Tihomil his new nick, because they assumed he wouldn't like it and become even more irrational.

Although Tihomil was very loud and annoying, it seemed that Bartol, Bojan and Senka were the only people who noticed that. On one occasion Bartol couldn't resist but to ask Zakro to order Tihomil to be quiet, so other people could do their work without constantly being disrupted. When Zakro heard Bartol's request, he seemed very surprised. "Tihomil talks all the time? I haven't noticed.", he replied. Obviously, Zakro pretended he didn't hear the constant noise from other room because he didn't want to mess with Tihomil and his bad temper, even if it would significantly improve other people's productivity and morale. Zakro was "champ mannager" and as such, he didn't care about the people, productivity and morale, he only cared for his ass. The other person who also seemed unaware of Tihomil behaviour was Stinky. It was probably because they were good buddies and they usually went together to a smoking room.
When they couldn't stand Tihomil any more and it was obvious nobody would do nothing to shut him up, Bojan, Bartol and Senka found the solution in buying earphones and listening to music while they were working. Although it was sometimes hard to concentrate on some problem by listening to even most pleasant music, it was still much better than listening to Tihomil's constant, irritating blabbing. The most funny thing was that he didn't stop with his loud comments, although it was obvious that nobody listened to him any more.

Great expert and macho

In time Bojan realized that Tihomil's bad temper and arrogant attitude was just a facade that covered his professional and private insecurity. Everybody with the common sense couldn't help but to laugh when listening to Tihomil's holiday stories where he pictured himself as a big macho and great lover who cruised the Adriatic coast in his used Daewoo and picked up beautiful women like apples. Also, as soon as you saw a piece of his code, you were 100% positive that Tihomil had nothing to do with the programming either.
Of this last fact Bojan was warned by Bartol, even before he met mad champion. "You know, Tihomil is definitely not a programmer. I see him as a trespasser to our profession. He is here only because it is the best paid job he could find."

Bojan soon found out that Bartol wasn't lying and that Tihomil's programming abilities were very limited. His code was following the same pattern as most of the code in Dodoni computing. It was ugly, hastily produced Visual Basic code with hard coded constants and SQL queries. As his role model Stinky, Tihomil also used copy-paste method wherever possible and he also didn't care about any naming or coding convention, so his variables were named according to principle "more cryptic, the better". You could immediately recognize his code by variables having self-explanatory names like x, xx, xxx or x1 or x2. If somebody dared to ask him why he coded like that, Maddog would simply reply: "It was faster that way."

"It was faster that way"

Few months after quitting Dodoni Bojan was on a conference and during a coffee break he joined a group of  developers who discussed the worst programming solutions they've ever heard of. One of the attendees started his story: "In a company I worked for many years ago there was a guy who once developed the whole C program using only the Main function. When later one of his co-workers opened the source for maintenance reasons, he was desperately searching for modules and functions but with no luck. To his horror he realized that all the code was in Main() and that author heavily used copy-paste method to achieve such a result. Soon the news spread throughout the company and they called the author to explain why he coded the program in such an unusual and hard-to-maintain way. The author of that miracle, obviously not understanding why everybody were so upset about his solution, calmly replied: 'It was faster that way.'"

After everybody laughed, one of the people in the group asked the storyteller what was the name of the genius because he wanted to nominate him for some programming award. "Tihomil", he replied. Bojan laughed again and said: "Maddog! I know him, in fact I worked with the master"
The story later became very popular and was told on many other occasions. Maddog became a legend but unfortunately didn't win any programming prize, at least not the one we know about.

"Copy-paste" guru

It would be really hard to choose the ultimate copy-paste champion between Stinky and Maddog. It was kind of a constant, undeclared competition between two of them who could produce more shitty and unreadable code and who would more frequently use copy-paste method without thinking of consequences. If you were sure that one of them produced the worst solution ever, the other would soon change your mind by producing even more horrifying garbage. To be honest, there was one example of copy-paste crime that made Bojan think that Maddog was definitely a winner and that Stinky couldn't beat him.

It happened when Bojan got the task to modify two detail forms in DAMP, leading Dodoni application. After looking at the code for a while, he started to realize that two forms looked very similar. After even more careful examination, he definitely found out that two forms had totally identical user interface and functionality, the only difference was that they were invoked from two different parent grid forms. It was obvious that the two detail forms could have been from the start only one detail form, with proper coding that would ensure that this form could be called by different parents. This classical problem with one child form having many parents could have been solved in two different ways:

  • When referencing to parent form, child form shouldn't have used the actual name of the parent because it was different from parent to parent. Instead, it should have referred to parent as generic object (As Object in Visual Basic). When calling parent methods (e.g. refreshGrid), it should have used this generic object. In fact, this was the typical scenario in which callee didn't know the type of the caller object and it didn't need to, because all he wanted from caller was to support a given interface. For a person who knew basics of Object-oriented design it was an obvious example of class implementing certain interface and Bojan implemented it right that way. If later in the project there would be more than two different parents, it wouldn't be necessary to change child's code at all - new parent would just have to support the methods required by child, in other words it would have to support the same interface .
  • The other solution would be to use champion's copy-paste method and make as many copies of child form as needed i.e. as many as there are different parents. If new parent form later comes up, then copy child form again, together with all its controls, event handlers and database code. In each copy reference to concrete parent and don't use generic object or any of OOP stuff.

Even novice programmer who barely heard of any coding standard or design technique would have no doubt in choosing the first method as definitely the better one. Well, maybe novice programmer but not the champion and copy-paste guru. From the given code it was obvious that its author preferred the second method and Bojan didn't have to spend much time in finding who the genius was. He opened the history list in Source safe and found the point where the second child form was created by simply copying the first one. The author who checked-in the copy was, as you can guess, Maddog!

The profile of the expert

Maddog was weak in almost every technology he messed with. During his time in Dodoni, Bojan tried to find out if there was any activity that Maddog could perform without asking others for help or without screwing up in the first place. After many attempts, he concluded that there wasn't such a thing as Maddog's area of expertise, neither in programming nor in any other computer related area. Of course, he didn't count ability to smoke two packs of cigarettes a day or leaving dirty coffee mugs all around the office.

Maddog once admitted that he has never been interested in programming and that he started to develop software 5 years ago when he realized it was the best paid job in the industry. He learned everything he knew only by try-and error method and he has never shown any intention to learn or improve himself - not to mention reading some book on programming or taking some programming class. To make things worse, he didn't see that as a disadvantage or something he missed. Rather he thought that he was cleverer than other people because he achieved the same without pain of learning and studying. On one occasion Bojan brought to Dodoni his own copy of Steve McConnell's "Code complete" to show to his colleagues where he got the idea for code convention documents he usually wrote. When Maddog saw a book, he was curious and asked Bojan what was the book about. Bojan replied: "You haven't heard of Code complete? It is a programming bible. Everything you should know about the programming, from naming variables to code formatting is here. Do you want to take a look?"  "No, thanks", Maddog replied, "I probably know ten times more than what is written in this book!"

Despite his arrogance, he was well aware of his weaknesses and he avoided team projects like hell. He knew that if he had to collaborate with other people, they would soon realize how little he knew and he would definitely become the weakest link in every such project. The logical choice for him was to work on solo projects where he was the only developer and program manager and where nobody could control him. Only from time to time Zakro would ask him about the status of the project and Maddog would then assure him that everything was under control and the project was near completion. Few minutes later he would continue to surf porn sites or download mp3-s up to a moment when he realized it was time to do some actual work, which was usually few days before delivery. Then he would assemble some code, usually quick and dirty and send it to Erich, who would deploy it on client's site. In most of the cases deployment would be a real disaster and made Erich blush in front of the client's employees. If Erich asked him why code didn't work on client's computer, Maddog would reply: "It works on my computer. Their administrators are idiots who cannot install even simple application like mine without problems. I am not responsible for their fucked servers or their lack of knowledge, my code works!" By facing such direct response, Erich had no alternative but to ask great champion to come to Dembelia personally and help poor administrators install his application. Maddog wouldn't complain because he liked to travel to Dembelia. Upon his return, he also liked to tell the stories from the trip to his co-workers, although it was obvious that no one cared about what he had to say.
Most of his anecdotes were related to problems he had with customs on EU border. He had an impression that he was harassed by customs officers and he didn't know why. Of course, the real reason they interrogated him more than other passengers wasn't that he was bald, wearing black pants, black leather jacket and black boots. No, god forbid! The real reason was that they somehow felt they were facing an important person, a master, a champion, and they were jealous like hell. So jealous that they searched him completely and asked to show them how much money he had. Pathetic losers!

Self proclaimed system engineer with the motto "Reinstall and don't ask why"

Every development firm needs a person who performs administrative tasks like installing servers or service packs, evaluating tools, making application setups etc. Nobody knew how and why Maddog took that position in Dodoni, it was probably because other people were too busy programming and Maddog felt it was a chance for him to master something that was definitely easier than developing software. Unfortunately for the firm, he was too dumb to learn even such trivial and repetitive tasks. To make things worse, he has never consulted any documentation before doing some major installations or upgrades and he has also never warned his co-workers of his intentions. The net result was that after his interventions productivity was cut dramatically, because he managed to screw some development server, internet connection or database. Then at least two other developers stopped their normal activities and tried to help him and minimize the damage.

One time he messed with the main development server, installed and reinstalled software, rebooted few times and as a result, SQL server debugger failed to function properly. Bartol was pissed and asked who screwed the server and the debugger and Maddog innocently replied: "I have no idea. Why do you ask me? Why everybody thinks I am responsible for every error on the server? I am sick of that, you pissed me off, I am going to smoke a cigarette or two.."

On another occasion Bojan asked him to make installation program for web components of Crystal reports for his DAMP2 web application. After few days of try-and-error principle combined with cursing and shouting, Maddog managed to assemble a setup that seemed to work properly. Well, it seemed to work, but just on NT4 server. If run on Windows 2000, the same setup would crash the operating system to the point that you couldn't even use Control panel. After careful examination, Bojan found the reason of lethal behaviour of Maddog's setup program: one of the components of the installation, namely MFC dll, had a flag that instructed setup program to unconditionally install that dll in system directory, without checking if there was a newer version of dll. It posed no problem in NT4, because dll in installation was newer than one in the system folder. However, on Windows 2000, installation version was older than one in system folder and that same older version replaced the newer version and caused many system components that depend on MFC dll to crash. Bojan tried to figure out why setup had to install one particular version of dll and not caring if there was a newer version. Or, if older version was a requirement, why it couldn't be installed in some custom directory instead of windows system directory. If he cared to ask author, he would probably get an answer somewhere between "It was faster that way" and "Fuck, I didn't want to mess too much with that setup so I made the first version that worked and called it off."

Inspired by Stinky in many ways

It wouldn't be fair to conclude this story without mentioning one more thing Maddog and his buddy Stinky had in common, except writing bad code and smoking two packs of cigarettes a day. Like his friend, Maddog also smelled like a skunk. Obviously, being so busy with thinking of new software algorithms and of new ways to screw server installation, Maddog kept forgetting about so elementary things like taking showers or washing his clothes. It wasn't so obvious like with Stinky, but only if you didn't approach him too much. Rudi, guy who took Senka's place after she left, wasn't so lucky because he was sitting next to Maddog and you could see him holding his breath or turning his head when Maddog leaned towards him trying to ask him something.
Day after day, it escalated to such level that Bartol compared Maddog's smell to the stench of the street bum who hadn't washed himself for weeks and had three days old urine on his clothes. On some other occasion, probably after good portion of chilli, Maddog decided to release a silent but deadly fart that soon filled whole room and made other colleagues cough and cry. When he saw both hatred and despair in their eyes, only thing he could say was: "Oops, I am sorry." 
 

  Prije (Previous) Nastavak (Next)