Live data from Hacker News

Ask HN: CS Researchers, why did you choose your subfield and niche?

news.ycombinator.com

1–10 of 23 posts

Ask HN: CS Researchers, why did you choose your subfield and niche?

#1
My background:

CS rising junior, indecisive about choosing a sub field.

I want to pursue CS research before I graduate for its own sake and partly to compensate for my lackluster GPA for grad school. But each field seems to have a pet peeve:

1) AI/machine learning: too saturated, fear of an AI winter

2) Networks/security: boring, reading a research paper seems torturous

3) Bioinformatic/quantum computing: may never find their place in real world and die out

Etc.

It continues to amaze me how some people know exactly what they want to do in their freshman year or even earlier. My question is: what motivated you to pursue what you're doing right now and at what stage in your academic career?

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#2
I'm a CS professor at a primarily-undergraduate U.S. college. I supervise two to four independent research projects or honors theses every year and have published papers and posters based on undergraduate research with my students as co-authors.

If you're going to pursue undergrad research, I don't recommend choosing based on field, but based on potential supervisors. Who are your favorite professors? What subjects have you really enjoyed and would like to explore further? A good project is at the intersection of what you're interested in, what your faculty mentor can realistically supervise, and what you can complete and bring to a good result in 1-2 years. You're going to get the best experience if you're able to work with a faculty mentor you like that can teach you about the research process and devote time to mentoring you. Those skills, more so than any specific project you complete, are what will help you be successful in grad school.

There are probably examples of successful researchers who started in one area as undergrads and stayed with it for decades, but it's more common to switch as your interests change and you get more exposure to different subareas of CS, particularly once you get into a grad program and get more exposure to the open problems in different fields. Grad schools will not require you to stick with the area or theme of research that you may have been pursuing when they accepted you.

To give you a concrete example: my first undergrad research project was writing a simulator for acoustic reverb. I continued working with the same advisor, but we switched to projects related to imaging and remote sensing, which led to experimenting with weird neural network architectures (before the current boom in deep learning really took off) and their applications to multispectral imaging. When I started my Ph.D. program, I was originally working on nonlinear optimization and its applications to sensors, but ended up switching to performance modeling and queueing theory, which became the subject of my dissertation. My research has evolved even more since I became a faculty member and shifted to working with real undergrads; I've recently been doing a lot of qualitative research with community organizations about their uses of data and analytics, which is only tangentially related to traditional disciplinary CS research.

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#3

I'm a CS professor at a primarily-undergraduate U.S. college. I supervise two to four independent research projects or honors theses every year and have published papers and posters based on undergraduate research with my students as co-authors. If you're going to pursue undergrad research, I don't recommend choosing based on field, but based on potential supervisors. Who are your favorite professors? What subjects h…

Great advice. My undergrad thesis had nothing to do with my master’s thesis, which had nothing to do with my PhD thesis, and now my current job is straying farther and farther away from my grad school work. But the skills I learned by doing semi-independent research, coming up with ideas, solving new problems and what I learned from my advisors are what go me through all of that.

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#4
My advice: don't worry too much about picking a field (and definitely don't focus too much about what people who happen to be the same age as you are up to -- it's a big world).

'elonmollusc's advice is really sound: at least at the beginning, choose the advisor or collaborators, not the subfield. You can probably get yourself interested in any problem if you put effort into it and enjoy the work or the people you're working with. And even if you don't enjoy it, you'll learn something about your own preferences and what kind of environment and style of work you want to build around yourself. Is there a class you've taken where you really enjoyed the material or the professor's style? Go to their office hours and talk to them about research. It's even better if you bring some of your own ideas for what you might be excited to work on (perhaps keying off some of the professor's own recent work; do you have an idea for a way to extend it or a new place to try it?) -- faculty love it when students are a source of new ideas.

If you want to do grad school in CS, here is some stock advice:

- Read some of the essays that people have written about "what grad school in CS is like." I did an interview on this with my friend Eugene Wu (http://www.pgbovine.net/PhD-interview-eugene-wu-keith-winste...), and our friend Adam Marcus (http://marcua.net/writing/gradschool-guide/) also wrote a guide after finishing his PhD. Our other friend Phil Guo also wrote a depressing book about his (not-so-good, but also not horrible) time in grad school at Stanford (http://pgbovine.net/PhD-memoir.htm), and he ultimately ended up in a great job where he seems happy and productive (and now tenured) too.

- Read some of the advice for grad-school applicants, e.g. Michael Ernst's (https://homes.cs.washington.edu/~mernst/advice/) and Jennifer Rexford's (https://www.cs.princeton.edu/~jrex/advice.html) and Justine Sherry's (http://www.eecs.berkeley.edu/~justine/advice.pdf)

- Think real carefully about "Why do you want to go to grad school?" Do you want to use computational thinking to help people in a tangible way? Or do you want to learn about computer science for its own sake, as a quest for knowledge? Do you think you would enjoy a teaching-focused job, or an industrial research job, and these require a Ph.D.? All of these can be great answers, but they are different. What projects or independent activities have you done (things nobody told you to do) that you enjoyed or found satisfying? How can you aim to best continue that? (By contrast, "I did well in undergrad and would like to continue my education" is not a good reason to start a Ph.D. in computer science!)

- Consider taking time off between undergrad and grad school, or at least deferring for a year after you are accepted. Depending on the subfield, the people that do this often have a real leg up, because they can bring a nontraditional perspective to the table. There's little benefit in being "smarter" than everybody else in the group if all that means is that you are saying something first that somebody else was going to say anyway 90 seconds later. It's better to be the one contributing ideas (about new problems worthy of attack OR ways to solve them) or a point of view that wasn't going to get contributed at all. And the people who have exposed themselves to more diverse environments often have had more time to understand themselves and what kind of environment they need to build around themselves (advising, style of work) to be happy and productive. Depending on your advisor's style and the culture of the department, grad school can be almost a totally unstructured and self-directed environment (quite different from undergrad) so you really don't want to go into it as a sort of default. (If you are saying to yourself, "but I don't know what I would do during that year off," that is not a good reason to make grad school become your default! By contrast, if you are saying, "but I am in theory or another mathematically inclined subfield and literally the only way to get better at it is to keep doing it; there is nothing the outside world has to offer me," then maybe you are right -- theorists often do seem to adhere to this kind of thinking.)

- Start thinking about how to demonstrate (by December of the year when you plan to apply) to your letter writers that you have the initiative/resourcefulness/creativity/grit and can see a project through to completion even over obstacles. (Ideally, by participating in a research project that submits a paper for publication.) The letters of recommendation do matter a lot, probably more than anything else in the application, and the letters will ideally be from people that the readers can trust are well-calibrated to speak to your promise at doing CS research.

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#5
Because I liked the people in my department doing research in my niche! Unfortunately federal funding in the US disappeared almost overnight for my slice of CS, so I'm currently operating and publishing in a cross-disciplinary fashion in an industry research scientist position. I'm considering leaving the US for a faculty position to get back to the research I really enjoy... so don't do what I did. :)

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#6

I'm a CS professor at a primarily-undergraduate U.S. college. I supervise two to four independent research projects or honors theses every year and have published papers and posters based on undergraduate research with my students as co-authors. If you're going to pursue undergrad research, I don't recommend choosing based on field, but based on potential supervisors. Who are your favorite professors? What subjects h…

Not a CS researcher but I would say that advisor is extremely important, but also within the field you are interested in. A good advisor can win you over only so much - there are people who switch advisors because of research topic reasons too (not just because they feel abused). Though if you are in the topic you want to continue in, a good advisor can make a huge, huge difference in terms of getting the most out of you and also promoting you among his /her peers.

To some extent I would not choose based on current market trends - if you want to go to grad school, you're looking at a job market many years down the road (esp. if you do a PhD). However, "saturation" is an issue and this could be demotivating. You definitely don't want to choose a boring topic. If "Bioinformatic/quantum computing" is interesting to you but you're not sure of its applicability/potential but you find it interesting enough to study, I would say this is the perfect field for you to study. Maybe a "deep learning" type revolution is around the corner - or maybe you're going to be part of making it happen.

Not to say market trends are unimportant, but as elonmollusc says, you can end up changing your field of research later - so you should some extent study what interests you most at each moment in time.

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#8
I'm a lecturer (assistant professor) in computer science at University of Kent in the UK. I did my undergraduate degree and Masters at Charles University in Czechia and later a PhD in Cambridge. Most of my work has been on programming languages.

How did I choose? Mostly by accident and I definitely did not plan this much in advance. I enjoyed web programming during my undergrad. I got interested in how to make web programming easier (and if you could write both client-side and server-side code in the same language - in the pre-Node.js and pre-transpiler days :-)) and I stared working on a project to translate .NET code to JavaScript. Through a few random lucky accidents, I ended up working with F# and met Don Syme from Microsoft Research. This got me the idea that I could actually do PhD! Through working with Don, I got interested in functional programming and PL research more generally and then applied for PhD with some ideas about reactive programming.

I have no idea how to choose a field or plan a career (I only have one data point!) In my case, it was a mix of doing things I found interesting (without thinking about why this might be useful) and meeting a fantastic mentor at the right moment.

In any case, good luck, no matter what field you end up choosing!

Re: Ask HN: CS Researchers, why did you choose your subfield and niche?

#10
I do security R&D. I chose security in uni because it sounded sexy. Honestly, you sound like a pessimist. I don't work with networking often and only read papers I'm interested in.

Same for neural nets, I could rattle off 3 idea that no one is working on. I don't think the field is saturated.

Just look at what you enjoy doing and specialize in that. You don't need to mixmax the decision and try to predict the future.

Post reply on HN