Friday, February 03, 2006

The enigma that is software engineering

One of the common questions that is thrown at me by people from non-Information Technology field is,"What exactly do software engineers do?" or subtle variations like, "What exactly is software engineering?". Quite simple you might think, but not in India where the information technology industry is still in its infancy in comparison to the tralatitious industries. The added difficulty is also posed by the presence of the large sections of the population who are blissfully ignorant of what information technology is all about.

I had been to a college in the nearby city of Davangere last week to deliver a lecture on 'Upcoming trends in Information Technology and what career options are available'. The audience consisted chiefly of 10+2 students. After the lecture, the chairman of the institution invited me to his office. Sipping tea, up popped the question that has hounded me ever since I left college. "What exactly is software engineering?". He was a civil engineer who had started his own finance company that dispensed private loans. I thought of a different approach this time. I asked him,"Sir, what exactly do you currently know about the software field?" He smiled and started, "My knowledge about software is zero. However what I fail to understand is the concept of software engineering. I can understand civil engineering, mechanical engineering, chemical engineering, textile engineering and even electronic engineering. But, I am unable to fathom what software engineering is all about. All software engineers I have met, talk about coding. Software engineers say they sit in front of computers and code. All I see them is work in their companies from morning to night and at the end of the month, take home a fat salary. No raw material goes in, nothing ever comes out. However these companies report earnings that run into millions of dollars. The whole thing has made me very inquisitive"

I sighed. Software has brought about a vast change in the field of engineering in the way it has been perceived traditionally in India. It is this paradigm shift that is the basis of all confusion among the older generation. Engineering for them was never about being glued to your chair for 9-12 hours a day. It was not about zero raw material input and wholesome output that delights your customer. It was not about earning obscenely fat salary packages. Engineering was planning in the drawing board and then getting down to the field, rolling up your sleeves, spitting on both hands and getting down to implementing the design. This has been the case with almost all traditional engineering fields. Software engineering defies all these ground rules of what engineering is supposed to be. It is a totally different ball game. You design projects on the computer, implement it on the computer, and deliver it through the computer to the client. It requires a trained eye to see that every single principle of engineering is still adhered to, albeit a different manner. Every thing from requirement gathering, design, testing, and quality measurement that are the cornerstones of engineering also hold true to software engineering.

I love to quote one of my senior professors in college in this context. His favorite saying was,"All engineering fields are like the planets in the solar system. However software engineering is Saturn among them. It has a halo around its head" Rightly said, having a halo around you does not take away your planet status but indeed makes you stand out among the crowd.

No comments:

Popular Posts - Do not miss these...