Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> The vast majority of computer science students pursue a CS degree because it has become a prerequisite for being a professional software engineer.

I don't know if things are different outside of Canada, but isn't this precisely what a computer engineering or software engineering diploma is for? That's what I'm doing and it's definitely different from CS - very applied, a lot of low-level programming (assembly, VHDL, embedded C), making a game with Java calling C++, source control is always used, etc.



In my experience, Computer Engineering is a combination of EE and CS, producing someone equally capable (assuming equal interest) of writing low level systems and designing logic circuits.

Software Engineering is more of what Joel is describing, and more schools are starting to offer it as a major, with as much focus going to various project management methodologies as algorithms and data structures.


Things are different outside Canada, specifically in the U.S.. I've found in the U.S. that there are vastly inconsistent definitions for the different programs. In Canada you tend to have Computer Engineers who study in a real engineering program. Some schools may split this into Computer Engineering (emphasis on hardware) and Software Engineering (emphasis on software). Then you have Computer Scientists that range from "Software Engineers" -- in quotes because it's not a real engineering degree but a science one. They study lots of programming, more math than other CS students, as well as processes. On the other end of the spectrum areManagement and Information Technologists that do less programming, less rigorous math, but more business and management education. Having had to interview candidates that have CS degrees from schools all over the world (Canada, Cuba, Russia, the U.S.) I've found that for some reason the U.S. has a weird sort of wild west situation with respect to computer science. Students in community colleges who take one course in Java consider themselves to be studying computer science the same way a student at a top notch program in a place like Stanford would. Here in Canada if a student is studying programming at a community college they're more likely to declare themselves as studying just that, "programming" or "IT".


Answers my question - in Quebec, the title "engineer" has quite a few requirements, mainly having an engineering degree and passing an exam. Hence my confusion with the text: here, a CS graduate could not call himself a "professional software engineer".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: