Programmers will readily tell you that “Windows sucks” or “Linux sucks” or “POSIX sucks” why this or that software is badly designed, bloated, slow, buggy, un-needed, ugly, and generally disgusting. But, Windows is actually an immensely useful and sophisticated program with astounding capabilities – Linux is too. POSIX is a comprehensive solution to many difficult problems. These programs and APIs are widely used because they solve real problems. Large, complex, “high capability” software is never as simple and clean as it seems like it should be to programmers, but I think that’s because the Le Corbusier fallacy is so hard to resist. It is possible, with some effort and skill, to write a prototype Operating System or Data-base or web browser that is fast, lean, clean, and beautifully structured. But the demands of the applications will conflict with the clean etc. design and force all sorts of changes. The Le Corbusier fallacy is the belief that the aesthetics of the architect trump the sloppy requirements of the mere users. In actual architecture, this belief results in unlivable high rise slums , but in programming we get either failed projects or “prototypes” that don’t actually serve any purpose. Programmers are too ready to dismiss working code that actually does something useful because they are entranced with imagined clean, pure, designs. I’m certainly not arguing against designing software or in favor of sloppy design, far from it. Software design must be motivated by external considerations – the utility of the software, not by some internal idea of what is “clean”.
The telecommunications stack we have been building and starting to deliver to customers is an unbelievably complex software structure that is capable of incredible feats. Imagine a Windows application, using .Net and SQLServer that maintains customer data, a SuSe Linux based Oracle SS7 application, a fault tolerance and remote maintenance scheme running on Carrier Grade Linux, and large number of pedal-to-the-metal RTLinux POSIX threads maintaining VOIP connections – all on a single multicore multiprocessor connected by shared memory with TCP/IP running over it. This system is not something that can be easily captured in some whiteboard drawing of boxes. It’s a city, not a housing project.
India reminds me of Lew Wallace’s famous exit line as he fled New Mexico back in the 1800s. Maybe it has something to do with chilis. (Photo is Ramesh and Ramana at Puni Reservoir)
Finally, it’s absurd to think that software companies can vett their employees better than government security agencies and we know that those agencies can employ people who work for the other side for years. Does Dan O’Dowd stalk around the GreenHills office looking for subtle signs of disloyalty and contraband? I tried to do that here, but other than Matt’s bag of gummi-bears, I saw nothing life threatening. Xenophobia is a poor substitute for solid engineering and it is a more real danger than hypothetical undercover programmers putting trojan horses into unsuspecting software.
