john@hp-pcd.UUCP (john) (10/07/84)
<<< Hackers document nothing Programmers document their implementation Software Engineers implement their documentation So there! John Eaton !hplabs!hp-pcd!john
moriarty@fluke.UUCP (Jeff Meyer) (10/10/84)
>> >> I am NOT an ANIMAL! I... AM... A... SOFTWARE... ENGINEER!!! >> >Oh, get off it! You're just a programmer, like everyone else >in the world. Yes, I used to think that "software engineer" was a term used in about the same way as "kitchen engineer" (i.e. "A rose by another other name..."); but now I is one.... :-) 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; they were people who worked on designing and developing software for computers during the construction of the computer (e.g. Operating Systems), as opposed to another subset who design software for already-constructed machines (e.g. application and system programmers?). But as in any real-world terminology, there is probably quite a bit of overlapping.... anyway, I was just wondering if the term had any specific job characteristics. Then again, maybe I'm just rationalizing... Look, why don't you just go back to calling me an animal... "...in an iron coffin, with spikes on the inside!" Moriarty, aka Jeff Meyer John Fluke Mfg. Co., Inc. UUCP: {cornell,decvax,ihnp4,sdcsvax,tektronix,utcsrgv}!uw-beaver \ {allegra,gatech!sb1,hplabs!lbl-csam,decwrl!sun,ssc-vax} -- !fluke!moriarty ARPA: fluke!moriarty@uw-beaver.ARPA
dan@digi-g.UUCP (Dan Messinger) (10/12/84)
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
engels@ihuxo.UUCP (SME) (10/12/84)
Illinois Institute of Technology will be offering BS/MS programs in Computer Engineering. What will these people be called? Programeers? Engigramers? Well, I guess Computer engineers would be appropriate.
moriarty@fluke.UUCP (10/17/84)
I think Dan's article pretty much summed it up, especially pointing out that there are always groups of people, due to motivation, personal history, etc., who "break the rule" -- no generality is always true (spot the irony, folks!). I would like to emphasize, tho', that NOTHING effects the programmer/software engineer status like EXPERIENCE! I know quite a few people who had very little formal education, and have equivalent (usually greater) knowledge of software subjects than the average graduate of a 4-year CS or CE program. Conversely, there seem to be quite a few people who graduate with a 4-year degree who have little interest in CS (just in the money associated with it), whose lack of motivation has rewarded them with equivalent (or less) background of a 2-year degree. Ok, shields up.... "Hurry! They're freaking out on stale Heineken!!" "I'M A FROG! I'M A FROG!" Moriarty, aka Jeff Meyer John Fluke Mfg. Co., Inc. UUCP: {cornell,decvax,ihnp4,sdcsvax,tektronix,utcsrgv}!uw-beaver \ {allegra,gatech!sb1,hplabs!lbl-csam,decwrl!sun,ssc-vax} -- !fluke!moriarty ARPA: fluke!moriarty@uw-beaver.ARPA
betsy@dartvax.UUCP (Betsy Hanes Perry) (10/18/84)
RARF! snarl snarl snarl... I don't mind Mr. Messinger's two categories, but I disagree with his assumption that liberal-arts colleges are reduced to teaching COBOL. My liberal-arts college goes to the opposite extreme: it considers COBOL and keypunches beneath notice, possibly because they're too job-oriented. (-; In any case, Dartmouth College's CS program is run by the mathematics department, offers all the classes he requires for 'software engineers', and none of the ''liberal-arts, vo-tech'' courses. (Actually, only the engineering department bothers to teach FORTRAN at all, but that's another argument.) Don't downgrade liberal-arts schools; they can provide fine technical educations, even (especially!) if they don't restrict themselves to being technical. -- Betsy Perry UUCP: {decvax|linus|cornell}!dartvax!betsy CSNET: betsy@dartmouth ARPA: betsy%dartmouth@csnet-relay
cem@intelca.UUCP (Chuck McManis) (10/20/84)
There is actually a basis for distinguishing between the two major species of programmer. The first seems to go by the name of Software Engineer, or Systems Analyst, and sometimes Computer Scientist. These are the people that design software systems, and concieve new languages or algorithims. Then there are the group of people that seem to go by the name of Programmer or Coder or Hacker. They are distinguished by an excellent implementation ability but a rather lacking design ability. So, slowly but surely I am seeing a division of the "professional" field of computer science, into the Engineers, and the Technicians. Seems to happen to most professions when the technology must be specialized in to make any advances into it. Look for even more specialized degree programs in the future, I know currently at USC you can be an Electrical Engineer, Civil Engineer, Structural Engineer, Petroleum Engineer, etc. But only a Computer Scientist if you go the software route. I suspect this will change to Software Engineer, Microcode Engineer, Package or Application Engineer, ad infinitum. --Chuck -- -- Chuck - - - D I S C L A I M E R - - - {ihnp4,fortune}!dual\ All opinions expressed herein are my {proper,idi}-> !intelca!cem own and not those of my employer, my {ucbvax,hao}!hplabs/ friends, or my avocado plant. :-} ARPAnet : "hplabs!intelca!cem"@Berkeley
steiny@scc.UUCP (Don Steiny) (10/20/84)
> Dan Messinger (Software Engineer)
I took one programming class in college which I barely
passed. My college degree is in linguistics, yet every company
I work for calls me a "software engineer". I am on the board
of directors of a company and through no doing of my own, I am
listed as "VP of Engineering." They do this because I write
complicated computer programs for the marketplace, port UNIX,
port compilers, and other highly technical things. I am self-taught.
I think that it is a marketing distinction. It is not
surprising that universities would organize their subject material
into categories that reflect the marketplace. I resist the title.
Engineers build bridges, I am an artist!!
--
scc!steiny
Don Steiny - Personetics @ (408) 425-0382
109 Torrey Pine Terr.
Santa Cruz, Calif. 95060
ihnp4!pesnta -\
fortune!idsvax -> scc!steiny
ucbvax!twg -/
dan@digi-g.UUCP (Dan Messinger) (10/23/84)
In article <> betsy@dartvax.UUCP (Betsy Hanes Perry) writes: >RARF! snarl snarl snarl... > >I don't mind Mr. Messinger's two categories, but I disagree with >his assumption that liberal-arts colleges are reduced to teaching > COBOL. My liberal-arts college goes to the opposite extreme: >it considers COBOL and keypunches beneath notice, possibly because >they're too job-oriented. (-; I apologize to Betsy and anyone else who felt insulted by my insinuation that liberal arts colleges can not provide a full CS education. I did not intend to categorically define ALL liberal arts schools as providing a lower level of CS education. I admit that there are some four year liberal arts programs that provide most, if not all, the CS technical classes. I used "liberal arts" only because I am aware of some liberal arts colleges that offer BA and AA degrees in computer programming that do fit my "programmer" model. I ask you to please use my descriptions of the type of educational program provide rather than the names I attached to them. No mater what names I attach to these catagories, there will be some school out there that uses these names, and doesn't fit my model. However, the background provided by a liberal arts education is different than that provided by an engineering education. This is only a reflection of the person's interests and areas of expertise, and not necessarily on their programming abilities. These areas of expertise are important to an employer. For this reason, I do not feel that a liberal arts CS education is equivalent to an engineering CS education. For some jobs, the liberal arts CS education may be more appropriate. And, of course, there is no substitute for real world experience. Dan Messinger ihnp4!umn-cs!digi-g!dan
walters@isosvax.UUCP (10/31/84)
You may be a craftsman, but artists deal in the arts.