From: dennisp@Newbridge.COM (Dennis Peters)
Subject: Re: What is Software Engineering
Reply-To: dennisp@Newbridge.COM
Organization: Newbridge Networks Corporation
Date: Wed, 12 Aug 1992 14:59:58 GMT

In article 15323@riacs.edu, lehman@george.arc.nasa.gov (John Lehman -- GDP) writes:
> . . .  
> Maybe instead of saying "I am a software engineer" 
> one could say "I design computer programs" and
> then everyone (inside the field and also in the
> world at large) would know what s/he was talking
> about.  (Also, would be more easily able to verify
> whether the statement is true.)
> 

By a similar logic should we ask that a Civil Engineer, when asked what s/he
does for a living reply: "I design roads/bridges/sewer systems"?  I think that
the term 'Software Engineer' is no more improper than 'Civil Engineer'.

[ order altered to support my point ]
> . . . 
>
> "Software Staff Person" or "Software Staff"
>
> which would cover an occupation including
> writing purchase requests for software license
> renewals, occasional debugging or consulting,
> technical writing, occasional (or rare) 
> programming (in C, Fortran, sed, shell, make, 
> etc.), going to administrative meetings,
> occasionally installing, reviewing, or
> testing software; occasionally engineering 
> part of a software system; or, doing computer
> system administration tasks; etc.  The term 
> "programmer" doesn't really fit such an 
> occupation, particularly as the person
> may not have much time to program or may
> not receive any programming assignments.
>
>
> As for what "software engineering" is:
>
> "Software Engineering" could mean: 
>
> writing requirements and supervising programmers,
> testers, and procurement; (this person is partly
> a "supervisor" of people, and/or partly a "project
> manager" using project management skills which,
> in the main, aren't particular to software);
>

Ask any practicing engineer (that is a _real_ engineer: Civil, Mechanical, Electrical
etc. ) what percentage of his/her time s/he spends actually designing whatever it is
that they design.  I think that you'll find that typically it amounts to far less
than 50%.  So the expresion 'I design X' is not a complete description of the job.
The job of engineering involves a lot of administration, evaluation, documentation
etc.

As for the programming part:  It is acceptable (_real_) engineering practice to
construct, or have constructed, a prototype of whatever it is that the engineer is
designing.  The reason that (in SE) the designer typically actually builds the
prototype is that we have not yet found a concise method to communicate our design
to programmers (where _real_ engineers can draw plans and pass them out to 'the
shop' for construction).

Unfortunately, in the case of software the step from prototype to 
production is trivial so we don't _have_ to go back and update our design and we
often just pass off our re-worked prototype as _the_ product.

> . . .  
>  
> 
> After all the above, I must now admit, in the general 
> interest of truth, that I myself could barely be called 
> either a designer of computer programs or (as the term
> is generally used at "A" above) a "software engineer", 
> as I only do those things part of the time, very seldom 
> have managed multi-person projects, and am less experienced 
> than several others who write to this newsgroup.

As I've said, engineering, as a profession, involves a great deal more than 
designing.  Also, there is no requirement to be the _most_ experienced in a field
to call yourself an engineer.
 
> . . . 
>
> lehman@ames.arc.nasa.gov
---
Dennis Peters                  | dennisp@newbridge.com  | 
Newbridge Networks Corporation | Phone: (613) 591-3600  |
Kanata, Ontario, Canada.       | FAX:   (613) 591-3680  |

Newsgroups: comp.software-eng