An easy ride for the computing profession ?
Currently, in most countries, if you want to practice the professions of medicine, accountancy, law, etc., you will need to go through rigorous academic and vocational trainings before you can practise your profession independently. You also need to apply for a practicing certificate and go through refresher courses all through your career. You can be struck off the register and can no longer practice if you are found to be incompetent or grossly negligent.
It is therefore rather surprising to find that it seems the computing profession, which can yield earnings of comparable magnitude, and can significantly impact our lives if done incorrectly, escapes this kind of regulation and control. Is there any indication that this is going to change ? Well, there are various certification programs set up by Microsoft, Sun Microsystems, Oracle etc. to train programers and stamp them with labels to help prospective employers decide. However, these program are private enterprises' own initiatives and are not subject to any central control. Also, they can only tell you if a programer knows something, and not if they are conforming to a recognised standard methodology of doing it (this is arguably the also the catalyst for the growth in this area, albeit non-omnidirectional).
If a civil engineer builds a bridge which then collapses, he will be liable. The same can be said of doctors and accountants in their respective fields if they make mistakes. I have yet to hear a court case where a software provider is held accountable for the failure in his software (I mean a criminal one, not a civil one), even if this is the software which was used to build the above bridge. In fact, in most cases, the software provider is paid to come back and fix the bugs in their code.
It can be argued that the computing profession is relatively new, and thus needs time to settle down to the same social standing as the other professions mentioned above. Also, computing technology is still evolving, and this makes it more challenging to develop frameworks which can reliably do all the followings:
Take an average computing related degree course, which averages 3.5 years, compared to medicine (8 years, 6 year for the course and 2 years training), accountancy (6 years, 3 years for the course and 3 years training). A computing graduate usually exceeds the national average for wages after the first three years of his/her professional life, while his/her counterparts in other disciplines are still training. The peak of their professions leave little to compare, and there is room for specialisation in all these professions which will push the earnings even further. However, a doctor, an accountant, or a lawyer, will have to spend relatively more than a computer programer for indeminity and liability insurance, not forgetting the risk of litigation, whether you are proven liable or not. There is also ongoing cost for subscriptions, trainings etc. which a computer programer again escapes relatively unscathed. So from the point of view of returns of investment (ROI), the balance seems to tip towards pursuing a career in computing.
- measure someone's competence
- establish industry standard design and architecture methodologies, shaping but not hindering progress and innovation
- maintain a professional register, with the legal power to prevent and prosecute malpractices
Market forces and governments might dictate if this easy ride might come to an end, but until then, a computer programer has never had it so good.
Now for some light readings on related subjects:
- Ariane 5 flight 501 had to be destroyed on 4th June 1996 40 seconds into flight due to an overflow in its floating point calculations, report
- Therac-25 linear accelerator, which gave patients overdoses in radiation treatments because of cryptic error reporting report
- 2.5% unemployment among IT professionals report
A final rhetorical question, if a software engineer going on vacation learns that the software she/he wrote is responsible for controlling the airplane he/she is boarding, will he/she still board it ?