Unravel

A little while ago, our MIS provider did some work for us to resolve some performance issues with their product. When I got the code back, I took a look over it as I needed to make some further small adjustments myself to make it completely fit our needs.

Since then, I have found myself unravelling almost every aspect of the code. I’ve found data queries that use a SELECT DISTINCT on 500 records to return 8 values that exist as unique items in a different table of 30 records. WHERE clauses with 2 different parameters that can only ever return data if they are identical. Even code that I looked at a week ago and thought “huh, that’s an odd way to do it, but it seems to work” is slowly proving itself to be mindnumbingly dumb the more I dig into the inner workings.

It doesn’t disturb me that I’m finding these errors. It’s a complex system. What disturbs me is that I’ve had no formal training on this system, and the person who did the work is the MIS company’s expert on it.

There are times – increasingly frequent times – when I seriously wonder how they have survived in the market this long.

About The Angry Technician

The Angry Technician is an experienced IT professional in the UK education sector. Normally found in various states of annoyance on his blog. All views are those of his imaginary pet dog, Howard.

7 responses to “Unravel”

  1. Stressed Techie says :

    Capita again or somethine different?

  2. Daniel Beardsmore says :

    At this point I think the shock of discovering a well-written piece of software would kill me …

    • AngryTechnician says :

      Well then you should be safe examining any code I’ve written.

      • Daniel Beardsmore says :

        I don’t suppose you remember Watford Electronics Quest Paint for the BBC Micro? (You were probably an AMX chap) The only known bug was clearly explained in the manual. I did encounter it from time to time: the flood fill algorithm would sometimes hang, and you had to press escape to break out of it).

        That was indeed the only bug I ever found in it after years of use. I cannot imagine the horror that would abound if anyone now was tasked with writing complex software (such as a mouse-driven art package) in assembler with no frameworks available, with (almost) no bugs at all. (Of course, the quality of Acorn MOS must have helped.)

        Even Adobe were impressively skilful once – I found precious few bugs in Photoshop 5, and amounted no more than two Photoshop-induced system crashes on my Macintosh in eight years of using it extensively (I think those were the only Photoshop crashes I had). (6 was like Swiss cheese, and 7 was basically 6 with most of the bugs removed.) Now you can find that running Photoshop Elements disables the Esc key across all your applications (I don’t even know how anyone can make that grevious an error) … how far we have fallen as an industry.

  3. Graham Waddell says :

    How have they lasted this long? Easy – features sell licenses. Bug fixes do not. Too many SW companies sell the sizzle and are short on the steak.

    To extend the analogy a bit further, they’re also hiring more food artists than chefs these days.