Computer Scientists:

Visualization of the various routes through a ...

Image via Wikipedia

Computer science deals with the theoretical foundations of information, computation, and with practical techniques for their implementation and application. This is not the same as writing code, any more than rendering first aid routinely will make you a surgeon. Hiring a computer scientist would be major overkill for a pure programming task.

Pure computer science is very research oriented and may not even have commercial applications. Computer science is more theoretical and requires more problem solving. A computer scientist may not learn all the programming languages out there, but instead how to prove equations and make algorithms more efficient. They may learn various data structures and how to set various problems into mathematical equations.

Computer science, in fact, does not require computers. It is the theory involving the processing and handling of data in different ways. This includes algorithm analysis, computational sciences, data structures, parallel computing, artificial intelligence, and so on.


Image via Wikipedia

Software Engineers:

software engineer is an engineer who applies the principles of software engineering to the design, development, testing, and evaluation of the software and systems that make computers or anything containing software, such as computer chips, work. They are well versed with programming languages and software design.  A software engineer may frequently be the “code implementor” or computer programmer as well as the designer. In a sense, computer programmers do the brute work. This sounds crude but they are the ones who implement a given task. A pure programmer does not study algorithms but the available methods and practices to develop and maintain software.