Do you need a Computer Science degree to become a software engineer ?

Imran Hasan Hira
BSADD
Published in
4 min readJun 30, 2018

The short answer is — NO (probably the short sighted answer too)

The medium level answer is — You do not necessarily need a Computer Science degree to become software engineer. All you need is Software Engineering knowledge.

To answer in detail, let me ask a question, so that we can narrow down the confusion clouds.

How would you achieve software engineering knowledge ?

There are couple of ways —

  1. Get a Bachelors/Masters in Software Engineering ( Academic degree )
  2. Get Bachelors/Masters in Computer Science ( again Academic degree )
  3. Start studying/practicing on your own to build software ( Personal effort )

#1 is straight forward. But it can happen that your country/university doesn’t have “Software Engineering” as a subject. Then you can follow #2 as an option.

If none of “Software Engineering” or “Computer Science” is available to learn academically, then you can go with #3, which is start studying/practicing on your own. This self study might also happen even if universities in your country has those courses ( i.e. you weren’t qualified enough to pass the admission ).

Not qualifying the admission process doesn’t mean that you can’t be a good engineer after 5 years. It means that you aren’t qualified at that admission moment. If you try consistently and have the proper learnings, you can be a good engineer within similar range of time.

It can also happen that you studied completely different subjects than computer science ( i.e. Statistics ) and later moved to Software engineering.

Back to our main point, CS degree. Why are we talking about two degrees — “Computer Science” and “Software Engineering” ? To know more details, let me explain how has university subject evolved.

In our society, we try to solve a lot of problems and sometimes general people do not posses enough knowledge. If a country needs a lot of medical doctor, and there isn’t sufficient doctors in the country, it’s a good decision to invest in Medicine study. So government funds medical sectors, build medical schools, compensates student fee. This is a long term policy, so that after 5/10 years, the country has enough medicine experts.

The same policy apply for other subjects as well. Depending on the country need ( or policy makers realization ), universities open subjects for further specialization. For example, In Bangladesh University of Engineering and Technology, we didn’t have ‘Computer Science’ subject before 1986. Then it started in a very small number of students ( 30 student per year). Later we saw that we need to more computer science experts and increased the capacity ( 120/year ). Now a days few universities even provide “Software Engineering” as a standalone Bachelor degree. It’s all up to how we foresee the need.

If someone really knew that his final goal is being a Software engineer, then they can focus solely on Software Engineering knowledge for the very beginning. This way they can specialize their skills by avoiding other general computer science knowledge (hardware details) which might not be needed for a specific industry/field/…etc.

Not knowing general computer science terms is not a big problem if the person posses strong analytical skill. They can learn it on purpose while working. But a person already having that knowledge will be faster in learning deeper, given that they both put same effort.

That means, if you achieve fundamental knowledges, you can expand your practice area to other domains quickly. At the end of the day, it depends upon the availability of subjects in Universities and your passion to study/practice.

This pictures reveals a path to become a Software engineer after having computer science knowledges-

As you see there are lots of topics that are covered in Computer Science. But depending upon your work, you might be needing few of them directly. If you move from a Banking Software company to Ecommerce application company, then you gotta know the concepts of their stack. Things are learnable. People can learn them either in university or self practice. Here is a little bit complex picture ( there are more connections , I skipped some of them to avoid spaghetti )

Fundamental knowledges that you see on the top of the above picture, You can get most of them from Universities. It’s also possible to get them if you got proper neighbors. I mean, not all people have parents/friends/uncles who are university teacher or software engineer. Anyway, Universities helps by providing a dedicated learning process.

And then there are business knowledge which you can specialize while working in certain situations. Another interesting part is self learning. If someone thinks that they can learn it by self practice, that is also welcome.

To grow your career, I would suggest — why not both ? Getting into a university will give you the chance to know from more knowledgable people. At the same time if you keep practicing self studies, then you specialize on your desires. Happy Learning!

--

--