Hammering in Screws
I sent this email out to some Engineers at the company yesterday. It was intended to hurt no one's feelings and no one was singled out. I don't know the details of who or this or that, and that's not the point.
Just a friendly reminder from the Hanselman. Today, roughly 10 people spent roughly half a day debugging a single problem and assigning culpability on various versions of various products. Various email threads were started and much ReplyToR’ing occurred.
The problem was badly formed XML. Specifically a space in a closing XML Tag.
These folks worked very hard and it’s commendable that they found the problem. That said, I would like to take this opportunity to gently remind everyone of these few principles so that we all, myself included, might learn from their suffering:
- TextPad isn’t an XML editor.
- It’s not even a good syntax highlighting editor. Visual Studio and XMLSpy are and would have caught an error like this on load. (Editor: as would have dropping it into IE)
- “Entia non sunt multiplicanda praeter necessitatem” which is Latin for “Keep it simple, stupid.”
- Return to the first principles when debugging anything and assert your assumptions.
- The plural of “anecdote" is not “truth”
- If you heard that such and such was broken or doesn’t work, ask around to those involved directly and get the truth (as it is known) directly from them. We’re not such a large company that we need to ReplyToAll as much as we do.
That said, thanks to the group who did put in the hard work and find this problem, allowing the [product] to continue forward.
Thanks for your patience and attention!
Reaction in the hallway was generally positive, while no doubt others cursed.
Of course, no one is beyond reproach and I've got MORE than my share of Doh! moments, but this email was meant to remind people to use the tools they've got in the toolbox, to question the basics when debugging and to deal in concrete facts rather than conjecture.
My questions to you, Dear Reader, are these:
- Do you ever send emails to the team to remind folks of First Principles?
- Do you have a growing ReplyToAll culture that should be stamped out and replaced with walking to someone's office?
- How long should an email thread go before it is stopped and replaced with a meeting?
- Is it the pressure to ship that causes all of us to miss misplaced semicolons and the like, or just human nature?
- Is "flaming potato" a part of your software engineering culture? Do you struggle with it?
- Too harsh? Not harsh enough?