Software Engineering or Computer Science

This is a very common question asked by expected freshmen of the undergraduate programs in Pakistan. Software Engineering or Computer Science? And usually, they get a very subjective answer. Inexperienced respondent are always there that can lead to decision based on wrong ideas. Now, you are going to get an objective explanation from a Computer Science graduate who worked as a Software Engineer. I will try to give you an idea what each field is about.

First thing first, programming is must. You need learn programming in both fields and you need to very good at it within the very early semesters of your study program.

What has the better scope?
Most IT jobs in Pakistan are related to programming with terms as “Programmer/Developer/Web Developer/Mobile Developer/Game Developer etc” and it reduces the difference between of scope of Computer Science and Software Engineering as both can work in these jobs very well. After the programming jobs, there are vacancies for Computer Networks, Database Developer/Administrators, System Administrators and a Computer Science graduates is, and should be preferred here.

In academics, neglecting the personal choice of a recruiter, a Computer Science graduate should always be preferred because computer science graduate can cover wide areas.

What is actually the difference?
Software Engineering is a part of Computer Science. Considering a relative comparison, in Software Engineering, you learn deeply. On the other hand, in Computer Science, you learn widely.

In simple words, a Software Engineer works on standard steps of developing software. It depends on the scope of software and the team working on it, you will be involved in some or all of these steps. On the other hand, a computer science graduate can do the same, or can do other things.

A Software Engineer graduate will become a Software Engineer. Period!
A Computer Science graduate can become a Software Engineer, A netowrk admin, Database Admin, etc.

Please note that there are always exceptions but it is not expected from software engineer to work as network admin and etc.

Some random thoughts
The above statements doesn’t make Computer Science a better choice, but it allows you delay you decision. Because at some point in Computer Science, you have to choose your specialization and your subjects according to that. However, you still have a flexibility to switch at some cost. You have chosen a subject that you didn’t like and later you succeeded in changing your major in next semesters. You probably have learnt more than others but you are missing earning with learning. Software Engineering and Computer Science are both a blessed fields and can get you job right within the first semester of your study.

Engineering has become the least preferred and least respected field in our society. Don’t you have engineer friends who are looking for jobs even years have passed after their graduation, engineers who are working in jobs where they would have reached even without an engineering degree? Well, I have many such friends. Even though Software Engineering is very mature as compared to other Engineering fields but the word “Engineering” has become a little offensive.

Still confuse? Toss a coin and go with the result. Because let me teach you something that you didn’t expect to learn here. Philosophy. A field which answers those questions that no other field can. No matter what you choose, you will have ups and downs. And when there are downs, there will be regrets. Regrets about your decisions. Just hold on to hope and keep going.

I will leave you here.