Computer Science vs Software Engineering.
Please suggest which one is better.
Your personal experience will be the best guide.
I am biased towards Software Engineering and have gone through a lot of assertion like, ‘software development only require skill; qualification or title of engineer doesn't matter’.
SE being more extensive degree, a lot of theory, more papers to pass and more years to study place it on negative side.
When comparing also suggest, long term stability of the job, chances to create own company, involvement in big projects, pay-scale, workload or vulnerability to extractive employer tactics.
Best Regards.
PS: I am asking it for my son.
I do not know what constitutes Software Engineering in NZ and how different it is from India.
From an Indian BE and partly American MCS(ongoing) perspective, CSE or Computer Science and Engineering generally encompasses Software Engineering. In most institutions of India there is no separate course known as Software Engineering as CSE includes SE. There is an IT course which does have a bit more SE stuff but the basic thing remains the same.
However if we are to differentiate between the two, CSE is a broad field which includes topics ranging from Compilers,DBMS,Algorithms,Operating Systems ,Discrete Maths, Cyber-security /Cryptography to even topics like Machine Learning/AI which can be classified as fields of their own. A CS grad is expected to have a cursory knowledge of all the topics mentioned above.
On the other hand a Software Engineering Course generally focuses more on building efficient software, which includes having a deep insight into project management techniques like Agile/Waterfall method, having a good technical know how and being familiar with the latest software tools,knowing DBMS pretty well, React/Express/a coding language to make apps, know how to make Cloud based scalable apps etc. A SE also has to know things like testing/software support and learning how to build and market competitive apps within a deadline.
On the topic of job roles,a software engineer can be classified as a front end engineer if he is into web designing(HTML/CSS/Javascript skills), a back-end engineer(mainly coding stuff/DBMS/framework etc). There are also data scientists/data analysts and cyber security experts etc
A big part of which course to pick depends on what your son wants to end up becoming. Does he dream to become a FAANG company employee with a six figure salary. Then either course is good enough as he ultimately has to learn algorithms thoroughly and do leetcode grinding to crack the tough as nails interview questions. Keep in mind most CSE grads who want to get a good paying job end up becoming Software Engineers(barring Data Analysts/Cyber security experts and some other specialized CS fields). The thing is at the end of the day both CS and SE/IT grads have to focus only on cracking coding interviews which is not taught at universities(unless you consider Algo class) but has to be done at home. As for the other non FAANG companies like consultancies there too both grads have the same playing field. At the end of the day any Software developer has to have a good grasp of algorthms, their implementation and a good know how of logic and maths.
If one wants to become a researcher(Masters/PhD/Post gad) then CS gives far more leeway for branching out to different avenues. A CS grad has the option to choose from a research topic in ML/Cyber-security/Bioinformatics/other specialized CS topics etc. I do not know if the same holds out for SE.
Whatever option he picks a big factor to consider would be the college rank and the alumni network of the institute. A good combination of the two makes getting internships/jobs or higher study opportunities much easier.