Hacker News new | ask | show | jobs
by brucehart 4596 days ago
I'm surprised that admission into Computer Science PhD programs is so competitive. I would think that with the strong job market for computer scientists, there would not be as many students who would want to make the commitment to a PhD program over other job and entrepreneurial opportunities.
4 comments

I am not surprised that it is competitive (PhD's in general are kind of oversupplied), but the form the competition takes:

"Maybe you didn't publish as an undergraduate.... Maybe you can't even write a very compelling research statement yet."

When I was applying, no undergraduates had published research. And the "research statement" could hardly be described as "compelling"; that was one of the points of the breadth requirements for the graduate program---my eventual research topic was completely unrelated to my interests or knowledge coming out of my undergraduate program.

It's a positive development that admission into a decent PhD program requires research experience. Some people somehow cannot make the jump from classroom exercises to production work, and you would rather that they don't get accepted, instead of having to throw them out a year later.

Besides, a research lab is a workplace after all, and some kids are completely missing the social skills that are needed in a working environment. You can't have that sort in a PhD program either.

> It's a positive development that admission into a decent PhD program requires research experience.

No, it really really isn't. The vast majority of undergraduates have no effective access to research experience, even many that are fairly inquisitive and are receiving a pretty good education. This is especially true of undergraduates who are unable to afford tuition at top institutions (and increasingly even in-state public university tuition is unaffordable for the flagship universities that would be considered "top institutions).

Requiring research experience in advance of grad school turns grad schools into an elitist echo chamber.

I have to say, I agree with this. You risk optimizing to early around a local max, not a global one. Primarily due to lack of priors. However, I will be the first to admit true research is seriously a different aptitude than acing a lecture course. Advanced degree candidates should certainly be screened somehow for the latter. But my gut is that this is just optimizing for grant extraction. Truly powerful work is always second fiddle to the "more money" hampster-wheel that is peer-reviewed academic research.
I would argue that it isn't, because it simply pushes the boundary back, and possibly making it even less appropriate.

I can't see having valid or "compelling" research experience as an undergraduate while taking a full load of classes (ok, so you have to take advanced placement courses in high school, which my school did not offer even if my school district did; I'm not sure one way or the other about that) and possibly working to support yourself (I'll leave the alternatives as an exercise to the reader).

At this point, you're filtering on many criteria that have absolutely nothing to do with successful research.

It feels like requiring 5+ years of experience in entry level positions...
Entry into elite PhD programmes is as competitive as ever. Others, not so.
...and of course Brown (where the author is) is top-twenty, in fact tied at #20 [according to US News & World Report[1]] with places like Rice. It's pretty elite.

[1] http://grad-schools.usnews.rankingsandreviews.com/best-gradu...

Wow, my school's not even on the list and our graduate program for CS/CE has less than a 13% acceptance rate.
This lists are basically meaningless. However, I wouldn't argue with the top 10 or so.
I believe someone who is not a good software engineer or even can't code at all, can still be admitted into some CS PhD program.
How about theoretical computer science? That probably doesn't need one to be a good software engineer.
Well, you really don't need to be a good engineer, but the skills required to do anything meaningful in theoretical computer science PhD program are more hardcore and rare than good SW engineers - from what I see, most of the people who can do theoretical CS are already doing it; and most engineering-oriented CS researchers couldn't/wouldn't cross to theoretical CS no matter what.
I mentioned only some subset of PhD applicants, which might not be small. So there are many other types of applicants who apply with different and various reasons.

As for your question, no, I don't think that scientists in all of the branches of CS need to be good engineers. But that is just my personal opinion.

I'm not sure how these students are filtered out at other places, but in Brown's CS department, PhD students are required to pass a "programming comp" that involves a fairly intense week-long programming project. You don't need to be a superstar coder, but you do need to be able to program effectively in order to pass.
i'm sure that's extremely rare though. maybe like 1 person per year may have no idea what coding is and get admitted to a program for CS.
It completely depends on what area you're going into. Software engineering, systems, and AI students obviously need significant coding experience. HCI and theory (ie math), not as much.
i don't think it depends what area. almost every single person in all of those fields will have done some coding before. Even if that means cs 101
Right, but what I wanted to highlight - a person might be able to code quick sort algorithm or breadth first search, but unable to get paid doing real world coding - when it is the client or employer who needs to be satisfied.

So basically when you have a choice of being unemployed vs doing PhD and getting some studentship, you obviously prefer the latter path.

And I believe there are quite many people who can "code" but unable to get paid.

If you can "code" so poorly that you're unable to get paid, I can't imagine how you'd get even close to getting into a PhD program, even if your specialization is math of finite state automata or human interface guidelines.

Coding (or being DBA or analyst, depending on your area) to the level of getting an okay salary is quite trivial compared to that - from the PhD students I've seen the 'most unemployable' ones would be so not because of their ability to code but because of social/mental issues.

It's hard for someone in anything remote to math/science without coding anything in their entire undergraduate life.

It's like you say no one can be admitted to a PhD program in US without first learning some English.

Many US students do not go into PhD, because, as you mentioned, due to the strong job market (and also a 20k/year stipend). Most of the PhD students are foreign.