The computer scientist is concerned with the theory and practice of making computers do useful things. A computer scientist needs also to be sufficiently acquainted with various fields of endeavor, in which computers will be useful, to be able to discuss with workers in those fields the details of what the computer will be used for. Team members need to be sensitive to the views of others, and they should put serving clients' needs above their own personal preferences.
Software engineering is the field concerned with producing computer software efficiently.
In view of the increased role of the computer in every sector of activity, computer scientists with experience and training in software engineering will be in demand in the foreseeable future. The computer program draws heavily on the program of general studies to provide students with skills in writing, speaking, understanding other points of view, and ethical and service considerations. It is helpful for programmers to have some knowledge of the science and technology that underlies the computer. Interfacing computers with various devices also suggests some knowledge of technical details. Programmers who are likely to serve in technical environments also need to be familiar with the terminology and concepts used by workers in these fields.