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