Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site digi-g.UUCP Path: utzoo!watmath!clyde!burl!ulysses!mhuxj!houxm!ihnp4!stolaf!umn-cs!digi-g!dan From: dan@digi-g.UUCP (Dan Messinger) Newsgroups: net.misc,net.flame Subject: Re: Software Engineers Message-ID: <304@digi-g.UUCP> Date: Fri, 12-Oct-84 10:51:46 EDT Article-I.D.: digi-g.304 Posted: Fri Oct 12 10:51:46 1984 Date-Received: Wed, 17-Oct-84 05:30:55 EDT References: <737@u1100a.UUCP> <1436@vax2.fluke.UUCP> <1195@hao.UUCP> <> Reply-To: dan@digi-g.UUCP (dan) Organization: DigiGraphic Systems Corp., Mpls. MN Lines: 72 Summary: In article <> moriarty@fluke.UUCP (Jeff Meyer) writes: >Actually, I have been wondering if there is an actual distinction between >the terms. I've supposed that "software engineers" were a subset of >programmers; There are definitely two different educational disciplines for programmers. I, personally, have chosen to use the terms "software enginneer" and "programmer" to make the distinction between the two. Others may disagree with my choice of terms, but the fact that there are two disciplines remains. Programmers: These are the students of liberal arts colleges, junior colleges, and vo-techs that offer what they call a degree in computer programming. This usually amounts to learning COBOL, RPG, and maybe FORTRAN, and how to operate a keypunch, cardreader, lineprinter, and sometimes how to load 9-track tape drives. This is usually a two year degree, although vo-techs may do it in less than one. Software Engineers: Engineering colleges offer an engineering degree in programming. These students take classes in algorithmic structures, data base, high level languages, assembley language, operating systems, automata theory, number theory, and compiler design. And usually they will take a course in a language or 2 or 6 or more, just for kicks. These students are doing good to complete their studies in only four years. For the non-programmer, I have explained this distinction by an anology to other engineering fields, such as electrician/electrical engineer, and mechanic/mechanical engineer. University of Minnesota supports both degrees. The "programmers" that I had meet there seldom understood what more there could be that the "software engineers" were learning that they were not. Many of the "software engineers" thougth that the "programmers" degree was a joke. Other people have written about the lack of Unix or C training in schools. I would not expect such experience from a "programmer". But a "software engineer" should have been exposed at least to the concepts (not necessarily the real thing) that are found in Unix and C. Their operating systems classes should have compared tree structured directories to flat directories, and discusses pipes and other interposes communications. Their language classes should have covered the concepts found in C. My own stay at the U of Minnesota did not teach me C, but when I got around to learning C on my own, I found it did not contain any concepts that were new to me, thus making it a trivial task to learn. My experience with a real Unix was limited, (no formal classes used it, there was just a V6 system around to play with) but my classes on operating systems covered all the concepts (while only occasionally mentioning that Unix was an example of a system that had these concepts) So which is the real programmer? Since there is a need in the marketplace for both disciplines, both are real. But employers should be aware of this difference in educational disciplines, and choose employees that fall into the proper category. Also, while I maintain that there are TWO educational disciplines, there are also a diverse number of areas of expertise within each. There are also the ambitious "programmers" that go beyond their college's requirements and could qualify as "software engineers". And there are some "software engineers" that slough though their courses, not understanding why they are being taught this stuff, who should have been in the liberal arts program to begin with (but didn't understand the difference when they signed up), and end up knowing little more than the person with the liberal arts degree. This tends to blur the distiction between "programmers" and "software engineers". The classification becomes more of a scale than one-or-the-other. As always, the opinions expressed above are only my own, but I know that I am not alone in my thinking. Dan Messinger (Software Engineer) ihnp4!umn-cs!digi-g!dan