Should we have a Digital version of the Hippocratic Oath?

02 July, 2014 by Sean McGurk | Engineering

"So... on top of stand-ups design boards and code review sessions, system specifications and functional design documents you're gonna make me swear an oath now?"

Well... no.  But the thought did strike me that the adherence to a common practice, a core set of values would certainly be a good thing for the IT industry, much as it is for the medical profession.

The Hippocratic Oath is an oath historically taken by physicians. It is one of the most widely known of Greek medical texts. In its original form, it requires a new physician to swear, by a number of healing gods, to uphold specific ethical standards.

Contrary to popular belief, there is no direct punishment for breaking the Hippocratic oath (yet another reason in favour of its adoption among the IT profession!)

"But we write code - we don't need to uphold specific ethical standards?"

This is true - after all, no-one's going to die as a result of badly-written code (at least not directly!) but consider at least some of the extracts from the oath's modern incarnation:

"I will respect the hard-won scientific gains of those physicians in whose steps I walk, and gladly share such knowledge as is mine with those who are to follow"

"I will not be ashamed to say "I know not," nor will I fail to call in my colleagues when the skills of another are needed for a patient's recovery"

Could we not adapt these to suit the needs of the IT profession?  Could we not agree to respect the hard-won technical gains of the programmers in whose steps we walk and to gladly share any knowledge we have with fellow developers?  Could we not endeavour to say 'I don't know' when we are genuinely stumped by a problem and know that it won't impact upon our professional standing? 

In considering these, we begin to move away from the idea of programming as delivering a particular set of functionality and towards developing a sense of responsibility. Much as a physician is undertaking through the oath to preserving the health and vitality of a living organism, so would a programmer, say be committing to preserving the health and vitality of a code base.

Of course, none of this is particularly new and practitioners such as Kelvin Henney and Robert C Martin ('Uncle Bob') have brought to the fore ideas such as Software Craftsmanship and 'Clean Code' but I think it is worth considering nonetheless.

After all, I’m sure all of us know a few candidates who could benefit from considering a key tenant of the oath:

"Above all, I must not play at God”!



Postscript: It is a popular misconception that the phrase "First do no harm" is a part of the Hippocratic oath. However, I still like to think of this in software terms as 'First, introduce no more bugs’. Its corollary in medical terms is often stated as: "In order to do good, I must sometimes do harm", which I like to translate as 'In order to introduce additional functionality, I must also potentially introduce more bugs', but that's another post for another day!