Live data from Hacker News

"Computer Science" is Not Science and "Software Engineering" is Not Engineering

geocities.com

31–40 of 93 posts

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#31
post #7

As someone with an engineering degree, it does irk me to constantly hear programmers referred to around these quarters as 'engineers', it's extremely introspective, and IMO a little disrespectful. Similarly to the 'are you technical?' thing, why is there such an aversion to the term programmer or software developer? I have no problem with the term 'software engineers', as i do seem some parallels, and it is clear wha…

Agreed about the "engineer" label. My acquaintances at university were engineering students, and they would themselves correct me if I called them engineers - that requires licensure. (They're not even "engineers in training" until they've passed that monster FE.)

You betcha, PEs are justifiably proud of the title.

We have sysadmins around here who call themselves "Microsoft system engineers". It bugs me, but title inflation is a Dilbertesque fact of life.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#32
Quote from http://wikipedia.org/wiki/engineer "An engineer is a professional practitioner of engineering, concerned with applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems. Engineers design materials, structures and systems while considering the limitations imposed by practicality, safety and cost. The word engineer is derived from the Latin roots ingeniare ("to contrive, devise") and ingenium ("cleverness")."

Software engineers definitely fall under this definition.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#33
post #7

As someone with an engineering degree, it does irk me to constantly hear programmers referred to around these quarters as 'engineers', it's extremely introspective, and IMO a little disrespectful. Similarly to the 'are you technical?' thing, why is there such an aversion to the term programmer or software developer? I have no problem with the term 'software engineers', as i do seem some parallels, and it is clear wha…

Huh, I didn't realize that some hardware folks are still so irrationally jealous of the label "engineer" being applied to software engineers as well. In truth the distinction between a physical versus information end-product as a prerequisite for the term "engineer" is arbitrary, self-serving on your part, and not recognized by any common definition of "engineer" of which I am aware.

Not to be too hard on you though; yes, the biggest aesthetic difference between hardware and software engineering is that with the latter, the cost of fabrication is essentially zero. But as described here: http://www.ics.uci.edu/~jajones/papers/p439.pdf

> The essential distinction between software and other engineered artifacts has always been the absence of fabrication cost. In conventional engineering of physical artifacts, the cost of materials and fabrication has dominated the cost of design and placed a check on the complexity of artifacts that can be designed. When one bottleneck is removed, others appear, and software engineering has therefore faced the essential challenges of complexity and the cost of design to an extent that conventional engineering has not.

So naturally the set of constraints is different than the ones with which hardware engineers contend, yet software engineers do fundamentally apply math and science to design products to meet hard, real-world constraints: Development time and cost, program correctness, time and space performance under expected load, reusability, and maintainability to name a few.

If there is a valid objection to the notion of software engineering as a "real" engineering discipline, it should be that a subset of the science upon which the discipline is based – that of software architecture – is at this point still underdeveloped and poorly understood, and as a result software engineers generally rely on their own intuition when it comes to architecture. (This in contrast to fundamental computer science, which is well developed enough that we can typically determine from mathematics or empirical evidence what kind of algorithm or data structure to use under given circumstances.)

But an arbitrary bias that engineers produce only physical artifacts does not constitute a valid objection.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#34
In Québec Software Engineering is covered by the "Ordre des ingénieurs du Québec".

Software engineers have to come from accredited engineering schools and take the same exams as engineers from other fields.

They are also required to follow the same code of conduct.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#35

In Québec Software Engineering is covered by the "Ordre des ingénieurs du Québec". Software engineers have to come from accredited engineering schools and take the same exams as engineers from other fields. They are also required to follow the same code of conduct.

Does this mean that in order to charge money for any programming work at all (even VBA) you have to have an accredited qualification, or can you do so but not call yourself a software "engineer"?

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#36

In Québec Software Engineering is covered by the "Ordre des ingénieurs du Québec". Software engineers have to come from accredited engineering schools and take the same exams as engineers from other fields. They are also required to follow the same code of conduct.

Does this mean that in order to charge money for any programming work at all (even VBA) you have to have an accredited qualification, or can you do so but not call yourself a software "engineer"?

No it doesn't.

But the term Engineer is protected. You cannot legally call yourself an Engineer if you don't have the degree.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#37
post #7

As someone with an engineering degree, it does irk me to constantly hear programmers referred to around these quarters as 'engineers', it's extremely introspective, and IMO a little disrespectful. Similarly to the 'are you technical?' thing, why is there such an aversion to the term programmer or software developer? I have no problem with the term 'software engineers', as i do seem some parallels, and it is clear wha…

I have a bachelor of software engineering and could pursue PEng if I wanted (which I won't). Right after graduating it annoyed me that everyone in software called themselves engineers, but I got over it.

Engineering is defined by the various international agencies and schools that accredit engineers, not Wikipedia. "Software Engineering" is a real engineering discipline in Canada and other places. The premise "An engineer's model must be tightly bound to the laws of physics and chemistry" just seems to be a construct of the author.

Engineering is about the practical application of rules, balancing factors like cost, maintainability and scope. Chemical, mechanical and software engineers do similar jobs, working with different sets of rules.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#38

Quote from http://wikipedia.org/wiki/engineer "An engineer is a professional practitioner of engineering, concerned with applying scientific knowledge, mathematics and ingenuity to develop solutions for technical problems. Engineers design materials, structures and systems while considering the limitations imposed by practicality, safety and cost. The word engineer is derived from the Latin roots ingeniare ("to contr…

Etymology is one area where I know not to trust Wikipedia. I'm pretty sure an "engine-er" maintains an "engine", in the act of "engineer-ing".

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#39
The contention that Computer Science is not a science because on opening a CS textbook you get confronted with a number of mathematical concepts seems a fairly ridiculous one. The same argument could be made to say that Physics is not a science, after all.

The problem is that there's a conflation in most people's minds of the terms 'computer science' and 'programming'. Computer Science courses teach you how to program, so this is understandable. But the research that goes on in Computer Science departments is not all about 'how to program'. Hypotheses are generated and tested for specific end-goals.

Sure, CS is highly mathematical in its execution, and the introspective areas of research are thus mathematical. Some of the research in the Algorithms areas is probably best published in mathematical journals. But that's not the whole science. What about measurements of routing efficiency in Networking? What about HCI? What about Ubicomp? What about NLP, or even AI in general? Even if they are using mathematical principles in forming their systems for experimentation, they're still doing science. Hell, all sciences rely on maths somewhere.

Re: "Computer Science" is Not Science and "Software Engineering" is Not Engineering

#40

As a trained electrical engineer, working as a software "engineer", it is my opinion that those quotation marks I just used are necessary. I may be an engineer, but I'm not employed as one, even if it says so on my business card.

If this isn't engineering, I'd love to know what it is: http://techcrunch.com/2012/08/07/google-cars-300000-miles-wi...
Post reply on HN