From: gcm@fns-nc1.fns.com (Grover McCoury)
Subject: Re: Software as PE
Summary: Software Engineer
Organization: Fujitsu Network Switching
Distribution: na
Date: Thu, 7 Jan 93 16:30:05 GMT

In article <1993Jan5.222148.1164@netcom.com> lachman@netcom.com (Hans Lachman) writes:
>In <889520164DN5.61R@tanda.isis.org> marc@tanda.isis.org writes:
>>
>>  "Software Engineer" is a meaningless and misleading term.
>>  ... Software Engineer is the fashionable euphemism for Programmer ....
>
>In my opinion, a "software engineer", in addition to being a competent
>programmer, should also have the following characteristics:
>
>- understands and applies general engineering principles
>- has at least a passing knowledge of other engineering and/or
>  physical science fields, helping him/her communicate with
>  technical professionals of other backgrounds
>- knows how use a library to research a technical topic
>- understands the fundamentals of computer hardware design and
>  operating systems
>- knows well-known programming techniques not specific to one
>  language (like stuff from Knuth's books)
>- can do "systems analysis" (product requirements analysis, functional
>  analysis)
>- can write good functional specification and design specification
>  documents
>- is familiar with commonly-accepted software modeling methods
>  (e.g., data flow diagrams)
>- knows enough about the state of the art to identify, most of the
>  time, when a proposed solution is a reinvention of the wheel
>- has a level of judgement that results in good cost/benefit trade-offs
>- can write implementation notes that help future maintainers of
>  his/her code
>- can create effective test plans
>- can communicate effectively, regarding his/her software, with other
>  departments (e.g., other development teams, software test, software
>  integration, marketing, product documentation, customer support)
>
>Anyone who demonstrates the above characteristics qualifies as a software
>engineer, in my book.  (Sorry, no black-and-white, 1-or-0 tests.)

I pulled the following definition from a recent posting to the net: 

-------------------------------cut here--------------------------------
From the "Encyclopedia of Occupational Titles":

(Capitalized words within text were in italics)

Professional, Technical, and Managerial Occupations
03 Computer-related occupations
030 Occupations in systems analysis and programming

030.062-010 SOFTWARE ENGINEER (profess. & kin.)

Researches, designs, and develops computer software systems, in conjunction
with hardware product development, for medical, industrial, military, commu-
nications, aerospace, and scientific applications, applying principles and
techniques of computer science, engineering, and mathematical analysis: 
Analyzes software requirements to determine feasibility of design within time
and cost constraints. Consults with hardware engineers and other engineering
staff to evaluate interface between hardware and software, and operational 
and performance requirements of overall system. Formulates and designs software
system, using scientific analysis and MATHEMATICAL MODELS to predict and
measure outcome and consequences of design. Develops and directs software
system testing procedures, programming, and documentation. Consults with
customer concerning maintenance of software system. May coordinate installation
of software system.

Yet another $.02 worth from...

/**********************************************************************
  Grover McCoury
  @ Fujitsu Network Switching Of America, Inc.
    4403 Bland Road
    Raleigh,    NC   27609
  audio:      919-790-3111
  electronic: gcm%fns-nc1.fns.com@fai
***********************************************************************/
Newsgroups: comp.org.eff.talk