I am currently an undergraduate heading into my senior year. I've taken some theory/math classes (algorithms, and set theory/topology) in the past year and am taking quite a few more this year (more algorithms, abstract algebra, graph theory). My theory classes were the first classes in college I truly enjoyed. I definitely have an interest/passion for more theoretical and mathematical areas of computer science. I am pretty set on going to grad school/getting a PhD and if had the option, I would want to do research in an algorithms/theory group. However, I am wondering how can I assess if I have what it takes to succeed. Success in the case equates to getting a PhD --not necessarily at the most prestigious university -- but just making my contribution (as tiny as it may be) to the field. The reason I am asking this is because I am not some whiz kid who aces their classes with no sweat. I don't struggle by any means, but considering that algorithms/theory is a very intellectually challenging field, do you think hard work and passion for a subject can allow me to achieve my goal? Essentially, I don't want to put limitations on myself and regret not pursuing something I truly enjoy. However, at the same time, I want to be realistic with myself. Would love to hear your thoughts/experiences with this subject matter.
-
7$\begingroup$ You should try to do some research. Also I am afraid this may not be an appropriate question for this stackexchange. $\endgroup$– Sasho NikolovCommented Jul 26, 2015 at 15:55
-
4$\begingroup$ Don't forget to consider your job prospects after graduation. $\endgroup$– Yuval FilmusCommented Jul 26, 2015 at 20:29
-
1$\begingroup$ I'm starting my third year as a CS PhD student who focuses on theory. Everyone has different experiences and opinions. My opinion is that you can maximize your chances of succeeding by being passionate, hard working, and social. Making friends, reducing stress, and networking is really important so don't underestimate the value of socializing. Wish you all the best and feel free to email me if you ever want to chat more. Have a nice day! :) $\endgroup$– Michael WeharCommented Jul 26, 2015 at 22:09
-
2$\begingroup$ Maybe we should add this question to a blog post or something. Like all these soft questions could be answered in a blog post $\endgroup$– Joshua HermanCommented Jul 27, 2015 at 9:48
-
2$\begingroup$ I read "Success in the case equates to getting a PhD ... making my contribution (as tiny as it may be) to the field" and wonder: once you have your PhD, what do you want to do with what you learned? Think of the PhD as a means to doing what you enjoy, and not an end itself. $\endgroup$– RobCommented Jul 28, 2015 at 15:15
1 Answer
If TCS is something you enjoy, and you want to pursue a PhD, I wouldn't let the fear of failure stop you. You can also mitigate some of the risk by enrolling in a program that awards you a Master's after a year or two -- that way, if you realize research isn't for you, you won't come out "empty-handed". And if you don't succeed in landing a research job afterwards, as long as you enjoy grad school, it's not a big sunk cost.
To answer your question about "having what it takes" more directly -- I think you need to both have talent and put in the hard work to succeed. My feeling is that most people who fail to get a PhD, however, fail not because they were not talented enough, but because they weren't disciplined enough.