home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.org.eff.talk:8336 comp.software-eng:5221 misc.jobs.misc:8516
- Newsgroups: comp.org.eff.talk,comp.software-eng,misc.jobs.misc
- Path: sparky!uunet!gatech!emory!wupost!csus.edu!netcom.com!lachman
- From: lachman@netcom.com (Hans Lachman)
- Subject: Re: Software as PE
- Message-ID: <1993Jan5.222148.1164@netcom.com>
- Organization: Netcom
- References: <889520164DN5.61R@tanda.isis.org> <1992Dec30.125324.27900@mksol.dseg.ti.com> <522322457DN5.61R@tanda.isis.org>
- Distribution: na
- Date: Tue, 5 Jan 1993 22:21:48 GMT
- Lines: 50
-
- 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.)
-
- In article <522322457DN5.61R@tanda.isis.org> marc@tanda.isis.org writes:
- >
- > No electronic engineer has ever advertised himself as expert
- > only with the "Apex Model 5 Logic Analyser".
-
- Software engineers advertise themselves this way because the hiring
- managers typically hire this way. I would like to see the day when
- hiring managers put more weight on how good an engineer the candidate
- is, based on criteria like those in my list above, and put secondary
- weight on whether the candidate knows how to tweak bit X in operating
- system Y.
-
- Hans Lachman
- lachman@netcom.com
-