Hacker News new | ask | show | jobs
by mcgarnagle 3031 days ago
does the huge number of phd increases show a symptom of the bar being too low to receive a phd, or the number of qualified candidates actually receiving the phd? Same question for the compsci degree.

I know a ton of people who have comp sci degrees, but, cant write my mysql query or write a block of code, or solve some rudimentary problems, or talk through problem solving questions like rational human beings.

Same goes for other faculties. Hell, I once hired a finance major with a business degree who couldn't handle doing the books for our startup.

Just because they are graduates, it doesn't make them candidates

3 comments

Are you talking about CS undergrad degree holders or CS PhDs?

Some CS undergrads might have chosen CS without commensurating aptitudes and interest, and graduated without much skills. Same goes for other majors at the undergrad level. They are a mixed bag with great and inadequate graduates receiving the same degree.

Also, did you look at their undergrad performance (GPA, research papers, senior project)? They can be more indicative than the degree itself.

PhDs are a whole different ball game. At least they are usually good at problem solving. They might not know SQL off-hand (since they never needed to learn it) but give them a day or a couple of hours to learn, they should be able the master the basics pretty well.

The usual view of academics is that the Ph.D. is a research degree. One of the requirements is the ability to hold chalk and write on a blackboard. The other three qualifications are research, research, and research, especially as in getting a research grant from the NSF, etc. to pay the bills.

For doing research, skills writing MySQL queries, using MathLab, writing JavaScript with AJAX, etc. are rarely important. Uh, can't publish a paper in a peer-reviewed journal or get a research grant based on writing MySQL queries, even clever MySQL queries. Relational database WAS important as research for, say, E. Wong or E. Codd 30+ years ago.

Researchers quickly learn that they can't carry the library around between their ears. In particular, a Ph.D. holder in computer science, mathematics, physics, biology doesn't know everything in computer science, ....

Instead, the requirement for a Ph.D. is roughly (A) pass the qualifying exams and (B) show that can do some research. For (A), that might still be testing over quite a lot of material that was taught to undergraduate majors. For (B), a common requirement is "an original contribution to knowledge worthy of publication" where the usual requirements for publication are "new, correct, and significant".

Now a major theme in research in computer science is to build on, or even borrow and extend, sometimes even to apply, applied math that goes back nearly 70 years. So, as is common in a lot of research, the main tools and abilities are in applied math and, then, as has been said for theoretical physics, can do the physics (computer science) in the footnotes.

Net, it stands to be the case that some of the best researchers in computer science will be from pure/applied math and may never have written a SQL query or, for that matter, never taken a course in computer science.

How can this be the case? Did I mention that the main goals are research, research, and research? The high end universities are fairly solidly stuck on these three goals.

So, why should such researchers be teaching courses to undergraduates? Well, maybe they would be teaching some course "Applied Math for Computer Science 101" with some set theory, abstract algebra, deterministic optimization, probability theory, stochastic processes, and statistics.

More generally, the attitude is that a good researcher has done some impressive things, and, thus, the quality of the course content should be better than from "teaching faculty". In fact, commonly that is the case.

Or, the emphasis is not on tutorials on material 30+ years old, e.g., relational database, but on what is new, in theory and/or applications. And, computer science also wants to find what is fundamental in the field -- a darned ill defined goal super tough to reach. Well, the question of P versus NP looks "fundamental" so, whatever connection it has with practice so far, it has been heavily pursued, and a good solution is a Holy Grail problem for the field.

The belief is strong, although maybe rarely made clear in ugrad courses, that it is in the best interest of the grant funders, universities, professors, students, job seekers, computer applications, the computer industry, US standard of living, and civilization to concentrate on what is NEW, powerful, and valuable.

An example of this view is from a statement, at one time at the Web site of the Princeton math department: IIRC, "Students are expected to prepare for the qualifying exams on their own. No courses are given for preparation for the exams. Graduate courses are introductions to research given by experts in their fields." -- IIRC, from memory. Well, bluntly, as a special case, essentially everything a student might want to learn for an ordinary job NOW the graduate program is not interested in teaching!!!

So, really, if want to hire a Ph.D., then should not use as criteria what ugrad or self-taught computer programmers have learned and use, e.g., HTML, CSS, JavaScript, C++, Matlab, R, etc. And don't look at courses, credits, or grades. Grades? Commonly grades in graduate courses, those introductions to research, don't mean much. Indeed, at some Ph.D. programs, there is no coursework requirement. In such a course, a student is looking for a research direction. So, maybe in the course they see a research direction they like and maybe, likely, not. So be it.

So, instead, to evaluate a Ph.D. look at their research.

And why hire a Ph.D.? Because you want work that is NEW, as in so far no one has done it, and hopefully powerful and valuable for some goal the company has.

And why a Ph.D. for work that is new? Well, doing research is commonly just darned challenging, and essentially the only education for that is the Ph.D. degree. And, to be more clear, such research likely doesn't have much to do with lots of facility in writing SQL queries or teaching or even just making an A in an ugrad course in database.

To be more clear, it is assumed that if some good research has been done and is well written about on the shelves of the research libraries, then anyone at all good at research will be able, routinely, to teach themselves the material so quickly it never was clear they didn't know it. Indeed, in research, commonly it is necessary to review, and learn well enough, quite a lot of old material. So, bluntly, the learning of what is well presented on the shelves of the libraries is considered routine, not worth academic tenure or even a title of professor.

So, e.g., for MySQL and relational database, that subject has been written about voluminously at essentially every possible level from a secretary just starting with a computer using Microsoft's Access to generate a mailing list to the normal forms, locking and transactional ingtegrity, foreign keys, clustered keys, connection pools, backup of a live database, distributed database, and much more. No tenure or professor honors for knowing that stuff.

Precisely. The PhDs direct the research. They solve the (previously) unsolvable. If you want a deployable version of their research, you want a software developer, possibly specializing in research. If you want some python written, hire a regular software developer. A PhD is an entirely separate career path from a regular software developer.
That's a wall of text if I've ever seen one
Computer Science isn’t necessarily about writing code.