People who worked in the software industry as programmers will probably agree with me, that a software programmer is probably one of the jobs in the world with the heaviest work load. It may not necessarily be the most pressurising, but it is definitely one of the busiest. I can think of two reasons for this: the endless pursuit of the 'perfect' software that never exists, and the utter lack of testing in whatever programmers wrote.
Talking about the latter first, the software industry has been notorious for producing buggy products. Whereas engineers of other fields are taught from the very beginning that testing must be a standard part of the procedure when developing their products, no such guideline exists in the field of software engineering. Whether a software product is tested prior to distribution for mass consumption or not very much depends on the the engineers working on the product. Having said that, many software houses are vigourously doing testing now, but that is after many hard lessons that were learnt via consumer dissatisfaction.
The first reason is what I really want to talk about in this article. Software engineering, unlike many other forms of discipline, produces a product that is mutable. In other words, the product can be changed or upgraded even after it was sold to the consumer. This is very much unlike other electronic products where once the product is sold, it is very difficult (although I wouldn't say impossible) to change. For example if you buy a DVD player from a company, and at a later date the company produces another more advance model, you cannot just simple upgrade the current, instead you have to buy the new model if you want the features that can only be found in the new model. With the potential for so many new features and bug fixes to be added, the software programmer is always in pursuit of the 'perfect' software which can never exists except in the mind of the programmer. There are always more 'nicer' features that can be added to the software, that the product can never reach a stage of stability where the programmer can sit back and say that no more new features are necessary.
This is both a good thing and bad thing. The bad thing, of course, is that the programmer will always be busy, the good thing being that there will always be the demand for programmers :)
Herry. 10/10/2003.
Any comments on the article, please email me at:
herry_personal at yahoo dot co dot uk