Software Engineering

I have heard this common notion quite a few times that we Computer Engineers are really an unwanted and unnecessary lot. That Electrical, Electronics, Mechanical, Civil etc are the core branches-the crème-de-la-crème of engineering- and Computer/Software engineering is just a derived branch and hence does not deserve the same amount of respect as the above mentioned disciplines. This essay is my answer to those arguments will try to show just how shallow these arguments are.
Let’s take Mechatronics, a discipline that combines Mechanical and Electonics/Electrical Engineering. The same people who say Computers is a derived branch will vouch for the necessity of including Mechatronics at the undergraduate level. Is Mechatronics a so-called core branch?

Coding is easy
Another oft-heard argument is that Coding is so easy that anybody can do it and hence students from all branches of engineering are accepted in to IT companies where they are taught to code in just 6 months. Now we need to make a few things clear here. First, writing code and writing good code are very different things. Most of the work done at these IT companies does not require any specific knowledge of computer science. Is it requires coding but not smart coding. The coding is rudimentary and requires very little logic. And of course you do get away with bad code – code that does its job but is not optimally efficient. Give the same work to an efficient coder and you can expect better results. Second, the kind of code you are expected to write at these companies requires a very basic amount of logic and as engineers we all have that. While some may say that coding is very easy and that is why students from any branch can be a coder, we can also view it from a different perspective – the students from non-computing branches who take up software job do so because they are not good enough to take up jobs in their own discipline. Let me put it this way, even a mechanic knows how to repair a car, so is he at the same level as a Mechanical Engineer. If we go by the notion of core branch, then I should say that Physics and Mathematics are the core branches, rest all are just derivations.

Coding nothing without hardware
Many of my friends in electrical and electronics have pointed out how our software is of no use without the hardware on which to run them. Let me put it a bit differently, what would be the PC without the software that goes with it? Nothing more than a rather slick looking contraption made of plastic. IBM designed the PC that we see today, while Microsoft made the software for it. Now who made more money, Microsoft or IBM? Can you imagine how hard it would be to drive an F1 car at speeds exceeding 400 kmph without all those computing aids provided to the driver. Forget, that without computerized fuel injection even reaching those speeds and yet maintaining a semblance of efficiency will be impossible. The Buggatti Veyron with all its immense horse power can be driven to very high speed by a modestly skilled driver only because of the smart ABS and Electronic Stability Control system constantly working to nullify the mistakes of the driver. Now try achieving the same with pure mechanical systems. A robot is no more than a tin can if it does not have the software in it. Sensors can give you data but only software helps you to make sense of the data. I don’t want to demean any discipline of engineering. But at this age, without software you can go nowhere.

Software engineers do petty jobs while those done by others are real innovation
I agree that many of the software companies in India are not much into innovation. But then neither is Maruti Udyog or Vedanta. Maruti makes cheap cars with technology that is not too high tech. And talking about innovation and progress, well, the software industry (and by that extension the electronics industry) has progressed faster than any other industry in the world. The automobile or the construction industry has been doing pretty much the same thing as it did a few decades ago. Information Technology gets obsolete in a year or less, the automobile industry in a decade or more. Yes, there are companies like BMW, Mercedes, Porsche, Honda, GE etc who do innovative work in their respective areas, and so does Microsoft, Google, Sun, IBM (IBM Research) and many more. And that is exactly why a Google or Microsoft will not hire a mechanical or civil engineer.

Bored of Computing.
Most of my batch mates want to go for an MBA degree because they are ‘bored’ or ‘tired’ of computing. And this is something common across all branches. Well, really, how much of computing have you been exposed to in just over a year of study (considering that we had common syllabus in first year). Didn’t most of you study your asses off for AIEEE to get to this place? Didn’t most of you select Computer Science or Electronics as you first option while filling the online form? So what happened to the enthusiasm? How much have you learnt in just 3 semesters that you are bored? (Well, I guess, I am not eligible to ask that last question. Considering that my CGPA graph is falling at a rate more alarming than the stock market, I have probably learnt less than most). Aren’t you at all fascinated by all the possibilities that software unleashes? Don’t you think if everyone is a Sales Manager or a Marketing Manager, who would develop the product which is to be marketed and sold? The way I see it, very soon we will have too many managers with nothing to manageor sell. A researcher in a software firm gets paid as much as a manager and can also rise to the position of the CEO. I don’t think the blame lies with the students alone. The faculty must share the blame because if you are not able to motivate your students enough there has to be something wrong with you methodology. Most of your students are scoring well because they want a good job and not out of any genuine interest in the subject. The aim of this education according to me should not be just getting a good job. Don’t we, as students, would much rather prefer to read only the paragraph that is important for exams instead of trying to understand more of the subject matter. Now is this not learning. Also we should invite more core computing companies for placements instead of mass recruiters. While mass recruiters ensure that we manage near 100 percent placements year after year, they make a complete mockery of the amount of study we put in for 3 years(not considering the 1 year of common syllabi) and crushes our self respect as computer engineers. If a chemical engineer gets the same job that I get and at the same salary, what’s the point of studying all those books for 3 long years? Instead just give me the six months of training that such a company gives to its recruits.
Finally, I would like to apologize to my fellow students from other branches. I don’t think that any branch is more important than the other. Just that my branch is just as important as yours.

3 thoughts on “Software Engineering

  1. I really liked your article. I’m a CS student. Nw,most of the students of my dept. Are studying in this branch of computing only too get a decent job,nothing more. Can u believe that?
    What hppnd to these morons? They don’t feel d computing in their nerves…wht to say? May god help them!

Let me know what you think

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s