Lately it has been happening more and more often.
Someone writes a blog post articulating an idea that has been stewing in my mind for some time…
Over the years it has never ceased to amaze me that software developers are not held to higher standards.
How is it that we find it acceptable to deliver products that contain an unknown number of unknown bugs?
I can’t think of any other product where people wouldn’t be outraged if it contained the number of flaws that we seem to accept as “inevitable”.
How is it that we have found and established all manner of best practices, yet we face all kinds of resistance in applying them? And not just from “management”, but from our own rank and file as well?
We like to call ourselves professionals, yet we allow ourselves to be bullied or cajoled into delivering substandard work to please the short term goals of whoever pays us. Often we even seduce ourselves into doing that. We seem to find the immediate fix of getting stuff of our plate a lot more gratifying than doing it right and keeping that stuff from getting back on our plate.
Uncle Bob sees us as “a disorganized band of rumpled hapless vagabonds” and wonders “Will we continue on our undisciplined course, blown by the chaotic winds of business and government, until one of us finally blunders badly enough to wake the sleeping giant of government regulation?”
The medical professions, the airline industry, merchant marines, construction industry, accountants, lawyers, and many others all have professional organizations, codes of conduct and ethics, minimum standards etc to sift the wheat from the chaff. And to allow clients some form of redress when someone managed to swim through a loophole in the profession’s safety net.
How is it that nobody has forced something similar upon us yet?
Is Uncle Bob right in warning us? In encouraging us to band together and to get organized before people who don’t understand the first thing about software development feel the need to forcibly organize us?
What would it take for people to get outraged enough to force us to work according to well-known best practices and make us sue-able for malpractice if we don’t?
Do we want to find out?
Is Uncle Bob’s “The Obligation of the Programmer” enough to rid our profession of unprofessional individuals?
Or are we too much of a disorganized band of rumpled hapless vagabonds to do it ourselves?
Do we need an independent association that oversees the professionality and conduct of its members?
Will that be enough?
Or do we need the protection of a law stipulating that one cannot call oneself “software developer” unless one passes the association’s exams and conducts business according to the association’s code of conduct and ethics?
Uncle Bob’s “The Obligation of the Programmer” is a start. A professional code of conduct may give well intentioned developers some backup against the pressures to and the lures of going faster than we should.
My nascent optimist nature hopes we can convince people only to do business with developers that have taken such an oath. And that naming and shaming of those that don’t live up to it would be enough to drive them out of the profession.
My cynical nature says “yeah right”. History has shown that it takes associations, safety regulations, building codes, bar exams, disciplinary committees and whatever else we have come up with, to keep businesses and individual practitioners “honest”.
I hope my nascent optimism wins.