Xref: utzoo comp.lang.misc:7438 comp.object:3192 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uwm.edu!zaphod.mps.ohio-state.edu!van-bc!ubc-cs!uw-beaver!fluke!ssc-vax!dmg From: dmg@ssc-vax.uucp (David M Geary) Newsgroups: comp.lang.misc,comp.object Subject: Software "Engineers" Message-ID: <3844@ssc-bee.ssc-vax.UUCP> Date: 15 Apr 91 20:16:49 GMT Sender: news@ssc-vax.UUCP Organization: Boeing Aerospace & Electronics Lines: 51 Originator: dmg@ssc-vax ]] ? ] Jim Showalter ]] Every working definition of "engineering" appears to exclude computer ]] science. ] Is this something to be PROUD of? As it statnds, it is certainly an ] accurate reflection of the current state of affairs, but hardly a good ] thing. Well, I don't know. There are *sanitation* engineers, but I don't think I would want to be catagorized with them ;-). I have a degree in mechanical engineering, and 7 years experience as a "software engineer". I have always thought that the term software engineer was somewhat of a misnomer. As a matter of fact, "engineer" is one of the most mistreated words in the English language. Consider that an "engineer" may be one of the following: 1) Garbage man. 2) Someone who rides a train. 3) Programmer. 4) Real engineer. (Real) engineering is based upon certain (perceived to be unmutable) physical laws, such as f = ma. Basing engineering upon these laws yields methods which may be applied, in the same manner, to a set of engineering problems. For instance, calculating the amount of heat loss through the walls of a residence is always a fixed relation between given variables, such as: wall thickness, insulation used, etc. Therefore, the solution is always arrived at via an accepted mathematical method. To test for competency among engineers, one presents a problem such as that outlined above: how much heat loss through walls with the data below? Every compotent engineer will arrive at the same conclusion through (roughly) the same methods. Computer science is not, really. Where is the "science" in computer science? There is no one correct way to write, for instance, a database. Developing software is much more of an art, and less of a science than engineering. As a matter of fact, that is why I *like* software development more than engineering. You get to be more creative. How does one test a software "engineer" for competency? In engineering, one takes classic problems, changes the important variable values, and asks an engineer to solve them. In software development, there are far fewer classic problems, and, worse yet, none of the problems has one accepted mathematical method for solving them. Testing for competency among software developers is a much more difficult task than testing for competency among (real) engineers.