The two cultures in computing

In 1956 the distinguished British scientist, novelist, essayist, and statesman C. P. Snow published a three-page observation titled “The Two Cultures” [Snow 1956], describing the distressing lack of communication between two of society's most gifted groups: scientific and literary intellectuals. This brief essay stimulated considerable comment, which led Snow to publish subsequent discussions of the same general theme [Snow 1959; Snow 1963].The computing industry was barely established in 1956; in the ensuing thirty years it has become a major force in society. It has, in fact, generated many commentaries on the unique nature of the professionals engaged in its many dimensions. Specialties within computing today are as diverse as those in the medical profession.Despite the many varieties of concentration within computing, two are most commonly represented in academic curricula (and in the ranks of practitioners as well): computer scientists and information systems specialists. Whether these professionals are designated systems programmers and systems analysts or software engineers and applications programmers, there is a significant distinction between their backgrounds, outlooks, and temperaments. In some instances the separation between these two groups is minimal; in others, it is considerable, and perhaps growing. There is justification (with apologies to the late Lord Snow (1905-1980) for adopting and somewhat modifying his model) for suggesting that two cultures exist even within the circumscribed arena of computing, and that the differing orientations of these two groups cause real problems for the larger profession.The establishment of a profession requires, among other things, the acceptance of a common body of knowledge. This exists, although in fledgling fashion, in computer science (CS) today. The Computing Sciences Accreditation Board (CSAB) is in place, and as of June 1987 had accredited 48 university curricula in the U.S. Draft standards for the accreditation of information systems (IS) curricula have been developed. Leading professional societies, including ACM, DPMA, and the IEEE Computer Society, have participated in the recommendation of criteria for academic programs in one or both of these areas. CS emphasis is placed upon theoretical and mathematical foundations of computing, while IS concentration focuses on pragmatic applications and business uses of computers. Each of these sub-disciplines has little use for the other. Computer scientists denigrate the inelegant nature of the typical COBOL or spreadsheet business application, while information systems specialists decry the inability of the computer scientist to communicate effective1y with users. The polarization between these two groups varies, but each typically views the other with suspicion and distrust.This paper discusses the differing characteristics of these two groups, highlights the research which has identified these traits, and proposes a model for reintegration of their concerns under the heading of software engineering. C. P. Snow's work elaborating on his initial description of the Two Cultures is used as a framework for the discussion. The paper concludes with guidelines for the management of these two groups of professionals.