I was curious to ask the Codeforces community what they think of the current CS research fields, and how possibly mediocre people in competitive programming can fit in / contribute. I am trying to find / think of a research field that I could possibly work in, and find productive and possibly contribute in, that is accessible to those who are weak intellectually.
It is very discouraging for instance thinking about theoretical CS, as the people are so strong mathematically and otherwise, and then even I see lots of red people on CF who it seems never try or have anything happen research wise. So to me then it seems clear, if there are red people of CF who never accomplish anything research wise in theoretical CS, then for somebody like me the situation is beyond hopeless, and therefore that is not the field.
However the issue with more applied fields is that they seem somewhat less interesting at times, and there is a lot of very specific knowledge required. So far thinking about things it seems that maybe computer vision or something like that could be better than theory / algorithms, however there seem to be downsides to this too.
I am curious if there are people on CF who have thought in similar way, and come up with any interesting conclusions? Because otherwise it seems that it is off to industry, however is that really the only option? Basically I guess to rephrase the question, does anybody think there are fields where having marginal programming ability in addition to marginal mathematical skills can amount to something? And maybe ideally the field would be interesting too…
I think you should choose your field based on your interests, not based on what would be "easy enough". You are in Div1 on Codeforces which already shows that you can learn algorithms and mathematics.
To make contributions in research, you usually need both hard work and luck. In algorithm research, it is not easy to get good results because most easy algorithms (like quicksort and Dijkstra) have already been invented decades ago.
There are so many fields and topics in CS that both you and the red people can make contributions. And if you continue practicing, you can become one of the red people.
It seems to me, that you're overestimating the importance of CF rating. Competitive programming is a narrow field, which requires highly special skills. These skills are not necessarily relevant to CS research. While competitive programming is a sprint with no right for mistake, research is a long marathon, where you can think carefully and try a lot.
Furthermore, most of successful CS researchers are not successful competitive programmers, and most competitive programmers probably don't do research at all.
I think the rating should not be correlated with one's ability to do research. If you are willing to put enough work into something you enjoy, you don't have to be a red rated user to succeed.
I highly recommend this reading: https://terrytao.wordpress.com/career-advice/does-one-have-to-be-a-genius-to-do-maths/ , it's a blog post who partially inspired me to do research.
I'd add this: OnBeingSmart
I would appreciate someone coming up who has done both. I am also looking to try out research. Great question for me :P .
nice question ! ive also asked myself the same.
oftopic:
also curious on Software Engineering projects ideas that i could do that intersects a little with Competitive Programming .
You know Quora is overflowing with questions like these, and one answer which I specifically liked is
Thinking I'll follow this advice, given how much I dislike monotony.