Welcome!

Java Authors: Liz McMillan, Walter H. Pinson, III, Maureen O'Gara, Yakov Werde, Tony Bishop

Related Topics: Java

Java: Article

Is It Time for a Hippocratic Oath for Programmers?

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

To avoid violating the morals of my community, by which I shall not enter into ridiculous arguments about whether a square is a simplified polygon or specialized triangle, and I shall never look forward to meetings where nothing is produced except whiteboard output and a roomful of carbon dioxide. I swear that my desire to enter the computing profession is not to become an architect and, should I realize that I am not as smart as I thought I was and am unable keep up with fellow programmers in the real world, I shall not be bitter about this and become an architect just so I can make their lives miserable with stupid over-simplifications and banal proclamations about things I don't understand.

To not write code on the user interface thread that has any possibility of taking more than a second. To do so would mean that my applications freeze up on my users so when they grab the title bar and move it around, it leaves a trail of cheese squares on the screen, giving them no choice but to nix my programs from the task bar and leave stuff in an unpredictable state. This I do promise to honor and obey.

To remember that a progress bar is designed to show the percentage completion of a long-running background task. When it is halfway filled, the task is half complete, and when it gets to the end, the task is finished. I shall not write a progress bar that doesn't at least attempt to move in a proportional fashion to elapsed time and time to completion, and I shall never, ever, make my user sit through a progress bar that, when it finishes and they think I'm done, starts all -over again. Verily and verily as such, I declare that install programs have no let out clause here.

Never to do deliberate harm to anyone for someone else's interest. This means remembering that e-mail is one of many media by which communication can occur and that whenever possible I shall not only try to talk to people but to spend as much time as possible listening to them. I shall never send snotty e-mails to colleagues to try to make me look great, to make them look worthless, or to do both by puffing up my own image by being a cad to fellow programmers. Likewise I will never be a pompous git in meetings just so I can try to make others look stupid and myself great.

To keep the good of the user as the highest priority of all I do. There may be other conflicts such as marketing weenies who have just read the latest FooBarnet report and insist I start using yoo-mel 7.5, or architects who have read the same report, but because they don't understand it are e-mailing me from the annual "Yogurt World" conference with urgent updates to the company strategy. I am the person who builds the code that the user gets, and I serve them and not other false deities who are trying to bluff their way to nirvana on the back of any success the product might achieve.

To recognize that I have no experience in the real world and, as I grow from grad to geek to giant, I will always humble myself and be prepared to learn and adapt so that I never violate any of the aforementioned oaths.

More Stories By Joe Winchester

Joe Winchester, Editor-in-Chief of Java Developer's Journal, was formerly JDJ's longtime Desktop Technologies Editor and is a software developer working on development tools for IBM in Hursley, UK.

Comments (2) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Reader 02/28/08 11:58:52 AM EST

True, but this looks like it wasn't really written by a developer, where is the: I will always be on top of the newest advances of technology

6 Pledges 02/16/08 06:36:48 AM EST

Bravo...best list I have seen for a long time!!