Tuesday, December 22, 2009

"Signal" and "Noise" are language-agnostic

I found three different versions of the same functionality today: One in compiled code, another in web code, and the last in database code. And I only "found" the first because I knew to look for it. But...which functionality is the One True Way to Getting It Done? Good question. Somebody should figure that out and write it down sometime...*

Yes, it's probably my tendency toward OCD talking here, but there is such a thing as signal-to-noise ratio in code. (As there is with any number of other things, I/T-related and not.) And when the time can't be found to clean out the cruft (a.k.a. the noise), how can one criticize the newer team members for adding yet another version (i.e. more noise) to the code?

Remember, newbies are at a political disadvantage when compared with the Old Ones: To question is to criticize (however implicitly); to quietly choose one method over others risks offehnding those whose wrote the "runner-up" code. That is not a choice you want to present to new folks, because the proverbial path of least resistance is mimicking existing code--likely with a limited understanding of it. Which is precisely the path that you don't want them to trod.

- - - - - - -

* In truth, I'm doing a huge disservice with my sarcasm: I raised the issue, and it was addressed within the hour. No messengers used for target-practice, much less sporting powder-burns. It's one of the many joys of working with awesome peeps...for people who don't get in the way of awesomeness.