Many people outside the software industry do not know what software engineering is about. Even recently when I was asked at a party “Hey, George so tell me what you do for living?” I answered, “I am a Software Engineer”. I got a semi blank look. I quickly added, “I am a computer programmer» and from that point on everything was back to normal. The next question was “I have a problem with my computer can you give it a look? ” That gave me a clear picture that there was a direct assumption that if you were saying the words “computer programmer”, for most people that would also mean “computer technician”.
So what is Software Engineering?
The IEEE Computer Society defines software engineering as
“(1) The application of a systematic, disciplined, quantifiableapproach to the development, operation, and maintenance ofsoftware; that is, the application of engineering to software.
(2) The study of approaches as in (1).”
The SWEBOK knowledge areas are:
Software requirements
Software design
Software construction
Software testing
Software maintenance
Software configuration management
Software engineering management
Software engineering process
Software engineering tools and methods
Software quality
(IEEE Computer Society, 2008)
Creating software systems can be a very complex and demanding process involving many people. That requires substantial amount of time.
Other people from other disciplines do not easily comprehend what a Software Engineer does. Different people have different perception of our job depending on their viewpoint.
26 years ago I wrote my first computer program. It even now amazes me that people, with all that exposure in technology, cannot still make a difference between a Software Engineer and a computer technician or a power user. Medical doctors do not seem to have the same problems.
References
IEEE Computer Society(2008). Guide to the Software Engineering Body of Knowledge . Available at: http://www.swebok.org/
No Responses to “What is Software Engineering?”