On the Recurse Center’s Zulip community, someone posted this request for advice recently:
I’m currently in the early stages of preparing my application to Ph.D. programs in machine learning. I have unrelated/tangentially-related research experience in economics and a more recent stint in computational biology that used standard ML algorithms. Additionally, my undergrad was in econ and math, so I’m a little light on CS and feel that it would take me at least a semester to get up to speed for research in the field. Currently, I anticipate having my rec letters come from my two former PIs and an old math professor. Is it plausible to jump straight to a Ph.D. in CS, or should I be looking to do an MS in CS first?
With their permission, I’m publicly sharing a version of the advice I gave them, which seems to be common knowledge among academics but less well known outside the bubble.
The short version
The short version of this advice is: it depends on individual circumstances, but in your case, it sounds like it’s plausible for you to apply directly to a Ph.D. in CS. No, you don’t have to do an MS first, and in fact, doing an MS may not help you at all.
The longer version
If you have an undergrad math degree, I think that if you’re interested in pursuing a math-flavored CS Ph.D. (and a machine learning Ph.D. can be that), then you should be fine applying directly to Ph.D. programs, so long as you can get letter writers who can speak to your strengths and explain to the admissions committee why a CS Ph.D. is a sensible next step for you.
I think it’s quite common to enter a CS Ph.D. program with an undergrad math degree. You’ll spend the first year or two of the Ph.D. taking classes and doing the equivalent of an MS in CS on the way to the Ph.D. anyway, so you might as well apply to Ph.D. programs, which will actually fund you during those years, as opposed to MS programs, which typically won’t.
If you had zero previous research experience, then an MS in CS might be a good way to acquire some, but for you, it doesn’t sound like that’s the case. Furthermore, my understanding is that doing an MS in CS as a way to break into CS research is a very difficult road to pursue, unless it’s an MS that you do “along the way” as part of already being enrolled in a CS Ph.D. program. It’s hard to beef up your research background by doing an MS because, for the most part, the better research opportunities usually don’t go to MS students. There are a few reasons for this, some of which are more defensible than others:
- Faculty may prefer not to invest their scarce time and money in advising MS students on research projects, because the students will be around for such a short time. Unlike Ph.D. students, who stay for six years or so, MS students only stay for two years, so as soon as an MS student gets up to speed to contribute to a project, they’ll be graduating. So, as an MS student, you might have a hard time convincing a faculty member to invest in you.
- In most CS programs at most research universities in the US, there are a lot more MS students than there are Ph.D. students. According to the most recent Taulbee Survey results, which were collected during fall 2015 and released in May 2016, there were 11,783 students enrolled in CS Ph.D. programs in the US in 2015, while there were 23,650 students enrolled in CS MS programs — so, more than twice as many MS students.1 Since there are so many MS students, it can be harder for any given MS student to get professors’ attention. If you don’t work hard to differentiate yourself, you’ll just be another face in the crowd in large lecture classes, and professors might not ever even learn your name.
- Since most MS students don’t plan to go on to do a Ph.D., faculty may assume that MS students in general aren’t especially interested in doing research, and since the admissions process for MS students doesn’t evaluate readiness to do research in the way that the Ph.D. admissions process does, faculty may assume that MS students aren’t especially capable, either. So, as an MS student, you would have to work especially hard to overcome these biases and demonstrate that you really are interested and capable.
- MS students are often treated like cash cows by the university. They get little respect from faculty or administrators compared to Ph.D. students. (Ph.D. students aren’t exactly treated like royalty, but for MS students, it’s worse.) It’s harder to take advantage of what research opportunities there are when you aren’t being treated with respect!
Given all of this, I’d urge you to apply directly to Ph.D. programs. The worst that can happen is that you don’t get in. Plus, if you do get into a Ph.D. program and you decide that you’d rather do an MS instead, you can leave the program with an MS after two years, and you’ll probably be in a better financial situation than if you’d had to fund your own way through the MS.
This advice was tailored for the question-asker; it doesn’t apply to everyone or in every situation. I don’t know the asker, but since they’re part of the Recurse Center community, I know that they have experience programming and that they are comfortable with self-directed learning. From their writing, I see that they’re fluent in English. Also, phrases like “my two former PIs” in their question are hints to me that their previous research experience is legit. (I don’t think I even knew what “PI” stood for at the time that I applied to Ph.D. programs.) Taken together with the facts they provided, all these things tell me that they’re probably ready to apply for a Ph.D. in CS, despite not having an undergrad CS degree.
There are, of course, exceptions to what I’ve said above about CS MS students lacking research opportunities. Someone else on Zulip who’s an MS student at a major research university in the US weighed in to say that they were doing research with a CS professor and that what I’m describing here hadn’t been their experience at all. (The actual MS degree program they were in was in biostatistics, not CS.) I am eager to hear from MS students (and faculty who advise them) about whether or not I’m full of crap.
All of the advice I’m giving here is specific to computer science. I don’t know about other fields.
Finally, all of the advice I’m giving here is specific to the US, where it’s typical to enter a Ph.D. program directly from undergrad; in Europe, it’s a different story.