| Role:
developer who was about to leave Dodoni
In the beginning of Bojan's time in Dodoni, he wasn't empowered by
Zakro's management because he worked on the project that Zakro wasn't
involved in. It was a project originally developed by Patrik, person
who was about to leave Dodoni and whom Bojan was hired to replace.
I am Zakro, your boss, and you should obey
me...
Patrik seemed like a nice guy who obviously knew pretty much about
programming and who was at the same time very social. He usually
organized team coffee breaks by simply shouting: "OK, people. It's
twelve o'clock. Let's get out of here for a cup of coffee." Two things
he and Bojan definitely have in common are that he likes Dilbert and
that he usually takes his watch off his hand while he is working.
After Patrik left Dodoni, he found a job in one equally horrible champ
firm where he quit after few months. "Third time lucky" rule also
applies to Patrik because the third job he found was the right one.
Short time after coming there he got promoted to development manager
and up to this time he has probably forgotten about his traumatic
experience in Dodoni computing.
Bojan didn't need much time to find out that there was a permanent
hostility between Zakro and Patrik. This was because Patrik used every
opportunity to show to Zakro how much he despises him and his
incompetence. Of course, that pissed Zakro a lot. He was waiting for
the smallest opportunity to humiliate Patrik and to show him who was
the real authority in Dodoni. Finally he stroke lucky one day when Patrik
overslept and missed the train to Dembelia, where he had to maintain
his application on client's site. When Patrik came to office, Zakro
put him in the middle of the room and in the front of the whole team
shouted: "I am your boss, not Erich. I am the one who you should
listen. I am sick of you constantly ignoring me. From now on
you listen to what I say or you get your ass out of here, do you
understand?" That incident obviously speeded up Patrik's decision to
leave, but it wouldn't be fair to say that Zakro was the only reason
Patrik left. He was also worn out by stupid project he had to work on
and with equally stupid client's demands that resulted in that he had
to work in Dembelia for several months and be at home only on
weekends. The name of the project was REAL.
REAL - Bojan meets champion's style of
programming
Project REAL was a typical example of one-man project, where one
person developed the whole application and where no one else in the
team had a clue what the project was all about and what its
current status was. Patrik communicated directly with Erich and with the
client, and Zakro's pride wasn't hurt because he was appointed a
fictious controlling person, although it was obvious he didn't control
anything. REAL was developed for big Dembelian real-estate agency to
help their agents to work more efficiently. From the technical
viewpoint it was a desktop application written in Visual Basic that
used data from Access database. The version Patrik worked on for
almost a year should have replaced older version written entirely in
Access 2.0.
When Bojan opened REAL source code for the first time, he was
horrified. The application was written as typical spaghetti code
monolit and it violated all known rules of good design, architecture
and coding conventions that Bojan knew about. Most of the code was
inside form's event handlers that were in some cases hundreds of lines
long. Database queries were hardcoded directly in those same event
handlers, there were no data or business classes, instead of constants
author used magic numbers and strings, comments were sporadic,
complicated algorithms weren't documented at all and so on. To make
things worse, many different parts of code looked exactly the same and
it was obvious they were created by "copy-paste" method. REAL also had
nothing that looked like technical documentation, if you don't count
few pathetic pieces of paper that would be more usable if put in the
bathroom. So, all in all, it was classical example of what many books
on software development call "Maintenance nightmare product".
First questions that came to Bojan's mind, after he recovered from
the shock of seeing that horror were: "How was possible to produce
such an awful code? What happened to quality assurance, code reviews,
did anybody besides Patrik take a look at that mess? What should I
think about the firm where it is possible to write such a bad product
without consequences?"
The only person that Bojan thought was able to stop the bad practices
and establish quality in REAL was Zakro. "Why Zakro failed to do
that?", Bojan kept asking himself.
When Bojan asked Patrik why he produced such ugly code, he answered
that he had had no time to think about the quality because the
delivery dates were unrealistic. He didn't miss the opportunity
to blame Erich for that and he said that it is normal for Erich to try
to please the client and get the contract by promising unrealistic
dates. "Initial estimate for REAL was three man-months and as you can
see, it took me about a year to develop it and there is still work to
be done. So that's it about the estimation in this company", Patrik
added.
On the other hand, some Dodoni employees looked on the Patrik's
project from different perspective. They called it "dream assignment"
because it was solo project where you as a developer were your own
boss and you set all the standards and there was nobody to disturb
you. Even better, nobody knew what you were doing, so if you finished
something in two hours, you could spend the rest of the day doing
nothing and nobody would notice. Later Bojan learned that some of them
envied Patrik because REAL was the only project in Dodoni that Zakro
didn't have anything to do with. On one occasion one of them told to Bojan:
"Pray to God that you got some project in C++. Zakro is too stupid to
understand anything beyond Visual Basic so he won't bother you while
you work on such project. It is really a blessing not having him
behind your back, believe me."
REAL was scheduled to be finally delivered two months after Bojan
arrived to Dodoni. It was considered a finished product, except few
cosmetic changes that Bojan was supposed to implement. One year after,
when he was still implementing some minor changes in REAL, he
remembered that optimistic estimation. However, he wasn't angry
because he realized long time ago that he shouldn't trust Erich's
optimism, especially when it was about the delivery dates. He even
liked working on REAL, because it required occasional business trips
to Dembelia, which Bojan enjoyed because he had never been there
before. It also allowed him from time to time to avoid Zakro's
management, and from what he learned, not working with Zakro was
better than any stress relief program.
REAL - tip of the iceberg
When later joined the team that was working on main Dodoni product,
DAMP, Bojan realized that Patrik's style of
programming he saw in REAL was de facto coding standard in Dodoni.
DAMP code also violated all known rules of good programming and to
make things worse, the project manager was Zakro. So, not just REAL or
DAMP, but nearly all Dodoni products were deadly combination of
spaghetti code, bad management, missing documentation and ignorance
and stupidity in all aspects of work. Such a combination was a fatal
poison that soon wiped out any sign of enthusiasm and optimism in many
people who came to Dodoni. Once ambitious and willing to learn, after
few months in Dodoni, they gave up and started looking for the
smallest opportunity to quit and pursue professional satisfaction
somewhere else. One of them was the only woman in Dodoni, Senka
Lukavic. |