Hello,
I am majoring in theoretical ecology at the University of Tokyo. I am scheduled to graduate from the current MSc program in March 2020, and I am planning to get in a Ph.D. program (outside Japan, due to financial and other problems). My interests are mathematical/computational biology/ecology, combinatorics, graph theory, exponential algorithms, etc.
Currently, my biggest concern is that I have no CS degrees, or even something related to CS. I graduated from the University of Tokyo in ecology BSc. However, I have achievements and contributions in competitive programming area more than average (How 'more than average'? This is my list Link).
Is it possible for non-CS students with competition achievements like me to get in CS PhD program to research algorithms? How are the chances? Does it depend on schools or region? I have no one to ask about it because almost all the redcoders are CS or mathematics major, and especially in Japan, very few people apply for PhD program overseas. Any advice (other than common advice you can find on the top search result of "how to get in phd" or something) is more than welcome ;)
P.S. Recently I resumed posting videos related to algorithms and programming contest techniques to Youtube. Take a look if you are interested. Link
Auto comment: topic has been updated by EnumerativeCombinatorics (previous revision, new revision, compare).
If you can delay your PhD by few years, you can probably get into some big companies first. Interviews with Google, Facebook, etc. would be easy for you if your English is ok (I have not watched your videos so I don't know).
After couple of years, you have some software engineering / computer science experience, so applying to PhD may be easier.
I can only speak for US PhD programs, but from what I've heard from professors at my university and on Quora, interning at a big tech company is pretty irrelevant to entering a PhD program, with some exceptions for research based internships (Microsoft Research, Google Brain, etc.).
Turned out I couldn't get in those companies. They also seem to need a degree. I guess it is because there are too many applications to their positions so they first filter by the applicant's degree.
In Russia no IT company cares about degree :)
Did you have a referral or did you just apply on the website?
I believe if you have good referrals with evidence of skills (i.e. your results in competitive programming), you should be able to go to interview rounds.
I applied for Google in 3 locations with a referral more than a month ago yet I couldn't get any interviews, 1 with rejection and 2 with no response.
Also, a lot of Googlers suggested that I could use their referrals, and I know one referral can be used for 3 applications. But I don't know it is a good idea to continue applying to 3 locations each on and on. (Also there is a limit of # applications per month)
When there is strong evidence that you can pass interview, your Google referrer can directly send message / email to recruiter to insist that you have a chance to interview.
I did this in the past. My friend's resume was rejected, but I wrote a very strong and long email to his recruiter and then they decided to let him interview (in the end he passed all interview rounds).
Of course this method also depends on luck. (my success rate with this method was 66%).
That is good to hear. Thanks.
You'd want to check https://codeforces.net/blog/entry/53965 where this research group has several competitive programming members. From the perspective of US PhD, it's possible that you apply without BS/MS degree in CS, but it's especially important to prove you have skills/experience in CS, either via a few years working in industry or doing research internship, obtaining several (strong) recommendation letters.
I would say the strongest factors are your interest and recommendation letters; other factors are a bit optional.
Sounds good! I will make sure to apply for them. Thanks.
Татарча белгэн малай булдыра ала! See https://tozangezan.github.io/
Әйе, заманча Татарстанның яңалыкларын татарчадан япончага тәрҗемә да итәм. Татар теле олимпиада катнашырга телим.
Yes, now I am also translating Tatarstan news from Tatar to Japanese. I want to participate in Tatar Language Olympiad.
You may be interested in this professor at UCF: http://www.cs.ucf.edu/~shzhang/
He does computational biology research and has had several students that did competitive programming. Now he loves having competitive programmers as students because they transfer well to research in his field. :)
Some professors don't mind a different background than computer science. Others will have no interest. So it is important to apply to many schools and explain your interest well in your statement of purpose. It is also very important to have strong recommendation letters. Do you have experience doing research outside of computer science?
Technically, I have an ongoing research project and I have written the final thesis for my BSc degree before. However, those seem to be unpublished and even will be in Japanese (it is quite rare for MSc students to publish a paper in my department).
If a company like Google can hire people not from CS degree (but have tremendous achievements on tha area), some professors also keen to invite people like you to be his students, ;)
In National University of Singapore (NUS), there is a great professor like that: Professor Yu Haifeng. Plus, his interest is in distributed systems and graph, so I'm sure with your achievements in the area it will be a great match!
I'm a PhD student in NUS but not under his supervision. dolphinigle is one of his student, so if you're interested you may contact him (or just directly to professor).
Good luck! :D
Oh, I'm impressed by their works on theoretical analysis on distributed algorithms. This sounds interesting.
I am curious: how do international students in Singapore after graduation? Do they continue to research? work in the country? or go back to their home country and become an engineer?
For that question, I only know a few people so my sample is actually quite small.
Most of them continue to "work" on the campus: some of them become lecturers (e.g. Steven Halim) and some of them become Research Assistants. Those who are Research Assistants sometimes also do their Post-Doc. And yeah, there are others who work on a company like Google after graduation (e.g. Felix Halim).
AFAIK, interestingly, no one goes back to their home country. I too consider working in Singapore or another country for several years first before going back to my hometown.
I guess you could be admitted to University of Warsaw PhD CS studies with no problem and be involved in strong algorithmic groups there. Thresholds for being admitted are extremely low even though that's a very solid algorithms-wise place and I think that not having degree in CS shouldn't be a problem.
Do you know some professors doing algorithm researches? Maybe, for instance, your supervisor. I cannot find any from the university's website and the only professor I know in Poland is marek.cygan, who is at MIMUW.
A little off-topic but I am really interested in knowing why you didn't pursue a CS related degree for BSc. given your OI experience.
I started OI when I was in 8th grade and became a national team at 12th grade. At the same time, I was a final selection camp member for IBO (International Biological Olympiad) at 11th grade. I get in the Agriculture Department in U Tokyo for I wanted to apply my algorithmic ability to other fields (I've been interested in ecology/evolution for a long time).
Unfortunately, applying the algorithm / data structure things to that field turned out very hard as ecological researches are often limited by the number of data points. It requires tremendous work to collect even thousands of datasets, unlike photo or voice recognition for example.