Since I’ve been excruciatingly busy lately, I’ve decided to share a little Halloween story with you. Of course, being a developer, you know what it will revolve around!
This is a true-ish story…
Once upon a time…
Once upon a time there was a very, very experienced Java developer.
He had more than 20 years worth of experience in many programming languages, and would even talk in regular expressions when he wanted to make fools out of the others. His intelligence and knowledge, though, were unquestionable.
One evening came a client, a certain Mr Cypher, first name Louis. He offered to pay a very large sum of money for what looked like a very simple application. But he sent a warning: the deadline had to be met, otherwise the involved programmers would suffer very serious consequences!
The Experienced One was confident, so he accepted the challenge.
He assembled a team of developers and started implementing the client’s requested features. To be fair, the requirements were not excessively hard and the team progressed through each user story at a very decent pace!
Then one day…
Then one day a bug appeared in the application. It was one of those pesky, unexplainable bugs of the worst kind.
One of the team’s younger member analyzed the feature’s logic step-by-step and eventually found there was a problem with the experienced developer’s code.
The code was complex and not very readable, and of course there were no tests because he was too experienced for that and “tests are for sissies” anyway.
The Experienced One could not be found anywhere. He used to do that: disappear for hours without anyone knowing where he went. He was confident that no problem would arise and that the team would be able to finish the last few remaining tasks to complete the project.
So the younger developer asked the help of the rest of the team.
They spent endless hours decrypting never-ending lines of garbled, tangled code, and finally found the bug: it was a simple, very basic bug that usually juniors make. An array-based loop with an index starting from 1, instead of 0.
The Experienced One, being only human after all, had inserted a very basic bug in his code simply because he was tired.
The return of the client
The sheer joy of the team’s victory over that bug was brought down by the screams of their experienced senior when he realized how close the deadline was: this simple bug had eaten hours and hours of searching and trying to understand badly-structured code.
As the team explained the origin the bug who set them behind schedule, the One felt ashamed and confused.
He had let his whole team down, and he was the only one to blame for this.
Midnight came and the mysterious client returned to claim his application.
Once it was understood that the deadline had not been met, Louis Cypher revealed his true, devilish nature.
All the other developers in the company shivered when they heard the screams of the doomed team, as they were being taken down into the deepest, darkest corners of hell.
The moral of the story
The moral of this story is: being an experienced developer does not protect you from bugs.
So better test that code if you don’t want to look like a fool and pay the price.
PS: bonus points for whoever finds what movie “Louis Cypher” refers to 😉
Amine31/10/2015 at 21:34
Angel Heart :p
codesandnotes01/11/2015 at 08:53
I can see people still know their classics 😀