Let’s postulate a theory that with greater bias within an organisation towards knowledge and education there appears an inverse correlation to the incidence of the not invented here philosophy. Ergo, some purely anecdotal evidence.
A number of companies at which I’ve worked have developed their own message queuing systems when there exists a large range of proprietary and open-source choices. Coincidentally, two of the companies that did so had even given their systems the same codename. The déjà vu experience of hearing the phrase, “it’s named after the messenger of the gods, Hermes” delivered with absolute authority twice is not something that anyone needs to sit through even once.
But a more extreme example by a country mile was an enterprise in which I was working that had invented its own markup language and had written its own parser to process the language. “Why not use an off-the-shelf markup language parser and concentrate on the parts of the system that are unique to the business?” was met with a withering look of sympathy cum pity. All the alternatives had been thoroughly reviewed and this really was the only solution that would cover every possible situation where we might encounter “weird” characters. To illustrate the problem that lay within the suggestion I was treated to a whiteboard presentation on which a large, very tall, blue hill was drawn. A red line arrow was then traced in parallel with the contour of the blue hill – this illustrated that to use an off-the-shelf solution as suggested was akin to climbing the hill that did not require climbing. A green arrow around the hill was sketched on to prove comprehensively that the in-house solution went around the problem. Now we could see with illustrated clarity that my suggestion was utter garbage.
Fuming, I went back to my desk to write a small test program to generate random strings of characters that were fed into the in-house parser. I watched with pleasure as my handiwork caused the parser to collapse, spewing out line after line of error logging. To my complete dismay my test program was taken as the basis for a brand new test system which would generate further development work on the parser which in turn would entail many more man-weeks of work. In the meantime I used an off-the-shelf markup language to complete my team’s part of the project and wrote a filter to convert data to and from the in-house markup language. Amid complimentary salutations at the expediency of my work I exited the enterprise immediately, fearing sanity contamination by osmosis.
At another establishment I have been subjected to a teasing “look at him, he thinks he’s going to find all the answers in one of his books”. Well, it was a reference book and it was for the software development framework that was being used within the company so that was a fair assumption, had it not been delivered with ingenuous sarcasm. Surveying the office I noticed that aside from my desk there was not one single book, work-related or otherwise, anywhere to be seen. Refusing to wear ignorance as a badge of honour I put down my book, held up my hands in mock surrender and answered “guilty as charged.”