Career Opportunities

Helping to build the career you deserve!

A weekly ComputorEdge Column and Podcast by Douglas E. Welch

Are we ready?

August 4, 2000

** Listen to this column on your computer, iPod or other audio player **

Listen to the Podcast

WelchWrite Reader/Listener Line

Everything, it seems, will soon be computerized in some fashion. Everyday appliances like your refrigerator and oven already contain microprocessors and I recently saw a pair of shoes that contained a small computer to allow kids to see how fast they run and how high they jump. Soon, these embedded systems will become a deeper part of our lives than ever before. Not only that, they will begin talking to each other. All this computerization begs the question, "Are we, as computer professionals, capable of writing software and building hardware that is good enough to become part of people's lives in ever more intimate ways?

Of crashes and bugs

As anyone knows, a computer, while immensely useful, is not the most stable of devices. Hardware failures and software bugs plague anyone who uses a computer. People gripe and grumble over these failings, but thankfully, the effects of these errors are usually limited to a few people. Increasingly, though, we are witnessing more and more computer issues that can effect large numbers of people in a dramatic fashion.

The failure of one air traffic control system can have ripple effects throughout the world in a matter of minutes. Computerized trading can cause the stock market to gyrate wildly. The failure of one satellite can impair the communication of millions of people. As computers are moved deeper and deeper into our lives, the possibilities of catastrophic events grows ever greater. This means that all of you, as computer professionals, are taking on growing responsibility with every product you manufacturer and every line of code you write.


Since the inception of the personal computer, hardware and software manufacturers have done everything in their power to deny responsibility for the flaws in their products. Bugs are called "undocumented features" while features that are documented and advertised often don't work. I am confident in saying that every piece of software written today contains at least one bug that can crash the program or the computer running it. In a world where everything from your toothbrush to your entire home is computerized this is simply unacceptable. Not only will manufacturers have to strive to deliver products with zero defects, they will have to take immediate responsibility for any failure of their products.

Are you ready for such far reaching responsibility in your professional lives? In the future it is quite possible that you, as a programmer, might be held responsible for a problem caused by an embedded program running amok. Perhaps your program had a bug, which caused the toaster to heat far beyond it rated tolerance, started the kitchen on fire and destroyed a house. What would your responsibility be if someone were killed in such a fire? While this scenario might sound far-fetched it is only a matter of time before you see a case such as this in the courts. It is inevitable as computers and your code are used to operate those devices that used to be strictly mechanical in the past. Your company, if not you personally, will be held as responsible as any car manufacturer whose products tend to roll over or catch fire.

Not all problems need to lead to life threatening issues to create major damage. Programs and devices that report data incorrectly or fail at critical moments can lead to major financial losses. Increasingly, these losses will be large enough to threaten the solvency of entire companies. You only have to ask someone who can't log in to his or her online brokerage during a market downturn how distressing and costly such failures can be.

Time for reflection

Even hypothetical situations such as the one above should be enough to cause you to reflect on the work you have done in the past. Have you left clients with only half of a solution to their problems? Do you have bugs in your programs that never seem to get fixed? Are you striving for zero defects in every piece of software you write or sell? If not, the time is coming, quickly, when you must either acknowledge your responsibility or find a different career. Like airline safety, computer reliability is rapidly approaching the realm where perfection is inadequate. When the smallest flaw can mean life or death it is everyone's responsibility and duty to insure that flaws do not occur.

It is obvious from the flawed products on the market that many computer and technology professionals are not yet aware of the power and responsibility they carry in their work. All of us need to wake up quickly, to insure that we aren't jolted awake by some major tragedy that could have been prevented.

Comments, Questions, Reviews?

If you find this column and podcast helpful, please leave a donation for the author.


RSS & Podcast Feed

Subscribe using iTunes!