Hacker News new | past | comments | ask | show | jobs | submit login
Applying to PhD Programs in Computer Science (2014) [pdf] (cmu.edu)
179 points by prospector1065 on May 13, 2020 | hide | past | favorite | 101 comments



For anybody interested in the computer science PhD process, a good complement to the featured article is Philip Guo's "The PhD Grind" [1]. It's a long (115p, but with big text) blow-by-blow account of the author's PhD at Stanford in the late 00s. It's neither sensationalized nor sanitized, and it's weirdly engrossing for an account of PhD research. I read it before starting grad school and I think it helped my "meta" PhD skills a lot.

[1] http://pgbovine.net/PhD-memoir/pguo-PhD-grind.pdf


Thanks for the recommendation. I'm currently doing a PhD and spent a few years in the corporate world.

I've only read a fifth of it (the downfall) and I feel like some of his not so good experiences could actually be easily avoided by anyone with some work experience. Im already accustomed to knowing that half of the time the leader/professor might not actually know what he's doing or get you to do something that's obviously not gonna work because what the hell why not. Usually I just do enough to keep him happy but not get too emotionally invested, like I don't intentionally muck it but I don't get so committed that I feel depressed.

I'm almost done with my first year and I was pretty much aware that I wouldn't be able to do any decent research so I just tried to get as much of my coursework out of the way as possible


+1, no one has any idea what they're really doing. This lets people suggest random projects, if you keep prodding them. As your username suggests: "it's a trap!"


I just read the first half of it, and want to ditto how engrossing of a read it is.

I followed the path in his prologue: a BS/MS student with a lot of internships, which were mostly uninspiring but less uninspiring than school. Always vaguely disappointed that problems weren't "big" or "intellectual" enough (something I kind of look back on in shame). However, I took a different turn by getting very "in" to the engineering part of software in my last two years.

This led me to being purposefully selective with my last internship and eventual job search (optimizing for hard problems, interesting business models, and OSS/mature infrastructure), and I ended up very happily in industry, satisfying my intellectual curiosity at work and on the side.

And yet, I have always wondered what it would have been like to be a PhD student instead. From this narrative, it sounds very similar to being a junior engineer: you don't really know what's going on, and you're dependent on the graciousness and good will of more senior people to point you in the right direction, until you can build a compass of your own.

Thank you very much for this link, it's like gazing into another branch of the universe for me.


Man, I just read through the memoir (it's a pretty engrossing read) and it's a ride. I really want a sequel though. Why/how did he end up back in academia? What do the other parties, e.g. Dawson, Margo, etc. think of these recollections? How far has he shifted his research? How different is it now that data science is such a pronounced field? I definitely feel like his tools anticipated stuff like Docker and data science tooling. Maybe he would have had better success in industry with these ideas.


Not quite a sequel, but he recently gave more details on the post-phd transition here: http://pgbovine.net/one-weird-year.htm.


Interesting that he doesn't seem to debate or reconcile how painful he found working on his PhD, with his decision to rejoin academia. He makes the persuasive point that he doesn't have the freedom to pursue long-term research in the industry, but he documented all the trade-offs inherent in that freedom in 'The PhD Grind'.

Is it just that he's on the other side of the advisor-student power-balance? Or that he has the experience and skills to negotiate them better?


IIRC, one reason his PhD was so hard is he spent a bunch of time working in a grind-it-out field (automated bug-finding) with an advisor who was sort of an outsider in the field. That's a recipe for a ton of hours spent on the wrong stuff with little agency. He only pivoted toward his current focus on HCI, learning, visualization, etc incidentally near the end of his PhD.

Since he's now familiar with and known in his chosen area, he may honestly be able to say to his students "I can help you do meaningful and rewarding research".

(Of course, I dunno what the actual story is.)


That seems right, the advisor/subject-matter/interest mismatch seems to be at the core of a lot of his struggle.


I kinda viewed it as a "the grass is grayer on the other side". Like he tried the other side, realized it wasn't that great either and went back.


I read his book as well! It's an amazing book. It helped me to come to terms with whether I wanted to do a PhD or not. The result: maybe later in life, but not now. The risks are way greater than I expected.


Well what's interesting is that in the end he did become a prof, so perhaps it should be updated


> Some people never do research again after completing a Ph.D. For such people, the Ph.D. was largely a waste of time.

Is it? Some of my friends went on to start successful companies after getting their PhDs. I'm a bit envious of them actually, I didn't have that option as my research was on an obscure topic with zero commercial potential.

> The Ph.D. is a tremendous opportunity. You get to pick an advisor in any research area you like and then you get to do research in that area, receive mentoring, think deeply on problems, publish papers, become famous, while paying zero tuition for 6 years and receiving a salary.

Yes it is a great opportunity, but considering how universities benefit massively from the work generated by their PhD students they're grossly underpaid (at least in STEM).

Overall this seems like good practical advice, but it's firmly written from the perspective of a true believer in the PhD system (and academia in general). My take is a bit different, I really think academia is broken in some fundamental ways.


> Some people never do research again after completing a Ph.D. For such people, the Ph.D. was largely a waste of time

I'm in this camp (haven't published since I graduated and joined industry), and I also strongly disagree with this statement. The value of the PhD is how it changes the way you think, how you break down big fuzzy problems, and how it helps you navigate the literature when you need help, and how it helps you know where to look and who to ask.

I've worked on much harder problems than my PhD, but none have felt as hard as the PhD, because of the PhD.


The problem is the definition of "research". If you call it "publication", then yes, it seems like a waste.

If you call it "development of new widgets after principled approaches consistent with or beyond the state of the art", it starts to feel like a Ph.D can be training to do really great work in industry.


Very much this. I have spent a considerable post-PhD period developing "new widgets" as you put it, and I constantly feel the benefit of (a) the early training of my PhD and (b) the benefit of commercial work done in the framework of "(a)". That seems a bit obscure, but think of it as this analogy:

Person A never does any serious training in a sport, and then goes on to spend 10 years playing "hit and giggle" tennis (say). They probably get a bit better.

Person B spends several years in their youth doing tennis lessons at a high level. They then never take another tennis lesson, ever, but they spend the same 10 years as person A playing recreational tennis, using the skills they have built in their youth as a framework.

I feel that a lot of the stuff I've done recently builds more on the work I did as a commercial researcher (2006-2017, particularly) than it does on my PhD work, but I also think that the 2006-2017 work greatly benefited from my PhD.


I have one anecdata point, kind of. It's not PhD level but master versus the non-academic route.

TL;DR: my friend is more practical (e.g. better at bandaid solutions). I am more integrated with theory and practice (e.g. diagnosing issues from sillicon to high level). When things are simple, he is faster. When things are harder, I am the only one who can solve it.

===== THE WHOLE STORY ======

I simply did a bachelor + master in CS (security + web/mobile). My friend is a semi self-taught web developer and (soon to be) pentester.

Friend in Web:

When he became serious about web development, he went to a coding bootcamp. When I started teaching web, he had 1 year of company experience.

Me in Web:

I had some hobby experience with web, but because I had CS fundamentals and a good teaching style, I was hired to start teaching his course.

Result:

My friend was more practical than me. He came with more bandaid-style solutions which were sometimes warranted (time-constraints) and sometimes they weren't. For me, it helped me to bridge theory and practice.

Alrighty, round 2: pentesting.

Friend in Pentesting:

It took him a year (!) to get his bearings and find a curriculum he wanted to learn. In this year he learned a lot about pentesting which is how he could verify that he found "the magic bullet" of curriculums. By the way the "magic bullet" for entry level pentesters is: go to hackthebox.eu and if you want to get certified (i.e. recruiters will notice you), do OSCP. He did a lot of different stuff before he got to this conclusion (honorable mention: VHL - Virtual Hacking Labs).

Me in Pentesting:

My friend invited me to join him on hackthebox.eu because he knew I did courses in web + network security, binary & malware analysis and hardware security. I go in and slay the boxes together with him. The key difference: he is fast, I am slow but I am capable of hacking the most difficult levels (which they call insane boxes).

Result:

We teach each other a bit of what we know. He helped me get faster with easy boxes. I helped him to (almost) hack insane boxes. In doing so, I taught him x64 assembly and some C.


Surely this is a question where many opinions will be biased.

If you did a phd and stayed in academia then you are likely to feel that having people do phds and leave academia is a waste of resources (maybe this is wrong and phd students are so cheap that they are net contributors).

If you did a phd and left academia then you are perhaps likely to feel that your phd bestowed benefits to you outside of academia and that those benefits ought to be afforded to people in later generations.

I suppose if one doesn’t have a phd then one might have either opinion, or some other opinion eg that phds are entirely a waste of public money.


>> Some people never do research again after completing a Ph.D. For such people, the Ph.D. was largely a waste of time.

> Is it? Some of my friends went on to start successful companies after getting their PhDs. I'm a bit envious of them actually, I didn't have that option as my research was on an obscure topic with zero commercial potential.

There's also plenty of industry positions that benefit from you having a PhD. Certain fields can basically require them, like Chemistry. In CS, you might be able to get a lot of them without one, but the PhD lets you get paid to develop your skill set in niche areas.


> Is it? Some of my friends went on to start successful companies after getting their PhDs. I'm a bit envious of them actually, I didn't have that option as my research was on an obscure topic with zero commercial potential.

Agreed, a PhD is absolutely not useless in this industry, even if you don't end up in the research community. Understanding where the research frontiers of various fields are and being able to quickly find / digest relevant technical papers feels like a superpower. The gap between an undergrad education and a research frontier is enormous, and only working on a PhD really gives you the time and incentive to cross it. Having done it once, it gets easier to do it again.

For me, it has turned a huge volume of "unknown unknowns" into "known unknowns" and equipped me with the tools to then convert those into "knowns". Without it I'd be a fine coder, sure. With it I can work on a different tier of projects, and direct my career much better.

The costs are very real, though. Giving up ~6 years of early career earnings in a high-paying industry is utterly insane; you will never, ever make it up short of your startup lottery ticket number coming up. It's a meat grinder for mental health. Dozens of things outside of your control can go wrong and torpedo your aspirations. It is the right choice only for a vanishingly small minority.


> Some people never do research again after completing a Ph.D. For such people, the Ph.D. was largely a waste of time.

This statement reflects the writers' large ego, not reality. It's a shame how this point of view is prominent in the scientific community. I've seen similar rude statements from academic scientists who say that working in R&D at a corporation isn't "real science".


I think the intention was referring to people who do no further research, whether academic or private (e.g. repetitive work with significant exploration involved). The last paragraph of section 2.6 is about doing research work in private companies, no?

I agree with the author that there is little value in doing a PhD if you don't intend to keep doing some form of research afterwards. There are alternative programs or work that would be much more applicable.


6 years of a grad student salary is a big financial sacrifice compared to 6 years of a software industry salary, even at non-Silicon-Valley salary levels.

The opportunity cost of a PhD can be pretty high. In CS you could theoretically make back a lot of that money with a higher salary after graduation if you then enter industry, but the gap in lifetime earnings up until that point is huge.


Eh, not everything has to measured by how much money you accumulated.


That's not the point.

Let's say you spend 6 years in grad school on a stipend of $35k per year. You think you are being paid to get a PhD, but that's just because you are ignoring opportunity cost.

If you took your talents to industry instead, let's estimate an entry-level salary. I will intentionally make it lower than average. Let's say $100k per year, which is on the low end in Silicon Valley for an entry-level engineer, and let's also make the ridiculous assumption that such an engineer would not get a raise for the entire 6-year period.

After 6 years, the hypothetical grad student was paid $210k total, and the hypothetical entry-level engineer was paid $600k total. The PhD cost $600k - $210k = $390k. Would you pay $390k for a PhD?


>Would you pay $390k for a PhD?

Yes, of course, even if you increased it to $800k.

Several thousand brilliant people make this decision every year. Think of it as paying $390k to buy 5-6 years of time, and it starts to sound very different.

5-6 years of time at the prime of your life where your basic needs are taken care of without any enforceable expectations from you.

You can go sit in any of the hundreds of interesting things being taught around you. You can pursue hobbies, go camping in the middle of the week.

If you are lucky, you get to work on interesting bleeding edge projects which may or may not make business sense. For this you get nearly any resource you ask for. Labs in good universities are rather well funded. Supercomputer time to run a random program, easy! Also, most companies are happy to hand out huge amounts of cloud credit, reference hardware.

Compared to making 390k, are you surprised that at least some people would make this decision? Also, 35K per year + well paid internships (~40$k for a summer) is a rather comfortable amount of money for a 25 year old person in most situations.


And you get a high salary, post PhD only if you are in some hot field. I got one the earliest PhD's in neural networks - but this was in 1992, long before the world discovered machine learning. It took a while for my salary to catch up, although I can't complain, the last decade has been good.


I think the value of the whole booklet is "here's what we think about our PhD program," not necessarily "what place do PhDs really have in society?"

They could be wrong about the latter, but if they believe it strongly at CMU, it's good (especially for students who might go there) that they say so.


I don't do any academic research, but I do a LOT of science for my job. My PhD definitely provided me with skills and knowledge I could not have easily aquired in the workplace. I'm working on an almost-FAANG doing distributed systems maintenance and design.


What isn't often discussed is how hard it is to go from a no name school that isn't ranked highly to an elite school. At a non-elite school your recommenders may be unknown to the admissions committee, the 'level' of education these applicants receive can be questionable ("What does an A mean from this program and how does it compare to our class?"), their research experience could be weak, student visibility could be weak (i.e. their recommender isn't known in the field, and their student didn't do any sort of research that made professors at our school aware of them in advance), the courses they take may be weak compared to other applicants (i.e. their program doesn't offer as many advanced courses, compared to other programs) and so on. There can be tremendous risk in taking students from unknown schools or non-elite schools. It's much easier to accept graduate students from a similar elite school, with well-known recommenders, and a history of successful applicants from that came from that school that did well in said program. It isn't impossible, but it is an extra step these applicants have to overcome.


I was in this situation, decades ago, and indeed was turned down by CMU. At least back then, CMU like some other elite schools had no MSCS, making it even harder to make the grade coming from Podunk U.

My strategy, which worked out okay, was to "bracket" the field by choosing a couple of schools that looked solid and had very large MS class sizes and to just view my "elite" apps as lottery tickets unlikely to pay off (which they didn't).

Beyond that, and especially today, I'd look seriously at targeting specific future advisors at the schools in question, and worrying far less about the school's reputation. An excellent advisor at Mississippi State will do you far more good than a crappy one at Stanford. And will probably cost a lot less.


I think this is bad advice for most people. "An excellent advisor at Mississippi State will do you far more good than a crappy one at Stanford. And will probably cost a lot less."

I applied to 6 schools - doing the "bracketing" thing (CMU+UCB as "reach" schools, Wisconsin-Madison & Washington as "mid" schools and Columbia and U Colorado Boulder as safety schools). I got into everywhere but UCB and Washington, but CMU was my first choice so I was super-happy.

The thing was - there were specific people at Boulder and Columbia that I thought I wanted to work with, but I checked a couple years later out of curiosity, and they'd moved on (around the time I would have been doing a thesis proposal). My first adviser at CMU also went to industry after a couple years and I had to switch advisors and fields, but had a number of excellent choices - as top-tier schools are packed with really good people.

So if your interests shift, or you are forced to have an advisor change, or you wind up working in an area with some adjacencies to your original area (say you start as a networks person but wind up doing a half-networks, half-operating system PhD) you will find good advisors and coadvisors aplenty at a good school.

At an "OK" school there are usually some really good people but they may have zero good people in whole subfields, and you might find that that good academic has left before you start your PhD proper...


All worth considering, yes. I don't envy anyone having to plan a strategy on this.


easiest way to jump tiers is networking i.e. person to person conversations with PIs. if you're able to represent yourself well and describe your own research articulately and authoritatively it'll make up for a great deal of the gap between you and students from "elite" schools. unfortunately this networking happens at conferences which less resource-rich schools can't afford to send undergrads to.

my hack: when you're traveling to a city with a brand name school you might be interested in attending, shoot some professors an email asking to drop by and chat about their research. they will usually tell you to come by during their office hours. this has worked for me no less than 3 times and led to 2 admissions.

if you're an undergrad and you've never sold/pitched yourself to someone i strongly suggest you read some salesy stuff about how to approach a sales meeting. you have to keep in mind that PIs are kind of like CEOs of small startups - they do research, publish papers, and win grants. That's their business cycle. when they're evaluating new students they're trying to determine how effectively you'll fit into that cycle. that means if you've done all 3 of those things you're in a good position to be hired (and it is out and out hiring) but if you lack experience in one area (e.g. writing grants) you can make up for it by being strong in another (or giving the impression that you will be). ultimately you need to speak to their needs and goals rather than your own.


This comment is extremely helpful to me right now and I'm sure may be to many others as well. Thanks for writing it. If I may, how did you prep for those chats? What did you .. say when you got there? Read some of their papers and bring followups to their conclusions?

For anyone else reading, I want to echo the sentiment here 100x. I'm currently working closely on a research project with a CS prof who is one of the most senior/accomplished at a top-4 (by the ranking in the original pdf, but this is widely agreed upon) CS school due to networking my way in. Though this took way more initial effort than a chat, they had a substantially involved form they used for vetting inbound inquiries.


>If I may, how did you prep for those chats? What did you .. say when you got there? Read some of their papers and bring followups to their conclusions?

like I said the way to approach this is to try to identify with the person you're pitching to and address their needs/goals.

The most obvious thing is to familiarize yourself with their research because they have research goals. But honestly you don't need to go overboard on this - no one that's not their student yet would be expected to know the research in depth. Pick 3 of their most recent papers, read the abstracts and conclusions and come up with vaguely interesting questions. Again they don't need to be deep they just need to be better than "what learning rate did you use" and more sophisticated than "why did you pick Adam over rmsprop". Obviously extra points if have your own perspective on something (even if it's not earth shatteringly novel). For example my new group works on distributed ML and on my first call I said that I'd always wondered about distributed inference (ie one test sample forward pass distributed across multiple nodes). I didn't have an answer or solution to the problem but it was something they hadn't considered.

The better thing though to discuss is new potential funding directions that you would enable them to avail themselves of. Figuring this out is admittedly tough if you're an undergrad because you don't know what you're good enough at that you could get funding. Again for example in my case I have some computer vision experience and so now my group can plausibly apply for grants at the intersection of distributed systems and CV. I didn't quite discover this intentionally but early conversations broached it organically and I recognized the opportunity to include it in my "pitch".

But even if you don't have some kind of skills alignment like that, the most important thing to stress is that you can independently start and complete projects and you can write/present academic work. That means you can speak in jargon, you know how to display results (plots, comparisons benchmarks, etc), and most importantly you can concisely explain what you've done. I had an unpublished lit review that I sent over as a writing sample.

This is getting a little long so I'll just say something everyone should always keep in mind: you're trying to build a rapport with a person. No matter how smart, successful, elite they are in their area they're not robots they're fleshly people first. Being friendly and funny and getting to know them outside of their research helps immensely (during the meeting not before - that's creepy!)

edit: sorry also another thing you can do is prep by speaking with a grad student and asking them good questions about the research, group, goals, PI, etc. this'll get you comfortable speaking in terms that the PI is certain to relate to.


This is very helpful! Thanks for taking the time to reply. "The better thing though to discuss is new potential funding directions that you would enable them to avail themselves of." This is something I haven't considered before and will be mindful of now.

"No matter how smart, successful, elite they are in their area they're not robots they're fleshly people first." Hah, +1. I actually wasn't aware of my current group's "status" until well after my initial contact. I just thought our research interests matched perfectly and I was excited to learn about what they were doing. Enthusiasm goes a long way.


how does an undergrad know about this? such as funding potential or even being able to read a leading research paper and have substantial comments?


> this has worked for me no less than 3 times and led to 2 admissions.

I did this when pursuing undergrad research - I didn’t think this would help in grad school admissions. Was this during undergrad or after?


Grad. In undergrad I had less than zero clue.


I second this from my own experience (in physics, undergrad from a state university). I met my grad school advisor at a conference, and would definitely not have been able to get without their support.


I was a physics undergrad too. At the time I thought getting into a top school was about being a genius. Now that I'm at a top school (for CS) that I got into through networking I wish someone had told me back then because I might've not given up on physics. It's almost criminal that undergrads are fed stories about needing first author papers in top tier journals and 4.0s and 990s on subject gres to get into these places.


I agree, mostly. A possible route is to do a Master's at a mid-tier school, making sure to do research that results in a publication. That turns you into a very strong candidate and a mid-tier Master's program is easier to get into. And you might decide to stay at that school for a PhD!


This is exactly what happened for me. I started an MSCS at a decent state school, took an elective course in cryptography and crushed it, and the professor basically propositioned me to switch to a PhD and fast-tracked my application. Nothing else on my weird-ass mid-career resume mattered, because I took his course and he had all the evidence he needed.


Yeah I agree. I generally think of each professor as running their own little mafia with their own territory. The top tier professors all know each other and hang out at conferences. At a certain level, there's phone calls instead of letters of recommendation.


I came to this conclusion junior/senior year when I was thinking of focusing on applying to grad schools. 2nd author papers and a 3.92 probably aren’t enough these days - honestly just kind of depressing to see my undergrad shut out these opportunities after hearing people say “it’s grad school that matters!” for four years.


My feelings are a little different. If you feel like doing a PhD and enjoy doing research, you should do it. A PhD above all should be fun, and is thus not a waste. It's only a waste if it's not fun.

There will be extended periods of intense struggle, and those parts are not that fun. One has to accept those. But, doing cutting edge research with experts is an incredible opportunity and I'd encourage those interested to take the plunge. If it doesn't work out, why not take the MA and run?


It should be fun, but it's not clear for how much people it is fun and not merely Stockholm syndrome.

It feels like in many ways academia has it worse than the corporate world (lower pay, similar or more politics, more personal fiefdoms, greater chance of harassment / coercion), yet people propagate the image of a certain unfairly romanticized wonderland.


Agreed. As you noted, you don’t have much to lose by giving it a try, and you can always drop out and get the MS (like I did).


Not much to lose... except four to six years of your life. If you think of your working life, which has maybe 45 years, four to six years is a fairly major cost.

That's a fairly high cost even if it's fun. It still may be worth doing, and the fun may tip the scales, but... "don't have much to lose" is I think inaccurate.


I'm curious, how does it work in the US?

In Europe, you first study 3 years to get a bachelor's degree, then 2 more years for a master's degree (or an engineer degree), then you apply for a PhD which is supposed to last 3 years.

In natural sciences they do last 3 years in general, in human sciences they are usually quite longer.


This varies within Europe as well, for example in Hungary our bachelor was 3.5 years, the master 2, and the PhD 4.


You misunderstood: I was referring to trying out a PhD for those curious about it. Worst case, you spend ~2 years and get out with a MS degree.


> Worst case, you spend ~2 years and get out with a MS degree.

I wouldn't bet on that and it's rarely that clean. I think a very common story with PhDs is:

1) after a year or so you have huge doubts you're going to finish

2) you consider quitting but don't want it to look bad on your resume, you don't want to be seen as a quitter, you don't want to let people down, you don't want the money you've spent so far to be for nothing, you know if you give up now you'll never be able to try again etc.

3) you hope it'll get better and push on.

This problem then compounds itself year after year as 2 becomes a increasingly weightier issue and sunk cost fallacy takes over.


That's not so bad, especially when you're 22. But I'm 58 now, and even two years still seems like a long time to me, perhaps because I don't have that many two-year intervals left...


True, that makes the decision a bit more difficult. But if you’re truly interested in getting into the world of academic research, I still think it’s worth a shot.


That's a weird way to look at it. It's not like you're dead for 4-6 years... The start of your PhD is effectively like your working life - albeit a underpaid-but-interesting period. On net my PhD has almost certainly paid off the (ahem) 4-6 year-ish period (ha, ha) that it took me to get a PhD.

Incidentally, 4-6 years is a bit of a wildly optimistic estimate, even if you're not as big a screw-up as I was.


I don't work in CS. I was surprised when I watched this talk[1] by Michael Stonebraker to learn of the "Diarrhea of Papers"

> A PhD applicant who wants to get a good academic job should have ~10 papers

> A tenure case should have ~40 papers

That alone would push me away from a PhD in CS. In economics, it's closer to what he said was the case when he was new:

> I got tenure from Berkeley in 1976 — With about 5 papers

[1] http://www.jfsowa.com/ikl/Stonebraker.pdf


There's a bit of a counterpoint to this: with papers, it's easier to point to your body of work (peer-reviewed and, if you're good/lucky, peer-understood-and-approved) as clear evidence that you can do research. Without papers, or with very few papers, that evidence has to come from somewhere else. My understanding is that somewhere else is usually recommendations, from your advisor and other people in the field. Some reasons to dislike that system include:

1) it gives advisors a lot of influence over the student's career (obviously, if you have an actively hostile advisor things will be hard in any system, but I have known successful faculty who had indifferent fund-and-forget-style advisors who wouldn't know enough about the student's field to write a good recommendation)

2) informal "I like this person, hire them" networks tend to select for people who are like current participants in the network

I agree that a coarse "do they have at least x papers?" way of evaluating researchers is silly. But it's not crazy to have 10 papers when you graduate. That's about one paper every 6 months in a 5-year program. Six months is a long time, almost a thousand hours of work. If three people are focused on a project, it's pretty plausible to get a cool result in six months.


I appreciate your perspective. The people on the hiring and tenure committees as far as I can tell usually don't/can't evaluate quality directly so they instead focus on proxies like the total number of papers and what journals someone published in. I'm fairly against total publications as a proxy but I hadn't considered how it fared against these alternatives.

Personally, if I saw someone published a ton of papers during their PhD, I'd question the quality and importance of their research. Quality tends to decrease with quantity in my experience. And it appears too easy to fake importance. In my field I watch out for vague words like "novel" and "fundamental" in paper titles as evidence that the work is probably overhyped. I'm fairly well read in my field and I can sense the disappointment in people when I tell them that their "great" idea was done before, particularly when it was done better and/or a long time ago. (I take no pleasure in doing this. I just wish people spent less time reinventing the wheel.)

I think I could have had 10 papers during my PhD if I focused on easily-published things and "salami-sliced" my papers. But I focused on what I thought was more important and made the scope of each paper larger than normal because it saves readers time.

Proxies that are characteristics of the researcher might be better (or at least should be considered), like the willingness of the researcher to put "skin in the game" so-to-speak. I'd have a lot more confidence in research conducted part-time by someone on their own money than someone using another person's money (which has much less risk). Taleb has written about this as I recall.


I'm on many hiring committees and I try to evaluate quality of research as well. While you cannot spend too much time reading all these papers in full, just looking into them for a few minutes usually gives a sense of where the results fit and how significant they are. A good recommendation letter is useful here: especially for PhD research, the advisor can briefly explain what motivated the problem, how the result was found, what is its significance (from their own point of view of course), and what the candidate contributed to it. The reco letter can also explain why the candidate has fewer/more papers than usual, etc. At the end of the day, there are many objective-looking criteria, but in my experience people still make gut decisions based on their overall impression and then look for criteria to rationalize it. I find this to mostly work OK though, and better than having purely objective criteria and sticking to them no matter what.


For additional context, Stonebraker helped make Postgres and was the Turing laurate back in 2014.

https://en.wikipedia.org/wiki/Michael_Stonebraker


> "...You need to know why you want a Ph.D. You need to have vision and ideas and you need to be able to express yourself..."

I've got to stress that this advice is really important.

Especially for people who are considering going into grad school because they're on autopilot or think that it's just a natural continuation of your schooling. That's an easy way to think, but it's not the right way. You can easily lose 6 years of your life in grad school aimlessly this way.

Go into grad school and pursue a PHD because you've got a burning desire to turn one of your good ideas into a breakthrough. If you don't have such an idea based on your undergrad experience, that's already a warning sign that you shouldn't just go to grad school. Another warning sign is if you don't know who (which professor) you want to work for. Grad school is advisor-based in the extreme.

And definitely don't go just because "it's always good to be educated more". That approach will probably leave you disappointed and surprised by what grad school is. As the author mentions, success in grad school is not just more classes. And if you do a random walk because you don't know what you want, you'll waste a lot of time.

Aside from what the author describes in other good points, if you fall into this category of why you "think you want" to go to grad school, do yourself a favor, and get outside your comfort zone and go into the real world of business or a company for a stint. Don't just let yourself go autopilot into grad school because it seems to look like more college. At least have a look outside and try something before you default back to the university.

A few years in a real company taught me much more (and faster), life skills-per-time, than in grad school. Yes, admittedly I came out of grad school with some good technical skills and a whole lot of accumulated knowledge that I put to use today still. But I look back wishing I had learned about real world problem solving and ability to cut the bullshit and get to the bottom line sooner.

Be sure you go in with open eyes. And open them by looking outside first.


That's a really surprising opinion to be, because I feel the exact same way but replacing "grad school" with "working at a corporation". I feel that most people go get a job on autopilot, as applying to a PhD requires substantial preparation whereas applying for a job is sort of a default.

Then a job is even more so trading time for money, and easy to lose 6 years, or even 40 years in a blink. And what do you have to show for it? Half the projects get cancelled, 95% of projects at a corporation don't last past 5 years. Your name does not even appear on any work you have done.

Most of the the skills you gain are about how to navigate that specific corporation. This feel to me like the biggest waste of time when I was refreshing Reddit to death at my desk.

At least with a Ph.D., you're at least learning a skill, and gaining a globally recognized credential. Having 10 years at AT&T or Oracle is a decaying credential in comparison. Like you, I'd suggest for people to "get outside your comfort zone" of a business/company and "try something before you default" to a corporate desk job.


Good point, but it's worth noting that "go get a job on autopilot" behavior is entirely rational as it's driven by economic necessity--most people go get jobs because that's the only way they can afford food, shelter, healthcare, and other basic necessities. I wish it were optional!


>Go into grad school and pursue a PHD because you've got a burning desire to turn one of your good ideas into a breakthrough.

Yeah, this doesn't apply to mathematics, where the undergraduate degree often doesn't even prepare you to understand the problem you would eventually get to work on.

I participated in REUs and was a co-author on a published paper before I started my math PhD, and it was still a long journey to arrive at a project that ended up in a dissertation.

One of the great things about grad school was that I got to learn mathematics that I wouldn't otherwise - not just in classes, of course. Getting more educated would have been a good enough reason.

Aimless wandering was just a part of the journey, and a nearly inevitable one.

While I am talking about mathematics here, theoretical computer science is just a branch of math, and is not much different.

Looking back, there are many things that I could have done differently, lots of bullshit I could have avoided, and many things in that broken system that I could have dodged.

But "don't go to grad school if you don't already have a project" just isn't a solid advice, in my opinion. It's great if that is the case, but you need to be very lucky for that to happen.


> Go into grad school and pursue a PHD because you've got a burning desire to turn one of your good ideas into a breakthrough.

I don't think many supervisors will let you do this. 1) you'll need to find someone who has funding and already works in the area of your good idea 2) people overestimate how much they can do during a PhD 3) you probably aren't aware of the field coming out of undergrad 4) not a lot of theses will ever be read outside of the examiners, let alone be a breakthrough.

I'd say do a PhD if you feel like it, you can work for years on mundane tasks that likely wont culminate in a breakthrough, aren't prone to depression/stress, and don't care about money.


I second this. I worked for several professors over 20 years as a software programmer at an ivy league college, mostly working alongside grad students. The grad students had to fight to get to work on their own projects or do them in secret. Collaborating with someone without getting the approval of your advisor was often considered a betrayal and would get shut down as soon as discovered. If you weren't interested in the advisors projects they would not take you on. Post docs were treated even worse. This isn't true of all advisors, but many of them are like this because they are trying to build their own reputations using your work (their name goes on all your papers). If you really want to work on your own thing be up front about it; otherwise you'll spend the entire time doing things you're not interested in and which will define the kinds of jobs you can get afterwards.


This is mostly good advice, but this part is not:

> Go into grad school and pursue a PHD because you've got a burning desire to turn one of your good ideas into a breakthrough. If you don't have such an idea based on your undergrad experience, that's already a warning sign that you shouldn't just go to grad school.

When this happens, I think the person usually realizes the idea is too naive, too small, too vague, too already-studied, etc. to be a good research problem. It generally requires quite a bit of PhD time before even being able to recognize a good idea, and more to have one. Also, most good ideas simply don't lead to breakthroughs; they lead to nice advances at best.

I agree it's a very good idea to know which professors you probably want to work with when you apply. So a burning desire to become expert in a specific area is a very good indicator for a PhD.


What would you do to get a good idea? I have an area I'm really interested in, but it just seems like any ideas I have could have the potential to be a dud. Coming up with an idea that you'd be willing to commit several years to just seems incredibly hard.

I'd imagine that working at a real company isn't really the best occupation and place to generate new ideas unless what you're interested in is more practical. It just seems like it'd be more distracting than inspiring.

I've thought about getting a second undergrad degree (math, very closely related to the area) to broaden my horizon and I'm from Europe so I wouldn't be in debt or anything, but the idea feels quite silly.


> I have an area I'm really interested in, but it just seems like any ideas I have could have the potential to be a dud.

Yes, that’s research. Sometimes you try to do something only to discover either that you can’t do it or that it can’t be done.

To get a good idea you learn and work on bad ideas. Doing a thesis is closer to doing real research than what you’ve done before, more than likely. Rather than doing another Bachelor’s consider doing another Master’s or getting a job as a research assistant.


> I'm from Europe so I wouldn't be in debt or anything

Do a Masters and it will help with all of your questions


I'm in the process of getting my master's degree, but so far it just feels incremental to the bachelor's. Does the thesis make a huge difference?


Yes. The master's thesis is often the first time someone does real research from start to finish. Make sure it's not just implementing some already existing idea, there are a lot of "easy" topics like that being offered. You want the opposite, being part of defining what the solution looks like, or what the goal should even be.


I have the impression that CS PhD programs are more competitive than they have ever been, by a large margin, at least in the US. My pet theory on this is that US CS PhD students are exposed to globalization in a big way. If you look at figure D2 in the 2018 Taulbee Survey by the Computing Research Association [0], you can see that nonresident aliens as a fraction of enrollments in US and Canadian CS PhD programs rose from around 40% in the mid ninties to 64% in 2015, 2016, and 2017.

On the one hand I think it's great that the US and Canada continue to attract research talent from around the world. But on the other hand I suspect that the increased competitiveness has changed the nature of the PhD program in computer science. I think that professors these days have so many options for grad students that they can choose students with specialized experience in their research field, which means that any "exploratory" phase of the PhD process has shrunk significantly. In the article, the author says that CMU expects students to choose an advisor within a month or two of starting the program, and I guess that in reality most students have applied to work with a specific advisor before stepping foot on campus. I wonder has it always been the case? Can anyone - maybe someone who did a PhD at CMU or elsewhere more than a decade ago - shed any light here?

Of course the increased competitiveness of US CS PhD programs is just conjecture on my part. It could be that the increase in nonresident alien enrollment just means that many US and Canadian citizens are not interested in a CS PhD these days, and that the PhD programs haven't really changed, which also sounds plausible. From my experience during my short PhD attempt, the amount of time spent studying (classes, reading papers, etc) versus simply working for an advisor was smaller than I expected, and I don't know if that's because of a real change in the PhD process or simply my own naïveté.

[0]: https://cra.org/wp-content/uploads/2019/05/2018_Taulbee_Surv...


My experience applying for a phd and talking to professors is it has gotten a lot more competitive. When I applied a year ago to 8 schools my recommenders thought I'd picked enough schools and had a strong enough background for top schools (2 first author papers, one at a workshop in a top conference). That led to 2 interviews, but at the end still 8 rejections. The acceptance rate for cs overall in stanford/similar schools is getting to around 3 percent. I was applying in ML which is extra popular and remember hearing that Montreal had 1000 cs graduate applicants this past year, with 500 for ML and 900 some ML overlap. Given they only want 15-20ish students a year, that's a fairly poor acceptance rate. My own undergrad was a STEM school and the number of CS majors has somewhere around tripled in the past 5ish years even though it started already high around 20 percent (yeah a majority is CS at this point). I know my school talked about how there's plenty of universities across the country that have had CS enrollment grow a ton and are having problems supporting all of them.


There are a few factors I can think of. I'm currently a postdoc and completed my PhD in 2016, so I was applying in 2011/2012 ish. This is a long answer, but it's an interesting question.

First, this is not indicative of other fields. I did my PhD in space science, I now work out of an astrophysics office. Astronomy is a competitive field by academic standards, certainly beyond PhD, but even at places like Oxford and Cambridge, the acceptance rate is probably something like 1:2 (really not bad) if you have a good undergrad result. Postdocs at top places like Harvard-Smithsonian can be extremely competitive though. I asked around my colleagues here and they didn't seem to think that PhD applications are significantly up recently.

Computer vision has always been quite a competitive field. Again, I think because it's a field where a lot of cutting edge stuff is happening actively and academically these researchers are famous. In itself that's quite weird when you think about it. This may be bias because I'm familiar with the field. However I was at NeurIPS last year and there was a perpetual queue of people waiting to get a photo with Andrew Ng at the closing party. I've never seen anything like that at another conference. It's actually quite annoying because it makes it very difficult to speak to top people in the field. Compared to say ecology where I can just email people and I'm highly likely to get a positive response.

Some places are just competitive full stop. Max Planck Institute (MPI), ETH Zurich, Oxbridge, etc. These places will always have a lot of international interest and everyone knows the big names in the US. My theory is that this is in part due to media representation. Movies teach us that getting into Harvard/Yale/Princeton/MIT/Stanford is a big deal. Can you name the top 2 or 3 universities in France beyond the Ecole Polytechnique, for example?

Thirdly, ML has skewed this significantly, especially since it's actively a good field to get into and a lot of the big names are still in the business of supervising people. Skeptically, I think many people applying are in it for the money and the prestige, not due to a deep interest in the theory. Bear in mind there are tons of fields where you can do applied ML - where there's more low hanging fruit, easy high impact papers, opportunities to work on novel architectures and datasets, etc. I would really recommend this route, it worked well for me.

The matching process varies with institution. In the UK it's common for a department to get funding for X students. Those students are doled out between supervisors - there may be many more potential projects than there is actually funding. This is the case for research council funding. However there are also funded PhDs which are usually some deliverable on a project that has a well-defined goal. When I started, I knew what my project would be at a high level. Lots of people in my cohort picked an advisor after they had been accepted. This is quite normal, most physics departments allow you to put in a general application.

So you do get problems when students say, I want to come to your department and work for X professor. That isn't necessarily something that can be guaranteed. The department might hire 5 really good applicants who all want the same advisor. However again, this is quite rare outside CS I think.

Finally I think people don't really understand what they're taking on when they want to work with a hotshot advisor. They need to ask questions like does this person actually have time for me? Working in a top lab is undoubtedly good, but it can be very high pressure and some people will suffer under those conditions.

> From my experience during my short PhD attempt, the amount of time spent studying (classes, reading papers, etc) versus simply working for an advisor was smaller than I expected, and I don't know if that's because of a real change in the PhD process or simply my own naïveté.

My advisor was more of a PM as he was (is) out of the active research game; he sat on tons of high profile committees at this point. So I worked largely independently and then got feedback at regular meetings. That was fine for me, but other people who wanted more active mentorship struggled I think. I did find it hard that nobody in my group had any significant overlap with my project. But it varies a lot. Some people get given a very tightly defined project due to funding, some work closely with their supervisor or act as a cog in a larger group.


Very interested in working through the PhD as a mid-career SW engineer with a MS. Curious how someone in that state would be seen by the acceptance committee, or, alternatively, by hiring committees post-graduation. Perspectives?


Not positive about hiring committees but I think most would be very open and judge you fairly. It won't be easy to get into a good PhD program, even with prior master's research experience. Did you get and keep old recommendation letters from your master's? That would be helpful. You could throw your application out there, but if not successful, a way forward is to identify a research area or problem, start reading papers, and get in touch with some current researchers (if they are slow to respond, their PhD students or postdocs). Demonstrate your knowledge and enthusiasm and see if you can join on a research problem. That project and recommendations from it will get you in somewhere (maybe the same lab), if successful.


>. Did you get and keep old recommendation letters from your master's?

Let's go with _nah_: at this point they'd be almost a decade old. It would be a measurement that is almost irrelevant to who I am today and my experience. I'm sure I can swing managerial recommendations etc, and it's not out of the equation that, at least at the local level, I could do some interesting volunteer work at the local U.


Remote collaboration is very common so I would email the best matches (once you’ve one background research) wherever in the world they are!


That's a great idea. :) I am too used to the "Grab a coffee" worldview.


coventional wisdom is -- why get a PhD unles you want to publish ? .. shorthand for, publications with trackable impact (citations) or, fundemental contributions to the field; otherwise, long road, much time .. "piled higher and deeper" PhD


thank you. this is common advice. And to answer:

I have run the financials on a PhD program. I have done highly independent research as part of my Master's. I am aware the TT job market is dicey on a good year. I am aware that it's a Very Institutional game, unlike startups, and h-indexes tend to matter more than one might hope. I have known a number of PhDs and watched their planned graduation dates slip, and their advisors put them through wringers.

So: thank you; I'm very aware of the PhD road. I would really like to go deep on a research problem and, later, be paid an acceptable sum to research & teach.


In case there are any CS PhD students at top colleges in the US reading this, I'd appreciate some advice: I am currently applying for a PhD in Germany (RWTH), and although I am excited about that place, I think I'd rather do a PhD in a top US School (for a couple of reasons that I won't detail here). The thing is that admissions for US schools do not seem to start before September, and in case I get accepted in Germany I'd have to decide whether to accept or not without having the opportunity to even apply for American schools. My question is about whether I'd have a decent shot of getting into such programs or not. Because if I don't then it makes sense to take an opportunity somewhere else before even applying there.

My relevant credentials are: I'm currently doing my Ms. Sc. at University of Chile, and have published the following papers: https://arxiv.org/abs/2003.10000 (accepted at FUN2020) https://ioinformatics.org/journal/v10_2016_19_37.pdf (IOI2016) https://arxiv.org/abs/1909.11693 (ICDT2020) https://dl.acm.org/doi/abs/10.1145/3329486.3329498 (Workshops DEEM2019 and AMW2019), and I'm currently preparing what will be my master thesis to be submitted to a conference as well.

Does this look like a solid enough profile to get a decent shot at a top US PhD program?


I'm a PhD student in CS at Caltech. The single biggest factor that determines whether you will get in is whether a well-known researcher writes a strong recommendation for you. I expect that it will be difficult to make the case to accept someone from a virtually unknown program like the University of Chile when there are so many qualified applicants from top American schools. Just to be clear, I'm not saying you are unqualified, only that you will have to compete with "safer bets" who look stronger on paper.


Really nice to see a fellow Chilean (I was born in Santiago but raised in NY) going for a PhD in CS.

I got a PhD from a public university that's probably considered tier-2 in 2018. I got rejected from every other university I applied to for the PhD program for but I learned a lot about how academia works in the process.

There's another post in this thread about making the jump across tiers into the elite university tier. They are right on the money when they say how hard it is and how much of it depends on who you know in the department you're applying to or who your references know in that department.

Being from a different country puts you at a severe disadvantage in the networking aspect of the application. If you really want to attend a top tier institution for your PhD, the most sensible path would be to get into a Master's program at a school where you have a few advisors you'd like to work under.

Once you're in the Master's program, you can do your best to impress them and convince them to take you on as a PhD candidate. Otherwise it's really really difficult to convince them to take a chance on you without knowing you personally.

Anecdotally, even at my tier-2 university it was an anomaly for a "stranger" to be accepted straight into the PhD track. The professors would almost never take a chance on anyone they didn't personally know or didn't have good personal references about. I can't imagine how it would be a tier-1.

Tl;Dr: Unless you make a big name for yourself in a specific area, it's nearly impossible to get into the elite universities without connections. If you're hell bent on doing your PhD at a tier-1, go into the same university's Master's program and build a personal relationship with whomever you want your advisor to be.


This is solid advice. If you want to get a PhD in computer science, read and understand this advice. It's similar to the advice I would give someone, which is kinda funny, since I only know what you're supposed to do after having done just about all of it wrong.


Only slighly related to the topic at hand, but the author (Mor Harchol-Balter) is an amazing teacher, she was undoubtedly my favorite professor I had the opportunity to take a class with at CMU


> As in all of life, you will be most successful if you simply figure out what skills your advisor has that you don’t and work hard at picking up all of those skills without complaining

Which probably means you will pick up programming, as the field moves so fast that professors usually have out-of-date skills. With a younger professor, this may be different.


> You will know about your research than anyone at your school.

ᴛⷮyрⷬoͦ iͥn ᴛⷮнⷩEͤ 1ˢᵗ ¶ 𝕒𝕗𝕥𝕖𝕣 𝕚𝕟𝕥𝕣𝕠𝕕𝕦𝕔𝕥𝕚𝕠𝕟.


For any one want to apply for grad school, I suggest visit phdcomics.com, and try to read at least top 100 there. It will bring some laugh, but I want to emphasize one thing: those jokes are real for many in grad school.


I laughed at PhD comics back in undergrad, but now as a PhD student it feels wrong to read. A lot like Lego Grad Student.


I wish I had read this paper before entering CMU back in the mid-90s. My advisor would enthusiastically agree, I bet.


Any remote PhD opportunities nowadays?


If you're looking for a terminal degree that is more application oriented, you may want to consider other options like a Doctorate of Engineering, EdD etc. Otherwise a PhD assumes close proximity to your advisor and lots of projects, publications etc


I don't think so. PhD in CS and other related fields is a pretty intense affair nowadays (or has always been, idk) due to the crazy publication throughput one is required to have. Remote or part-time PhD options benefit no one.


You mean temporarily during the Covid period or for the whole program? As with the sibling poster, I don't think it's a great idea for the whole PhD. But maybe I'm just old fashioned :)


Most Comp Sci PhDs work from home anyways once they’re in.


If by work from home you mean live from the office then yeah, sure :)


Other than experiments that require custom ICs or embedded boards, most CS/CE research can be done from home. Can remote shell into your machine at work, or log into the supervisor's private VM cloud.

It's become much easier than it used to be. Even a decade ago, this was the norm and most of my colleagues were chippies. Even reams of data could be carried via a couple of spinning rust HDs in a backpack.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: