Digital Edition

SYS-CON.TV
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.

About 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.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

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

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




ADS BY GOOGLE
Subscribe to the World's Most Powerful Newsletters

ADS BY GOOGLE

SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 1...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018,...
Dynatrace is an application performance management software company with products for the informatio...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22...
DXWordEXPO New York 2018, colocated with CloudEXPO New York 2018 will be held November 11-13, 2018, ...
Today, we have more data to manage than ever. We also have better algorithms that help us access our...
Bill Schmarzo, author of "Big Data: Understanding How Data Powers Big Business" and "Big Data MBA: D...
A valuable conference experience generates new contacts, sales leads, potential strategic partners a...
DXWorldEXPO LLC announced today that ICOHOLDER named "Media Sponsor" of Miami Blockchain Event by Fi...
SYS-CON Events announced today that IoT Global Network has been named “Media Sponsor” of SYS-CON's @...
The best way to leverage your Cloud Expo presence as a sponsor and exhibitor is to plan your news an...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held Novemb...
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing w...
Disruption, Innovation, Artificial Intelligence and Machine Learning, Leadership and Management hear...
Enterprises are striving to become digital businesses for differentiated innovation and customer-cen...
DXWorldEXPO LLC announced today that Telecom Reseller has been named "Media Sponsor" of CloudEXPO | ...
Consumer-driven contracts are an essential part of a mature microservice testing portfolio enabling ...
"Calligo is a cloud service provider with data privacy at the heart of what we do. We are a typical ...
Digital Transformation: Preparing Cloud & IoT Security for the Age of Artificial Intelligence. As au...
DXWorldEXPO LLC announced today that "IoT Now" was named media sponsor of CloudEXPO | DXWorldEXPO 20...