Would I lie to you? Of course I am the best!
Reading loads of employment ads in Israel’s computer branch, I am getting one deja vu after the other. »Puff is part of the trade«, but we should we aware of the threshold to ridiculousness.
It is very clear and I admit that, your company is the finest and best in class, so I better hire at IBM? And of course, as at July 2015, I have at least 12 years of experience in programming with the Rust-programming language.
On the other hand I can remember my former employers quite good, how scared they were, when I wanted to use pthreads, shared memory and not exactly the UNIX-IPC but rather POSIX memory mapped files.
I remember applying for a job at ESO. I saw myself honored when they invited me to a colloquium and there a the colleagues from the computer science dept. gave me the third degree. It was tough, but then I had a little question and I wasn’t so much aware of the importance of both, the question and the answer.
I asked: »What about the documentation?«
And the head of the dept. answered: »Yes, of course we have documentation, but we don’t exaggerate it.«
I finally got the call to join this internationally reputed astronomical organization and then I woke up in the real world:
- From that point of time on I was responsible to improve the P2PP-tool (Phase 2 Proposal Preparation). A software product to configure the VLT and the attached instruments at Cerro Paranal (Chile).
- The team of software developers who developed this software – some 130.000 lines of Java-code Version 1.1.8 – was gone.
- There was not a single page of documentation.
- There were comments in the code, but only where the code was obvious. The more complicated and staggered the code became, the fewer comments I found and the less sufficient these comments were.
I literally saw my former colleagues how they wiped the sweat from their foreheads, once their code finally worked so far. Then they went home and never touched it again.
- There was a bug-list with several hundred items.
- When I asked for the documentation, the answer was that I should take the book about Design Patterns. This was the documentation.
Oh, sorry for the stupid question!
- I was complaining about this situation and after a few weeks the former lead-developer of P2PP delivered some documentation.
It was exactly five pages, most of them had only a few lines and they said:
- This one is a manager pattern
- This one is a factory and a singleton
- That one is a manager and a singleton….
- blah blah blah
- Every bug-fix started with a research project. I had to investigate the inner working of the bug, find its root cause and apply a fix that didn’t damage a software, I actually didn’t know.
- Then I established a few templates in TEX and wrote my documentation for the bug-fix in vi.
Along with the release of every bug-fix I published such a document to close the case.
This made me a hated person!
- Even though I had a three-year assignment, after about half a year I decided to leave the organization.
- At the same time the colleague responsible for the Phase 1 tool resigned from his post and the project manager obviously became aware, that I was pretty unhappy and I wasn’t as fast as he wished. So he planned two things:
1. He planned to re-hire the external consultants who initially developed P2PP
2. He wanted to shift me to the maintenance of esoform package – the Phase 1 tool
- Carlo, the colleague in charge of the esoform package just said: »Don’t take this assignment. It’s the same mess as with P2PP only in C++«
So I finally resigned from my post with a six week notice period and we both left ESO at the same time.
This story may appear a little extreme, but over the years I developed a sober view on companies’ self-assessments. In the real world, managers want the result and they are only too willing to trade quality assets, like the software-process or documentation, for the delivery date.
This may work once, twice….. but after a short period it will land on your feet because the software quality will suffer sustained deterioration. From that point on you will carry a big backpack of issues.
Live with it and never say the truth about it.