posted on Saturday, June 25, 2005 10:01 AM
by
Knight_Reign
Doctors, Engineers, mechanics and Software
This is a ramble... Stray thoughts really...
So, I had one of those paradoxical moments when the parallels between disciplines become, in this case, sadly obvious. Since March I've been dealing with some sort of really nasty lung disfunction. The doctors have been calling it bronchitis, but at this point I don't think they know. In March it came on so strong that I could hardly breath. Lately, it just makes me sound like I've been chain smoking 5 packs a day since I was 2. :)
Yesterday I go into the doctor's office for the third or fourth time in as many months to see what this one has to say. Nothing new, really. The venerable doctor starts enumerating the causes of such problems. You either have a cold (post nasal drip), heartburn, bronchitis or ... (And this is where I'm listening for something like lung cancer or emphazeema) ...allergies or asthma. Well, yes, I have all 4 of those. She notices on my record that I have allergic reactions to strong perfumes. Then she looks at me and says, "Are you serious?" This is where my confidence level starts to drop. There are a _lot_ of people with perfume allergies. You'd expect a medical doctor to be aware of that, right? This whole time she's updating her laptop which ostensibly has my medical records. She repeatedly stops typing and starts slapping the screen of the laptop. I mention that, "It really won't help to slap the computer". She says, yeah but, "It keeps locking up". Hmmmm "If you just wait, the laptop will probably catch up." I get the "You're just a patient, what do you know" look. After some more interesting reparte like this, she disappears behind the door and returns with boxes full of stuff. Antibiotic, inhaler, steroids, and other pills. I need to remember to wash my mouth out after taking some of it "So you won't get a growth in your mouth". Hmmmm, this is really getting interesting.
What's this all got to do with engineers and software? Well, it occurred to me as I was being diagnosed for my bug that there are some parallels between medicine and doctors and computers and engineers and other disciplines. Now, this isn't something new. I've heard the analogy before. You know, the jokes about engineers are like doctors, the only difference is if doctors make mistakes, someone dies or the wrong kidney gets removed. But, sitting in a room with a doctor taking guesses as to what my issue was, brought it home to me with new force. She doesn't have a clue! She knows there's something wrong. There are a lot of symptoms, but none are conclusive. I've had heart burn for years, my cold just started this week and I've had this perfume allergy for years too. Bronchitis is a reasonable diagnosis, but then, why prescribe antibiotics when the poster on the wall right behind her says antibiotics won't help colds, flus or bronchitis. I seriosly doubt they help heartburn or allergies... So, basically, she's dropped a bunch of medicine on me to try. And, I'm supposed to go back and see her in two weeks if things don't get better. In talking to a friend of mine who happens to be an MD, he says his best medicine is time. "The body will heal most illnesses on its own given enough time." he says. "I usually prescribe stuff just so people will wait a little longer to give their body time to heal." he says.
I read somewhere in a coding book early in my career that, Try is the worst word we can use as engineers. Trying different solutions to problems or bugs without understanding the causes first, leads to a long chain of trials and errors. If one of them works, we feel lucky, but we don't know why or if the problem is truly solved. We just know that it went away. We don't even know if what we were doing has anything to do with the problem going away. It could just be happy circumstance for all we know.
The better way is to identify the reason something is happening. This is usually the most difficult problem when debugging code, or apparently, diagnosing sicknesses. Find out exactly why the problem is happening and you're likely 9/10s of the way to fixing it. My dad's a long time electrician and mechanic. A lot of what I know about isolating bugs I learned from him teaching me how to isolate problems with the electrical circuits in my car etc. Disconnect this wire, test that wire if it's hot, isolate and verify... It's funny how these same skills transfer across disciplines. Most MDs would probably take umbrage with the statement that they could learn a few things from mechanics. :)
Bottom line is, there are good doctors and not so good doctors. There are good electricians, mechanics and software engineers and there are some that aren't so good. What's interesting is that many of the skills are so easily interchangeable and how easy it is to spot bad practice even if you are "just a patient". What's worse is, this may be common medical practice. Kind of makes you wonder when the medical community will quit practicing and start performing.
I guess, now that I'm pretty sure it isn't lung cancer, I'll be waiting a little longer for things to clear up. But definitely will be seeing a different doctor. I still haven't decided yet if I'm going to try all the medications she gave to me though.
What do you think?
Universe.Earth.Software.Microsoft.SQLServer.IS.KirkHaselden