[misc.jobs.misc] some advice to a software engineer

kpc00@JUTS.ccc.amdahl.com (kpc) (09/14/90)

What do you think of this as advice to a software ungulate, or to a
software engineer?

==========

Engineering is a creative act.  By that I mean that you have the power
to determine the quality of the products that you design.  You also
have the power to decide what should be designed and what should not
be designed.  Both are creative undertakings, each in its way.

To be an engineer is not to abandon the attributes that distinguish
humans from the machines that humans use.  To grind out code for the
purpose of saying "it is done" is to be a pulp novelist.  It is to be
an architect of the "functional" buildings that ultimately subvert
even their ostensible functions.

For every line of code that you write, if you cannot be proud of it,
then you are cheapened; if you can be proud of it, then you are
elevated.

Do not be led to forget this, and do not let management tell you what
to be proud of.  Expect to maintain pride in what you do and satisfy
management's needs at the same time.  If you cannot do this, then it
is management who has imposed the wrong position on you, for the
engineer with unrealistically high standards is mythical.  If you
discover that engineering is not yours to do, find another field.

And when you become a manager, do not let expedience cause you to
destroy those qualities that make your best engineers valuable to you
and good at what they do.  If your wish is to hire a machine, purchase
one, or build one instead.  When you have the fortune to hire an
engineer who is a human being, let him remain a human being.

As an engineer, you are a practitioner; to non-technologists, you also
represent technology.  In these roles, strive to automate those things
that should be automated.  Strive earnestly to prevent from being
automated those things that should not be automated.

For every program that you write, consider its efficiency and its
usefulness.  Consider its safety, its impact on privacy, and its
effect on the environment.  Consider its beauty and its technical
merit.

Consider these things and more.  Programs, like literature and like
architecture, last well beyond their instantiations.  In different
ways and to different degrees they remain forever as instances of your
creativity, of your priorities, and of your decisions.

--
If you do not receive a reply from me, please resend your mail;
occasionally this site's mail gets delayed.

Neither representing any company nor, necessarily, myself.

josef@nixpbe.UUCP (Moellers) (09/17/90)

In <KPC00.90Sep14042337@JUTS.ccc.amdahl.com> kpc00@JUTS.ccc.amdahl.com (kpc) writes:


>What do you think of this as advice to a software ungulate, or to a
>software engineer?

>==========

>Engineering is a creative act.  By that I mean that you have the power
>to determine the quality of the products that you design.  You also
>have the power to decide what should be designed and what should not
>be designed.  Both are creative undertakings, each in its way.

[Rest deleted, unfortunatly]

This is a very idealistic assumption. From my experience in the
commercial world, You are told what to design. Usually the quality of
the products is dependent on the time frame You have. If Your
"customers" (whoever that is) want it NOW, quality has to wait
(infinitely). Only a very strong person can withstand this pressure.
Even if You say to yourself: "Better late than bad", Your neigbour will
deliver junk in time and win the contract. Nobody will ever find out
what YOU might have delivered a week later. HE will state that the
repairs he'll have to make to the product are "necessary" or whatever.
Look at the stuff around and You see what I mean.

(Just a couple of thoughts by a disillusioned SW engeneer)

--
| Josef Moellers		|	c/o Nixdorf Computer AG	|
|  USA: mollers.pad@nixdorf.com	|	Abt. PXD-S14		|
| !USA: mollers.pad@nixdorf.de	|	Heinz-Nixdorf-Ring	|
| Phone: (+49) 5251 104662	|	D-4790 Paderborn	|