This is always a tough topic to bring up but Mark Pavlidis made me do it. In your opinion, what is the difference between a Software Engineer, Computer Engineer and Computer Scientist? What is the difference now and is there a discrepancy between what the difference is now and what you feel the differences should be? How would you change any of the programs to make it so that the differences are more obvious? Should there even be a difference or should we just combine them all together? What type of jobs should the different type of computer professionals hold?
Related Links:
10% of our revenue from these ads go towards scholarships!
September 28, 2004 03:21 PM | Mark Pavlidis commented:
My main point for bringing this to discussion is that for most job postings that an SE is really required, the prereq is a CE or CS degree. In effect neither is a complete prereq, but SE degree is. I contend this is due to the ignorance of the company, but others call it lack of awareness. It is true that the intersection of the CE and CS worlds are at the centre of the SE world, but that is all. The training for the disjoint parts of each is the major difference that provides each its own utility.
In the end, what I am trying to poke out of you is what are your perceved differences, and what have you seen as the computing world’s perceved differences. Which companies have seen the light, (that is the distinctions), and which have not? Which are getting there, and which might never? Discuss…
September 28, 2004 11:46 PM | Baron commented:
I agree with Mark in that SE’s sit in an happy medium between CE’s and CS’s. How I generalize it is that CE’s have a hardware focus, CS’s have a software focus, and SE’s have both.
As for bad job descriptions, I sit in the awareness camp. Companies, for the most part, don’t know a real SE program exists. In every job interview I’ve had, I’ve had to explain the program. Things get complicated when CS’s have “software engineering” streams… When it comes down to it, when a company is looking to hire a software guy, it doesn’t matter what education the candidate has, but rather if they can get the job done. It’s different in the traditional engineering roles. You can’t have a “mechanical engineering” college diploma holder sign off on your projects. Software doesn’t require sign-offs. At least not in the 95% of the jobs that are available. Those mission/safety-critical projects requiring sign-offs probably go to engineering firms and not to a off-the-street engineer. That’s the case where an engineering firm will value a SE, CE, ME, etc.
Until SE goes to the way of other engineering fields, this problem will continue to exist. The problem is that the industry and public did not see the need for a software engineering role until it was too late (late in terms of industry age, and the massive number of CS degrees)…
September 29, 2004 09:07 AM | John Kopanas commented:
I have to admit I see things differently. But first I have to say I think that both CS and SOEN (Software Engineering) are equally important but they just have different roles in a project.
CS will go the way of physics but unlike physics will still be very popular. These are the people who will work in R&D and more complex problems.
SOEN will work primarily as people who organize and oversee development projects. People who start off by working with clients to figure out what they need, architect and design a system and then have a mix of junior SOEN, CS and CS Diploma’s work to implement a project. Where the CS people work on the most complex problems and CS Diploma’s implement the less complex parts of the project. Especially in the age of outsourcing Software Engineers will organize the development projects and then send things to other countries to implement them.
Eventually I think there will be more pressure from industry for people to go into Software Engineering rather then CS and that is when the industry will change a lot. I wanted to go into CS until I read a book about Apple Computer that said that the Computer Engineers work looked up higher then computer scientists. I could not have any of that. So I applied for CE but then fell into SE because I hate hardware.
I don’t know about you but in SOEN I never touched hardware. I see the CE (Computer Engineer) as the link between EE and SE. They know the basics of both.
September 29, 2004 10:18 AM | Ness commented:
McMaster touches hardware. How can you ignore the workhorse of your profession? You need to know its deficiencies and limitations.
Digital Logic - VHDL, built a security alarm system on an ALTERA board. We needed to build a driver for a keyboard and now how an appreciation for how hard it is to debounce electrical signals. That is taking out the noise and stoping system thrashing with a hold on the signal after it goes high.
Computer Architecture - RISC not CISC architecture.
Control [Continuous|Digital] - Stability of systems (ROOT LOCUS), modelling hardware in math, PID control, D/A <-> A/D conversions, servos.
Distributed Systems - How to disassemble a problem and have multiple systems solve it in parallel. Hardware has incredible limitations here. The one thing I took away was to never put an IF statement in a long WHILE loop. The branch stall is too costly. Also the limitations of cache misses when working with large arrays.
Just some of the classes that touched hardware off-the-top-of-my-head in SFWR ENG at McMaster.
October 2, 2004 01:40 PM | Anonymous commented:
Software Engineering, Not Computer Science, by Steven C. McConnell.
October 2, 2004 01:41 PM | Anonymous commented:
Sorry, here is the URL!
http://www.stevemcconnell.com/SeNotCs.pdf
CUSEC is the Canadian Undergraduate Software Engineering Conference created to promote software engineering in canada at the undergraduate level. CUSEC 2005 is being held this year in Ottawa, Canada.
Sign-up to our monthly newsletter so you can keep up with the latest articles on software engineering and our conference (CUSEC).