If you reason with science, technology and Engineering, you will understand that science deals with the study to understand whereas technology devices ways to use those theories and observable techniques, and then with the blueprint set, the engineer builds on the technologist's ideas/technology. Now to the issue at hand, Computer science obviously deals with the study of how computers operate and trying to device theories and techniques to make them faster. with the theories in place the technology can be derived and built upon. now computer scientists in their quest of studying programs- write computer instructions(Programs) and device ways of computing data; they might even build faster and modern computer hardwares which are prototypes based on their findings in research. with these arguments drawn and proven with logic, i'd say the computer scientist is a programmer and engineer of modern techniques with Information and communication Technologists(IT professionals) and Software engineers being programmers as well. Each programs to carry out their ideas.