I write programs for a living. One of these programs requires the integration
of several sets of data which need to match exactly
in order for everything to link together. Normally we would use a record identifier of some sort to do this linking, but because management
decided to try to play tech-savvy
one day, we are now linking products to the database
by the product name. No, not by something sane like a product ID or SKU number. They decided the product name would be a good unique way to relate data across the application
. Nevermind that now we have to not only deal with the potential for more mistakes, but also we now have to deal with spaces and other odd characters such as single-quotes and ampersand
symbols as part of a CGI
request. This wouldn't have been so important, except that all of this was given to me on thursday to be finished on friday.
So now I'm left with the situation of manually going through all of the sets of data and ensuring that each record has the same exact spelling, same exact spacing, same exact punctuation so all of the data will match. The alternative was to write some sort of fuzzy spelling algorithm to match fairly closely to what needed to be determined, but after about 2 seconds of thought I realized that I would have to write something comparable to artificial intelligence to achieve this goal.
This was the source of much frustration for me until I thought of one simple idea, which I came up with on the spot, though it is so simplistic that I'm sure other people have thought of it before:
Artificial intelligence should not be a substitute for real stupidity
There are several reasons why I should not try to handle this bad input using a complicated algorithm.
- This will only encourage management to further expand their self-perceived set of "technology skills" and make them create even more messes like this one.
- It is far easier to fix the source data than to figure out how to implement an algorithm to compensate for it.
- I'm pissed off about the whole thing anyway, so I'm not about to go out on a limb.
I spent the rest of the day basically throwing obscenities around about the moron(s) who came up with this without consulting me. I fixed the data and then wrote my phrase across the top of the whiteboard facing out of my cubicle for all passer-bys (including the morons in question) to see.
They'll probably not even understand it anyway. But that just makes the second half of my point even better.