Should design engineers instead be called diagnosticians?

One of the few TV shows that I watch is Dr. House MD. The doctor and his three-person team are diagnosticians who try to find out what's really wrong with a seriously ill patient, while the clock is running on how long they have to succeed, or the patient expires.

The show's premise is that the doctor is not your sympathizing, empathizing, “I feel your pain” type of guy; instead, he's cold, calculating, brutal, and will do whatever he thinks it takes to save the patient, even if it means nearly killing him or her first.

I think I like the show because, at its core, the show is about debugging. The approach the team uses is very similar to an engineer faced with a circuit or system that is not working properly, where the cause is not obvious. The BUT (Body or Board under Test) is connected to lots of high-tech equipment to monitor its stats and vitals, while the doctors analyze; run additional, targeted tests; and even stress the BUT to examine the response or tease out additional data.

I've always felt that while design is hard, debugging is harder. The mark of an good, experienced engineer is the ability to coolly and calmly debug, usually under pressure, by combining crumbs of facts with intuitive sense of what's going on. Is the bug even real? Is the evidence we see true or an artifact? Are the instruments presenting uncolored results? Is the design doing what it is designed to do, but inherently flawed? Or is the problem something not accounted for, such as crosstalk and noise? Are several factors combining to either hide the real problem? Has something else been changed which now allows a latent problem to surface, or suppress the real problem? Is the evidence misdirecting us?

Diagnosing a patient with complicated symptoms and debugging a system are similar, but I won't take the analogy too far. After all, engineers have the luxury (and it truly is a luxury) of poking, prodding, changing parts, modifying software, all without lethal consequences. We usually see the results of any tests and changes fairly quickly. And if we don't see what we want to see from a change, we can always restore the design to its previous state.

Doctors and their patients generally don't have that option: you can't remove, then reinstall, a suspect organ, or often you can't undo the damage that an invasive test or medication may cause. Doctors can't run diagnostic tests on multiple units simultaneously, or work on nominally identical BUTs to get more data.

There's one other factor that differentiates debug from medical diagnostics. While anyone is the potential subject of a lawsuit, doctors get sued for the apparent mistakes, whether real or not. Engineers doing prototype debug don't have to worry about this, at least for now.

0 comments on “Should design engineers instead be called diagnosticians?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.