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 |