Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cornell!rochester!rutgers!att!homxb!genesis!odyssey!gls From: gls@odyssey.ATT.COM (g.l.sicherman) Newsgroups: comp.software-eng Subject: software engineers Message-ID: <854@odyssey.ATT.COM> Date: 29 Apr 89 17:10:32 GMT Organization: AT&T Bell Laboratories, West Long Branch, NJ Lines: 40 > Suppose it is 5 years in the future - 1995 [sic]. You have been > promoted. You are recruiting someone to join your team of "Soft- > ware Engineers." The applicants all have a B.S. in "Software Engi- > neering." --What skills and knowledge do they all have? ... [Long > list of possibilities] Real programmers spend 90% of their time debugging. Computer science curricula ignore debugging, perhaps because it can never be reduced to a theory. But debugging skills are what I would look for *first.* (By the way, I am using "software engineer" as synonymous with "programmer." Separating design from implementation is usually a mistake; ask the DoD.) Other skills I would look for: 2. The ability to "port" software. This is an acid test for distinguishing able programmers from mere C.S. grads. 3. The ability to maintain somebody else's code. Most C.S. students have no experience in this. 4. The ability to work from specifications. This includes getting them changed when they need it, and filling gaps by making inquiries or using your own judgment. 5. The ability to write software with clean, convenient user interfaces. A good programmer can "see" his software from the user's viewpoint and write for the user's benefit. 6. The ability to write adequate user documentation. See 4. 7. Experience with a variety of languages, environments, and methods. Not that this experience will necessarily prove useful, but it shows that the programmer is versatile, and probably understands some of the underlying principles of software environments. By the same token, beware of dogmatism; a programmer with an antipathy to Pascal, COBOL, or VAX/VMS may have a stiff neck. A programmer who stops learning is technologically obsolete. -- Col. G. L. Sicherman gls@odyssey.att.COM