Technology news and discussion on TalkFuse.
Comment in code read ‘Dear future me, sorry I wrote this’
A former Visual Basic developer, writing under the pseudonym "Johnny" for The Register's "Who, Me?" column, recounted secretly building a project in C# instead of VB and later hitting a baffling intermittent bug. The tale illustrates a common developer anxiety: shortcuts and undocumented workarounds can resurface years later to haunt their author, particularly when institutional memory has faded and someone else, or a forgetful past self, is left to clean up the mess.
Johnny had been hired as a VB developer but considered the role beneath him, so he wrote a new project in C#, then a new language, which worked to the customer's satisfaction. A string manipulation routine controlling task routing later began failing roughly half the time; after fruitless debugging, random code changes and a revert, the fault mysteriously vanished without explanation. Years afterwards, now a senior developer, Johnny was asked to investigate the same unresolved intermittent bug and found a header comment he had written himself years earlier, reading: "Dear future Johnny, I am very, very sorry."
In short
- Developer secretly used C# instead of assigned VB language.
- An intermittent routing bug appeared, then vanished unexplained.
- Years later he reopened his own code and found a self-written apology.
Explained simply
"Who, Me?" is a regular column in The Register where technology professionals share workplace experiences. This account describes what can happen when a developer makes an unconventional choice that later creates unexpected problems.
A programmer hired to write code in Visual Basic instead undertook the project in C#, a language he preferred, without informing his employer. The project performed well initially, but an intermittent fault emerged years later in a critical routine that no one could diagnose, and the bug remained unresolved.
In software development, decisions made for convenience or personal preference often go undocumented, and the reasoning behind them can be forgotten over time. When developers move on from organisations or lose track of their earlier work, troubleshooting becomes difficult, and previous decisions may eventually create problems for others or for a future version of themselves.