From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_05,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,bdc41aa5ff8e1d93 X-Google-Attributes: gid103376,public From: ryer@harp.camb.inmet.com (Mike Ryer) Subject: Re: Programmers -> Engineers; Engineers -> Programmers Date: 1996/08/08 Message-ID: #1/1 X-Deja-AN: 173016053 sender: news@inmet.camb.inmet.com (USENET news) x-nntp-posting-host: harp.camb.inmet.com references: <1996Aug8.115630.4568@relay.nswc.navy.mil> organization: Intermetrics, Inc. newsgroups: comp.lang.ada summary: No! Date: 1996-08-08T00:00:00+00:00 List-Id: There are many first-rate programmers who have a general scientific education and the interest and quickness to learn a lot about radar -- just don't let them design your antennas. There are many first-rate electronic engineers who have the patience and flexibility to learn programming -- just don't let them code your flight control system. An electrical engineer can learn on his/her own how to program, but it takes working in a team within an established software engineering culture to really learn about maintainability, robustness, configuration management, defensive programming, realtime constraints, etc. (A succession of hard knocks will also work, though this is tough on the first few projects). A good programmer or software engineer should be able to find ambiguities and contradictions in the requirements document written by a radar designer, think of boundary conditions and unusual scenarios, design for efficiency on processing the kinds on input that actually occur in practice, etc. In other words, if they're good, they will have insight into the physics, electronics, and mechanics of the system. A successful project wants software engineers who understand the underlying science, and radar designers who understand software. At least a few of each. Maybe you'll find a superman who does quantum mechanics in his head *and* writes code that's easy for other people to understand. (I haven't). To the extent that you don't have the excellent electronic and software engineers who learn enough about each other's fields, you need communicators, reviewers, requirements testers as well as code testers (note Arianne 5 story), and a lot of extra time. So the summary is: Q: Is it better to take engineers/scientists who understand the system and teach them how to program? Or is it better to take programmers and teach them about the radar system? A: No. Mike Ryer, speaking for himself, employed by Intermetrics.