Top 5 Jokes Software Developers Tell Themselves and their Managers
Software developers are boring. Not only do they keep repeating the same jokes all the time, but they also take them very seriously!
Here are the most common ones:
I will add unit tests later
“I will add unit tests later” is one of the most common jokes software developers tell. In most cases, they believe it. But then reality catches up, and tests are never added. If you were too busy to add unit tests when it was the easiest, you won’t have time to make up for this later, when it becomes more difficult, and you might even be questioned about the priority and value of this work.
I am 99% done
I am terrified to hear that someone “is 99% done,” as if it were positive. I have seen too many times how the last 1% took more time and effort than the first 99%. Even worse, I participated in projects that were 99% completed but never shipped.
My code has no bugs
Claiming that someone’s code has no bugs is a very bold statement. I did it several times at the beginning of my career, only to be humbled by spectacular crashes or non-working core functionality. I found that saying: “So far, I haven’t found bugs in my code. I tested the following scenarios: …” is a much better option. Listing what I did for validation can be especially useful as it invites inquiring about scenarios I might have missed.
This joke is especially funny when paired with “I will add unit tests later.”
No risk - it’s just one line of code.
While a one-line change can feel less risky than bigger changes, that doesn’t mean there is no risk. Many serious outages have been caused by one-line configuration changes, and millions of dollars are lost every year due to last-minute “one-liners.”
Estimates
Most of the estimates provided by software development are jokes. The reason for this is simple: estimating how much time even a software development task is more art than science. Trivial mistakes, like misplaced semicolons, can completely derail even simple development tasks. Bigger, multi-month, multi-person projects have so many unknowns that providing accurate estimates is practically impossible. From my experience, this is how this game works:
software developers provide estimates, often adding some buffer
their managers feel that these estimates are too low, so they add more buffer
project managers promise to deliver the project by some date that has nothing to do with estimates they got from engineering
the project takes longer than the most pessimistic estimates
everyone keeps a straight face
Bonus
“My on-call was pretty good! I was woken up only three times this week.”
If you found this useful, please share it with a friend and consider subscribing if you haven’t already.
Thanks for reading!
-Pawel