<p>What do people who have PhD's in comp sci do? I know that it is way way overkill just to get a programming job, masters is even often considered overkill. But do they just get jobs as professors/teachers, or is there a large research field in CS available to CS doctorates? I think it would be cool to be on the forefront of CS's advancement.</p>
<p>Likely destinations:</p>
<ul>
<li>Faculty at universities and colleges.</li>
<li>Government research labs.</li>
<li>Industrial research labs.</li>
<li>Companies where very leading edge research and development is done.</li>
</ul>
<p>People with PhDs in computer science are often over-qualified for most jobs and employers let them know it–by not hiring them. Yes, there are some who wind up working for Google or get professorships, but we’re talking about top-tier people. There just aren’t many academic jobs to go around, the supply far outweighs the demand. And CS researchers are often doing very theoretical stuff that is far removed from what most of us mortals think of when they think of CS (though there is plenty of applied research as well). Remember, CS is a branch of math, especially at the graduate/research level. A lot of them don’t even do any programming. I’d say look at some CS research groups and see what type of work they’re doing, see if that sounds interesting.</p>
<p>The thing about researchers is that unless there is a direct defense application, you are basically going to be begging for funding scraps from the NSF for the rest of your life. It’s the sad state of science in the modern world–overdependence on government funding.</p>
<p>Many of your best potential employers want you to find better ways of gettin’ things killed.</p>
<p>Don’t know why I made that tangent. Now I’m too lazy to delete it. Enjoy!</p>
<p>Random comments:</p>
<br>
<br>
<p>You don’t need to have a Ph.D. to be on the forefront of CS’s advancement (a somewhat unique characteristic of CS compared to some of the other math/science fields?)</p>
<br>
<br>
<p>What is your situation now? If an undergraduate, look into summer or internship programs at National Labs, REU programs at Universities, and internship programs at CS-oriented companies doing research-related things. This way you can see what “practicing” PhDs in CS do.</p>
<br>
<br>
<p>“YMMV” - I’m at a national lab, so pretty much by definition is only applied CS research, and those not doing programming are managing those who do. The CS faculty I deal with are in fields where this is also true, in which they are oversee graduate students or postdocs who do programming. However, the programming is a tool, for implementing ideas. The products are the ideas and the proof of principle implementations. In industry (and in the National Labs), these implementations also need to be hardened and deployed and maintained, etc., but it is not necessarily the PhDs who do this.</p>
<br>
<br>
<p>There is a place for research-trained computer scientists who are not doing “research” themselves - probably more accurate to call it engineering - finding, evaluating, and applying/implementing research ideas to address problems or opportunities. This requires being able to keep up with the research literature, as well good critical thinking skills, both of which ‘should’ be an outcome of having acquired a Ph.D, not that this is the only way.</p>
<p>Finally, if working in a large research-oriented organization, having a Ph.D. can be an important union card, especially when working with other disciplines. It is somewhat less important in CS itself.</p>