“The Hippocratic Oath is an oath traditionally taken by doctors swearing to ethically practice medicine.”

The term ‘Hippocratic Oath’ was coined solely for medical practitioners or physicians really. So, I felt curious if there is any such guideline or ethical doco for a software engineer like me. In googling for this, I came across some interesting links across the web. Some of which are there only for the sake of fun while others are mostly created by folks on ethical boundaries. Here they are:

“The Hippocratic Oath for Scientists has been suggested as an ethical code of practice for scientists that is similar to the Hippocratic Oath used in the medical profession. Proposals suggest that a suitable oath should encourage rigour, honesty and integrity among scientists, and ensure the minimisation and justification of any adverse effects their work may have on people, animals or the natural environment. In principle, such an oath would advance moral and ethical thinking and could increase public support for science.”

Six programming pledges to help with growing from grad to geek to giant.

“Hippocrates, one of the founding fathers of modern medicine, realized that those who trained to become physicians were not only able to use their skills for good and for progress, but also might be inclined to misuse all they had learned. To protect against such abuses, new grads back in the 4th century B.C. were made to swear they would only use medicine in the best interests of their patients by taking the eponymously named ‘Hippocratic Oath.’

I think that it’s about time we had a similar oath for all those who enter into the venerable profession of software engineering. As generations of future geeks walk down to collect their degrees wearing ill-fitting rented robes before proud parents and nervous colleagues, they should clutch a copy of Design Patterns in one hand, raise the other, and chant: Before all gathered here, I FinnBarMcFooBar swear and promise:

To avoid violating the morals of my community

To not write code on the user interface thread that has any possibility of taking more than a second.

To remember that a progress bar is designed to show the percentage completion of a long-running background task.

Never to do deliberate harm to anyone for someone else’s interest.

To keep the good of the user as the highest priority of all I do.

To recognize that I have no experience in the real world and, as I grow from grad to geek to giant.

“This paper takes as its starting point a contribution to the first ETHICOMP conference in 1995 that called for the equivalent of a ‘Hippocratic Oath’ for IS professionals. It considers whether such an oath is still required and reviews selected codes of conduct/ethics that have been developed or revised over the past decade to examine the extent to which they address the criticisms levelled at existing codes in the 1995 paper. Finally it discusses the means by which more socially responsible practices by those who design, develop and deploy Information and Communications Technologies (ICT) could be promoted.”

In many ways, this strikes me as fundamentally similar to the Hippocratic Oath that all doctors must take as part of their acceptance into the ranks of the medical profession. For most, this isn’t just a bunch of words they recite as entry criteria, this is something they firmly believe and adhere to, almost religiously. It seems to me that our discipline could use something similar. Thus, do I swear by, and encourage others to similarly adopt, the Oath of the Conscientious Programmer.”

Make the simplest line of code appear complex. Use long counter intuitive names. Don’t ever code “a=b”, rather do something like: AlphaNodeSemaphore=*(int)(&(unsigned long)(BetaFrameNodeFarm));

Never use direct references to anything ever. Bury everything in macros. Bury the macros in include files. Reference those include files indirectly from other include files. Use macros to reference those include files.

Never generate new sources. Always ifdef the old ones. Every binary in the world should be generated from the same sources.

Never code a function to return a value. All functions must return a pointer to a structure which contains a pointer to a value.

Load all sentences either written or spoken with alphabet soup. When someone asks you out to lunch, reply:

Never clean your office. Absolutely never throw away an old listing.

Never say hello to someone in hallway. Absolutely never address someone by name. If you must address someone by name, mumble or use the wrong name. Always maintain the mystique of being spaced out from concentrating on complex logic.

Never wear a shirt that matches your pants. Wear a wrinkled shirt whenever possible. Your shirt must never be tucked in completely. Button the top button without wearing a tie. This will maximize your mystique.

This video takes the time to salute the scientists and engineers (past and present) by showing the engineer’s Hippocratic oath. The engineer’s hippocratic oath was originally written by the late Charles Susskind, Professor emeritus of electrical engineering, UC Berkeley. His concern with the role of technology in society led him to propose an engineer’s version of the Hippocratic Oath in one of his books, “Understanding Technology.” Engineers swearing by the oath would promise, among other things, not to use their professional knowledge contrary to the laws of humanity and to avoid waste and consumption of nonrenewable resources. The book has been translated into seven languages since it was first released in 1968.

Whether I agree with them all or not, I found those links as interesting read. Hence, I thought about sharing with you folks. Do post your insightful thoughts on the comments section below. Look forward to it!