Canadian software sucks…eh?
As an experienced software engineer, I’ve developed an axiom that I never trust code written by a developer that can’t even spell his/her comments correctly. I mean, if he/she has mistakes in his/her comments, why should I not expect the same for his/her code? Sure the compiler will catch most mistakes, but what if he/she misspelled the intended function name and the resultant misspelling is a valid function name. The same goes for variables. Essentially, software development is 100% about paying attention to details. If the developer can’t get the comments right, it makes me wonder, “what else is not right?” As I eluded to in the opening, experience has proven this out, as 9 times out of 10, when I have audited code with misspelled comments, the developers have turned out to be pretty lousy.
Similarly, I never let myself be influenced by others when it comes to forming an opinion about someone. I reserve my opinion until I form one based on my own experience. For example, back in my early days in the Information Technology world I shared an office with a colleague while we served in a technical support capacity for a software product. Through all of the agony we suffered in that office we always found ways to have fun. One thing that has stuck with me all of these years is one day my coworker hung up his phone and said, “I hate Canadians.” Amusingly I responded, “What?! Why?!” He said, “listen to this voice mail.” It went something like this:
Hi Sam (my co-worker), this is Mike (his client). I’m not sure what you’re call was aboot (that’s Canadian for about), but I’m back in the office, so give me a shoot (Canadian for shout).
Sam explained that he spent the better part of the prior day trying to help Mike, but Mike was just not getting it. Anyway, Sam saved that voice mail and just about every day after that he would play it for me and sigh, “I hate Canadians”, causing us both to laugh. From then on, any time I encounter a Canadian I am reminded of it, but I never quite understood why he said what he said.
That is, until recently. At work, the project I just completed involved interfacing with a software called Swisher Plus. It was written by Canadians. It was extremely frustrating to find that the software does not work as it would lead you to believe it should. My first hints of trouble occurred when I viewed the data structures in the database. First came a table misspelled as BATCHS (BATCHES ??). Then came a table named ADMIN_TIMES whose primary key is a column named ADIN_TIME (ADMIN_TIME ??). Then a table named DRUG_LIST_MACHINE with columns named MACHINE NAME and CANISTER SIZE. Every other multi-word column name in the database has underscores between the words, why do these two have spaces? Armed with my axiom I got a bad feeling in my stomach.
Once I got the data integration done, it was time to make sure the program performed properly. The software consists of a server application that gives client computers jobs to perform. In the server application one can configure labels via a label designer interface that is only partially useful. There are no grid lines, commands, or coordinates to line up the boxes the user drops on the label. I could go on, but let me just say it’s terrible. Then there is a screen that seemingly allows the user to sort the jobs by any fields he/she desires and in any direction. After hours of trying, I finally gave in to the reality that no matter which fields and direction are selected, the application sorts by date and time ascending. Other problems include:
- the application has to be restarted in order for any changes to take affect.
- whenever an error occurs a hideous dialog box is displayed with no meaningful information. To make matters worse, the dialog box has the following buttons: Ok, Print, Email, Cancel. Clicking any button other than Ok results in another another error spawning another such dialog box, this continues indefinitely.
- the server application gives jobs to clients that are not configured to contain the inventory needed for the jobs, resulting in the aforementioned error situation.
I’m sure there are more issues, but for what I needed to do that was all that I experienced. I wasn’t about to look for more.
In conclusion, this software is another case that confirms my axiom. While dealing with this application for the past 2 weeks I continuously found myself shouting, “I hate Canadians!” Alas, I came to that conclusion through my own misfortunes.
~~The names have been changed to protect the innocent~~


















Discussion Area - Leave a Comment