- Joined
- May 29, 2009
- Messages
- 14,104
- Likes
- 63,370
Thanks for your detailed response. I have made my son read every line of it.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.
A few days back I wrote the following on his whiteboard.
Self-study; specialization in at least one Language, algorithm, and data.
There is a lot of information to absorb. My problem has been always running many simulations to project the future. Guess what, the future always surprises me with the unknown.
I trained him throughout his childhood to study medicine. From inguinal hernia to transcranial intra-ventricular catheterization he knew a lot of pathologies, methods, and procedures. He took full subjects including Biology but never sat the exam in year 11 for Biology. I only knew when the result came. He quietly told me that he doesn't like Medicine.
Will I stop interfering? I am not too sure. He is interested in SE.
Unlike India, there is no CSE or SEIT like in USA's case. It is either CS (3 years) or SE (Four years) in NZ. Like you mentioned CS is more introductory, flexible, and covers concurrent popular subjects. After reading your post I now think with more electives in CS he will be able to change track depending on his interest than being into more academically ridged SE.