For years and years I have been working as computer programmer in the health sector. Developing software used by doctors and nurses in a hospital. The software helps reduce the number of medical mistakes made while treating patients. The fancy word for it is Clinical Decision Support, in plain English it means the software checks medications and treatments about to be given, against information in the patient chart to check for mistakes, for example an allergy to the medication, conflict with other medications the patient is already taking, … etc. When a mistake is caught, the software displays an alert to the doctor explaining what the problem is and suggests a more suitable treatment for the patient. A local hospital here in Vancouver, let’s call it Bringo Hospital (not the real name) uses this software.
I have a fantasy, more like a nightmare, it goes like this. ihath has a heart attack, 911 gets called and ihath is promptly transferred to the emergency department of Bringo Hospital. The fine doctors and nurses at Bringo run frantically to rescue the desperate case. The head doctor shouts order to administer 100mg of life saving medication. He types the “100 mg, life saving medication” in the computer counsel situated next to ihath’s bed and promptly gets back an alert stating “100mg life saving medication. Date August 16th 2048. Status pending. Appears to be outside of normal dose parameters. The acceptable single dose fitting this profile is 0mg”. The doctors and nurses look at each other trying to decide if they should ignore the software and administer the medication anyway, or perhaps there is a very good reason why the medication should not be given to this particular patient. A discussion starts, one camp states that the software should be ignored, the second camp argues that there are probably valid reason for not giving the medication. At that moment, ihath raises her right index finger, attempting to get the attention of the doctors and nurses standing around her. She opens her mouth, trying to speak, her mouth is paralyzed. “It is a bug, it is a bug” she wants to say, she can imagine the lines of code that had produced the alert. She can see clearly in her mind the exact line of code that has made the erroneous calculation. She opens her mouth to speak. “Beauoew, beauoew” comes out. All the doctors and nurses look at ihath with puzzled eyes, they have no clue what is she is trying to say. In frustration, ihath gives up on speech and tries to communicate through gesturing. ihath raises he right index finger again and starts point at the veins in her left arm. “Give me the medication”, she is trying to say, “stick the needle with 100mg of life saving medication into my veins”, she wants to shout. Nothing but unintelligible grunts come out of her mouth. Finally, the heart attack takes hold. Unimaginable pain pierces through her chest. With right index finger still pointing at her left hand veins, she drops dead. ihath becomes the first programmer to be killed by her own code.
The obituary section the next day states:
ihath, the brilliant programmer and linguist who created some of the most inspiring software and who spoke 5 languages was last night betrayed by both programs and speech. RIP.
Remember bug 2000? Stories of pending havoc about to take place because of old software that only knew to calculate year in two digits instead of four. There we stories on the news of airplanes that were going to fall out of the sky on the turn of the century, nuclear rockets going off because of the faulty software and general chaos. I am a member of a younger generation of computer programmers that computed years in 4 digit numbers and hence was not a creator of any of the offending software, however the thought of software causing an apocalypse like state on earth intrigued me. Us, computer programmers, suddenly seemed so devastatingly important. On the eve of year 2000, I sat at home watching the news with disappointment. No airplanes fell out the sky, no cities shut down and there was no mass bedlam. Sigh! Who is going to take us seriously after that? The lack of a single year 2000 bug horror story, downgraded all computer programmers worldwide in status. We were no longer potential saviors of humanity, just average geeks who spoke a strange language that outsiders to our tribe didn’t understand. How disappointing.
My potential future tragic death scenario at Bringo Hospital aside, geekdom has been an experience of many pleasures.
I remember the job where I wrote software that enabled text entry in different languages. The hardest part by far was implementing the text entry in Japanese. Japanese is a language that takes years and massive dedication to learn, but I only had a few weeks and so I learned enough about the grammar of the language the different characters to allow me to implement the software that I was required to do. Here I was implementing software that I myself didn’t fully know how to use. Then came clients interested in purchasing the software. People working for the leading provider of Japanese text editors in Japan, where on the conference call and my job was to demonstrate the software to them and answer all the questions. After the conference call meeting, the people at the other end asked me if I could send them a trial version of the software so that they can try it themselves before purchasing it. “I will send it to you with instructions on how to use it within the next two hours” I answered with a confident voice, attempting to the best of my abilities to mask my trepidation. I knew I was able to fool our clients in Australia with this software and our other clients in California. But here I was an Iraqi living in Israel selling Japaneseness to the Japanese themselves. “There was no way I would be able to fool them” I thought to myself as I wrote the email with instruction for download and usage. My hands trembled with fear when I clicked the “Send” button. I visualized the Japanese software engineer rolling on the floor laughing his head off as he used my software. “This isn’t Japanese! This is mumbo jumbo!” I imagined him saying to his superiors when asked about the software that I implemented. Two weeks later the head sales man informed me that the Japanese text editor company signed the purchase order and were planning to integrate the software that I implemented with their product. I nearly fell off the chair from shock. “I guess this software really works if even the Japanese are willing to use it” I thought to myself with surprise. Nobody is more surprised that the developer when software functions as expected. I felt mighty proud at the little creation that came from my own very fingers.
I remember my first job as a professional computer programmer. I couldn’t believe that I could spend the whole day playing on my computer and somebody was willing to pay me money for it. It felt almost sinful to be making money while having so much fun. The pleasure of building software from scratch is similar to playing with Lego. Where you get to use your imagination to build things that didn’t exist before. Only with software you get the satisfaction of seeing people use your creations.
However with years of experience, also came failed projects that felt like a kick in the stomach, office politics that felt like a bad viral infection and people in suits that talk about investors and profit margins. Cynical and jaded I became.
Few months ago I found myself in a duty free store in Amsterdam airport aimlessly browsing at the shops to waste time. When I saw a shop selling a SWAROVSKI Crystal pendant that is also a USB memory stick. I started to jump up and down with excitement. “Oh my God! Oh my God! This is so cool.” I said to the sales woman in the shop. “They are making gadgets for women geeks” I continued with unconstrained enthusiasm. After viewing the pendant I make an impulsive purchase decision. As the sales woman was wrapping my pendant, she asked with puzzlement “Can you please explain to me why this is cool? What does it actually do? Every once in a while a woman walks in here and starts saying: Oh this is so cool”. So I began to explain to her that this thingy can be attached to a computer or a laptop and you can transfer you files to it and then you have your files with you all the time but it is also a heart shaped pendant which makes a statement about the love you have for these files. The elderly woman still looked puzzled and asked me “So why is that cool?”. “Well it is cool because you have your files with you in a heart shaped pendant hanging on your chest, which means you love your files and your digital files are important to you and you have them hanging right next to your heart, which says something” I tried to explain. “Aha” she replied, but she didn’t look very convinced.
It was at that point that I realized that I need to go back to building software that I loved and that made my body shake with fear when I was showing it for the very first time.