Path: utzoo!attcan!uunet!ctbilbo!ray From: ray@ctbilbo.UUCP (Ray Ward) Newsgroups: comp.software-eng Subject: Re: some advice to a software engineer Message-ID: <126@ctbilbo.UUCP> Date: 21 Sep 90 00:53:04 GMT References: Distribution: comp Lines: 65 In article , josef@nixpbe.UUCP (Moellers) writes: > In 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. > [...] > 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 > [...] > (Just a couple of thoughts by a disillusioned SW engeneer) This has also been my experience, for the most part, in companies that are organized as a military hierarchy such as "standard" corporations. And technical decisions are made, typically, by technical illiterates. Semi-literates, if you're lucky. IMHO, this comes from two causes. First, the structure of the organization is incompatible with serious intellectual work, which is what most software development is ( at least most systems software -- sometimes I have my doubts about applications software ). The nature of the task would seem to indicate an organization along the lines of a law office, for example. There should be senior partners, partners, clerks, etc., based on the skills, product revenues, client base, etc., of the individual software engineers. This organization has evolved to meet the needs of applying general laws and regulations ( read: standards and accepted practices ) to specific requirements of individual cases ( read: individual software development efforts ). It also handles the needs of developing the younger attorneys through a sort of apprenticeship. In this organization, the intellectual prowess of the individual is respected: cheap lawyers can be very expensive and good -- high-priced -- lawyers can be very profitable. A cheap programmer is about as useful as a cheap lawyer. Which brings me to the second cause. Software engineers are told what to do because software engineers are not respected as professionals. We have not organized as professionals, we have no professional certification requirements or minimum standards, we do not act like professionals ( What self-respecting doctor would meekly accept being told by a patient, "You will perform this surgery using this technique because I'm paying you"? Clear? ). We are treated like servants because we are employees or act like employees even if we are "consultants" -- with some exceptions, of course. We are unable to prevail in controversies over quality because we are economically vulnerable, as well. Again, as part of the organization, we have but a single source of income. Doctors/lawyers have many patients/clients and are financially independent of any single one of them. "Do as I say or I'll cut off all your income," is a potent threat. Granted, there are disadvantages to "certification" and the requirements of "professionalizing" our esoteric art and craft. But I would assert that they are outweighed by the advantages. Indeed, as society becomes increasingly complex and controlled by computers, there will be ever more incidents of software failures; this will cause increasing pressure for regulation and certification. We may in the end have to organize ourselves simply to maintain some control of the regulation, in self- defense. -- =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Ray Ward Email: uunet!ctbilbo!ray Voice: (214) 991-8338x226, (800) 331-7032 Fax : (214) 991-8968 =-=-=-=- There _are_ simple answers, just no _easy_ ones. -- R.R. -=-=-=-=