Today at a Glance
War Stories Volume I
Poll of the Day
Ask Paul Anything
Bonus Link
War Stories Volume I
Introduction
Here’s something a little different this week. I have loads of gruesome stories, some where I’m the perpetrator and some not. Here’s one from about 15 years ago.
That time we burned 12 weeks of effort
I once worked alongside a stellar team. They had two engineers and a newly promoted team leader, and positioned in the middle of the office, everyone seemed to want to talk to them.
The team usually worked on small pieces of integration work, but on one occasion they were faced with a huge challenge: they had to instrument one of their less-familiar code bases.
Instrumentation involves painstakingly writing compile-time conditions into each function, which then allows a profiler to track the performance of the code during runtime.
~
The team was experienced and hard-working, and certainly not intimidated by such a project. They confidently dived into the work, and I would overhear discussions from my nearby desk.
It was unusual to have both engineers working on the same project, which highlighted its importance. Even with both engineers, it did seem to be taking quite a lot of time though.
As the weeks passed, confidence seemed to wane. Conversations during our Friday trips to the pub turned into asking when it was going to be finished. Polite concern was setting in.
~
It was one such Friday well over a month later that I heard the team quietly discussing the work, now almost complete. Huddled around one desk, there seemed to be an air of concern.
“We’ve been instrumenting code that isn’t called!” the more senior engineer blurted out as we stood up for lunch. The team leader looked on with quiet annoyance and asked, “What do you mean?”
It turned out there was a raft of unused code that the team had been meticulously working on for absolutely no reason. They had wasted weeks and weeks of effort as a result.
The team leader stood silent, before saying with exasperation, “Let’s go to the pub.”
Lessons learned
Attention to detail is key. However, the more important lesson is not to ignore information that challenges your assumptions. The engineers knew the project was taking longer than expected, but they didn’t stop to ask why.
Do you enjoy this newsletter? It would help me out if you could share it with a friend.
Poll of the Day
Do you maintain a to do list?
Polls are anonymous and just for fun. Voting will show you the results.
Ask Paul Anything
If you have a question, large or small, you can send it here. It’s anonymous if you want.
Bonus Link
What is Code Profiling? – Profiling in modern software engineering is an interesting and underused strategy. Here is a detailed explanation.
Thank you for reading Paul Codes. If you know someone that would enjoy this newsletter feel free to forward it or refer them. Referrals earn rewards.
PS. If you’re a business and would like to sponsor this newsletter, please reach out!