|
There is new champion in town
After Senka quit, champions faced a big problem. Nobody of the
remaining staff wanted to get even close to debugging Stinky's trash
or producing dull reports, two trivial and humiliating tasks that
Senka usually did. It was really important to speed up manhunt and
find appropriate person willing to do whatever is asked from him
without asking too much questions or doubting in great leadership. Off
course, it had to be a male person because it was obvious from dealing
with Senka that women are unpredictable and unreliable as programmers
and once a month so driven by hormones that they even start to doubt
in all-mighty management and question its authority. How outrageous!
One of the stories related to those days when Senka's
hormones went
wild goes like this: In one of his inspiring moments, Zakro gave Senka
task of finding appropriate icon for one of the forms in DAMP
application. After few hours of search, she succeeded in finding one
and put it on the form. Then Zakro came to scene and started to play
indecisive customer. "Can you please move the icon to the right? No,
make it to the left! Maybe it would be better to make it more darker,
can you add more dark blue colour in it?" etc. After few such orders,
which Senka experienced many times before, she finally exploded and
said that she had more important things to do than to play with his
bloody icon and that he could as well adjust the icon himself. Zakro
was very surprised by her reaction, although he shouldn't have been,
because he already enjoyed his second marriage and had a lot of
experience with women. Anyway, that incident didn't help Senka to get
more responsibility but at the time she was surely relieved from much of
the accumulated frustration.
OK, let's go back to Dodoni's problem of finding new employee. As
usual, job newsgroup ad attracted many candidates, mostly because Dodoni was Dembelian firm
and people assumed that bigger salary and
better working conditions automatically come with the position. Zakro and Stinky were
stuck with many resumes and after many hours of careful reading and
evaluating all possibilities they came to conclusion that guy named
Rudi Topalovic had the best chances for becoming a true champion. He
came for an interview and shortly after that he was hired.
Profile of the new born champion
Rudi was 34 years old and that made him the
oldest champion, right after Zakro. Considering his age, everybody
thought that he had to have much experience and that he was serious
and reliable developer. When they found out that his experience was
equal to zero and that Dodoni was his first job, they didn't stop to
believe in him because in his resume Rudi wrote that he was an
experienced self-taught developer and master of Microsoft
technologies. The thought that maybe Rudi blatantly lied just to get a
job didn't cross their mind.
One thing in favour to Rudi was that he spoke Dembelian language,
which surprisingly no other champion was able to. Zakro thought that
it was a nice opportunity to reduce firm's budget and ditch the
official Dodoni translator, a woman who processed all Dembelian
documents and who shamelessly asked to be paid for that.
Rudi proved his seriousness with one more fact -
he was one exam far from obtaining bachelor's degree in computer
science. The sad truth that he was holding that status for years
without any visible sign that he really intended to finish his studies
again didn't change Zakro's and Erich's opinion because Rudi was very
cooperative person - he happily accepted all the dirty tasks that
Senka previously worked on and the most important, he agreed to be
paid like a junior developer.
What else to say about Rudi? Silent, reserved
guy, whom many people would describe as "focused thinker" while some
less forgiving would interpret his constant staring in one direction
as mental problem or even dumbness. Well, wise man once said that
there was a small step from being talented and being dumb, and
careless observers usually don't see the difference.
Master of pure theory or
"Why finish something in one hour if you can spare two days?"
Rudi was very precise in his work. After getting
his assignment, no matter how trivial it was, he would always analyze
it to the tiniest details in an attempt to find the best possible
solution. That analysis could take hours without any significant
result, but Rudi didn't rush, as long as nobody asked for it.
Efficiency is for dummies and robots, and I am an intellectual who
doesn't get his hands dirty by actually producing something, he
probably thought.
His system worked until he realized that Zakro demanded that every
working hour should be justified and entered into DAMP timesheet
system. That finding made him very upset because he knew that many
envious champions would interpret the time he spent on "thinking and
evaluating all possible solutions" as wasted and unproductive, so he
found a Solomon solution. He simply ignored Zakro and kept
"forgetting" to fill his timesheet. When Bartol suggested that it was
not a wise decision and that he could justify his work as "Learning",
Rudi was again upset. "If I enter all those hours under task Learning,
it would only mean that I don't know much and that I am not an expert.
It is not consistent with my reputation of experienced and
knowledgeable developer, as I presented myself when I came here."
When Zakro finally forced him to fill the
timesheet, Rudi spent half a day on making up fictious tasks that
would cover all that time he wasted on playing with "all possible
solutions". You should see the despair on his face when he tried to
transform the task that normal person would require two hours to
complete into huge task spanning two or more days and to avoid the
forbidden word learning. Or not to mention real tasks he performed
like "escape to my fantasy world", "dumb staring at the screen for
hours" or "pretending to do something useful". Good for him that he
decided to listen to Bartol who had very good imagination when it came
to filling the gaps in timesheet. He learned from him that two hours
of surfing the porn sites could be justified as "four hours of
searching for optimal code snippets on development sites" or that
ten-minutes conversation between developers could be entered in
timesheet as "one or two hours of consulting team members regarding
the architecture or design of the application."
For Ripley's "Believe it
or not"
There are numerous examples of Rudi's dedication
to details. One of the anecdotes says that he has written the
"cookbook" for installing patch for MS SQL server. The text started
with "Turn the computer on by pressing the button labelled Power" and
ended with "Shutdown Windows by selecting Shutdown option from Start
menu that is located in lower left corner of the screen". Another
anecdote goes like this:
In one of the desktop VB projects, Rudi was
assigned a task of creating a code that would populate a tree control
on the form. It was a rather clear task because the data for tree came
from recordset that was specially prepared for that task - each record
in the recordset represented one node of the tree with all the
necessary data, even the id of the parent node. It was enough just to
loop through the recordset and create tree nodes, maybe handle some
special cases, a bit of error handling and all in all, it was
estimated to few hours of work.
Rudi took different approach, because it was obviously too simple
solution for him. First he spent 10 hours in drawing sketches of the
tree on the paper and trying to figure out how that mysterious
structure really worked and what was the theory behind it. After he
finished his self-brainstorming and threw away all those sketches, he
came to an idea that it would be a shame not to develop an universal
class that could be used to populate all kinds of tree controls, not
just this one. After he spent another 16 hours of proof-of-concept
programming trying to understand how "that bloody control worked", he
came to conclusion that his concept wasn't so universal at all,
because he was missing the node level number in input data. After
another 30 hours of playing with his class and original data he
decided it would be wise to listen to Bartol's advice and forget about
the universal class and just write the simple loop that would iterate
through the recordset and use InsertItem method of tree control to
fill the structure. Although he wasted almost two weeks of work for
something that could have been done in two or three hours, he was
still convinced that he almost did the right thing. If only his
creativity wasn't brutally restricted by stupid delivery dates and
"develop efficiently" rules.
Few months later he again proved that he didn't
learn from previous mistakes. This time he was assigned a task of
developing an error handling for new version of DAMP. For every other
developer it would mean creating a simple class that would handle
three typical cases of errors - ADO, system and XML. Many three tier
sample applications like Duwamish or Fitch&Mather already come with
such class and it is just a matter of copying it and adapting it to
particular needs. But Rudi was not an ordinary developer and he proved
that by spending entire month in developing his super universal error
handling class. And at the end, what do you think, did Rudi succeed in
his effort? Or maybe other developer threw away his class and in 5 or
6 hours wrote another one that actually worked? It is up to you and to your common sense, our dear visitors,
to find an answer to that dilemma.
One of his annoying personal habits was that he
liked to work in the darkness. When he came to work, he would immediately
draw the curtains and left his colleagues in complete darkness. "I
can't stand the sun reflecting on my screen, it blinds me and I can't
work", he would say in his defense. Unfortunately, Rudi was equally
productive (or better, unproductive) with or without the presence of
the sunlight in the office.
There were few theories among his co-workers that tried to explain
this strange behaviour. One of them was based on predictable pattern
of traumatic childhood. The other stated that Rudi avoided light
because it would expose his dumbness and lack of efficiency. Another
one said that he simply wanted to be in the dark room full of men so
he could fulfil his fantasy of being in Turkish prison. Bartol wasn't
fond of any of those theories and he thought that Rudi was using the
darkness just to piss his champ co-workers.
Long live the theory
Rudi was obsessed with theoretical and
philosophical discussions of any size, shape, colour or flavour. And
if discussion had something to do with mathematics or physics, he was
happy as a baby on a mother's chest. The ultimate subject that made
him tremble like he was having an orgasm was Theory of the chaos. If
some of his teammates said something even remotely related to that
theory, he would stop all his boring programming activities and
immediately involve himself in the discussion. Off course, under the
assumption that he was the superior authority in that field and that
everybody should just sit down and listen to what he had to say.
If he was ten years older he would probably make
a career as a high ranked communist party official whose main
responsibility would be to make party meetings interesting and free of
unpleasant silence. Some non-champions think that constant talking is not a virtue
and that it is better to be quiet if you have nothing important to
say. But, Rudi as a perspective champion knew that a meaningless
blabbing is a good tool for assuring other people of your great
competence and knowledge.
Rudi's ups and downs on
his road to championism
Except Bojan, Rudi was the only person whom
Bartol could tolerate and normally communicate with after Senka left
Dodoni. Rudi and Bartol worked together on one desktop VB project and
many times Bartol was irritated by Rudi's obsession with theory so he
usually instructed him to implement something in shorter and normal
way and not the way Rudi liked or wanted to. Rudi was very offended by
that approach and he would probably refuse to obey Bartol's orders if
he wasn't aware that his dedication to details and his habit to spend
five to ten times more time on the task wasn't very popular with Zakro
and other colleagues. So, even he didn't like it, he agreed to follow
Bartol's directions. As for Bartol, although he knew that Rudi's
consent was result of fear and compromise, he was still pleased that
there was one person in champ firm who was supposed to work according
to his ideas.
Bartol wasn't the only person irritated by
Rudi's behaviour. Management didn't like him either because he used to
ask "unnecessary" questions instead of reading other people's minds.
"What is that you don't understand? It is so simple...", Zakro used to
say to him on many occasions. In time Rudi understood that he is
expected to obey orders, be quiet and never ask for further
explanations. He also realized that he should follow the basic
champion's principles: never ask questions, never waste time on
documentation and code before thinking why. If he sometimes found
out that he completely misunderstood what he was supposed to do
because he never asked, he still didn't doubt in process and the way
things were done around him.
Considering all these facts, it was obvious that
Rudi gradually became a real champion, full of faith in Zakro's leadership
and his firm's future. Off course, he should still be monitored 8
hours a day to prevent him from spending 5 times more time on assigned
tasks, but as long as he didn't ask too much questions and didn't
doubt in management, he was tolerated. At the end he realized that his
position and his salary perfectly matched his abilities and that he
would have hard time finding another job, so he became a real
proponent of his firm and of champ methods of programming. When Bartol once insisted on careful planning and good design of the
application instead of fanatic coding, Rudi replied: "Why so much
planning? It is like we are building a house and thinking that maybe
one day it will become a high-rise building. Instead of making it
right now, we are losing time on what-if scenarios. It is crazy, let's
go and code something!"
|