sevens's blog

By sevens, history, 7 years ago, In English

Hello guys,

I decided to use a fake account for this post. I want to talk about a problem I am facing, which I guess might be common among many people in this community.

I am a junior year student in university and I am doing a summer internship at a reputed tech company. I find my job tremendously boring; Most of my day to day work is reading lots of documentation and implementing things. The hardest part of work is to make sure my code sits well within the existing framework.

I don't find this job exciting at all, but it pays really well. I have student loans and I pay them off by doing such internship every year. My past internships have been equally boring. My question to you is, what would you suggest to someone like me for the future?

To give some context, I am a mediocre competitive programmer. My actual CodeForces rating is around 1900-2000 and I haven't gone to ICPC World Finals or IOI. Even outside the competitive programming world, my problem-solving skills are very mediocre. However, I am very interested in algorithms and mathematics. I would like to do research (PhD) after university, but I don't think I am smart enough.

I can see two possibilities for myself:

  • Get high paying job as software developer. Accept the fact that it is boring.
  • Try research (Probably fail and lose years).

Is there any other option? What should I do?

  • Vote: I like it
  • +206
  • Vote: I do not like it

| Write comment?
»
7 years ago, # |
  Vote: I like it +22 Vote: I do not like it

Well, I don't see why your research would fail with high probability. PhD is the first step in a scientific career and many people successfully do it. It's not good to have a boring job for the rest of your life.

»
7 years ago, # |
  Vote: I like it +4 Vote: I do not like it

Not going to the IOI or ICPC World Finals doesn't mean you're mediocre. ... That's for the best in the world ! Having a rating of 1900-2000 is pretty good, I think.

Not just pretty good ... I think that's brilliant ! There are 32 thousand people on this website and only 1800 people are rated above 1900 ... That's the top 5 percentile !

As far as your career is concerned, I guess other people who are older than me and have more experience can advise you better than I am ... But I just wanted to dismiss your silly notion that you have mediocre skills if you're rated 1900.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Also, as far as research is concerned ... Look at this video. it's very encouraging from a top biologist... scientists and researchers ...

    But, I want to tell you that not every mathematician is Erdos, nor is that necessary and not every programmer is tourist, but that doesn't mean they are redundant .... Someone in the top 5 percentile of their field in definitely valuable !

    I'm just telling you this so you don't feel demotivated ..

    I'm not saying this to convince you to do research ... I think money is definitely important.

»
7 years ago, # |
Rev. 3   Vote: I like it +69 Vote: I do not like it

Jobs in the industry are different. A high paying job is not necessarily boring. If you didn't like places where you did you summer internships, go somewhere else after graduation. You can try a completely different type of company (if you interned in a large one, try and join a small startup).

By the way, even the work at the company where you're interning right now can become more interesting if you get a full-time job there (it's not uncommon to give boring/unimportant tasks to interns).

So I'd recommend getting a high paying job as a developer if you can. There're a lot of options in the industry, especially if you have a few years of experience.

Financial security also matters. Getting into even more loans to pursue an advanced degree is likely to be a very bad decision from this point of view.

P.S. If you still want to do a PhD and your Codeforces rating holds you back, just ignore it. Your rating doesn't matter.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it -24 Vote: I do not like it

    I just want to re-iterate that his rating is in the top 5 percentile ... That isn't something to be held back by !

»
7 years ago, # |
  Vote: I like it +12 Vote: I do not like it

Average codeforces.com rating is 1450. Mine rating is 1459. It is me who is really mediocre!

»
7 years ago, # |
  Vote: I like it -26 Vote: I do not like it

I wonder why a lot of competitive programmers have a terrible self-esteem, or is it just fake modesty?

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +33 Vote: I do not like it

    Now to the question, I did 2 internships and then joined as full time and I don't feel like you.

    I have a friend that did though, he did 2 interns as well and didn't like any, so he changed companies and how he is working in a very innovative area that he really likes, so if you don't like where you are I think it's better to just apply to a different company/team. Try talking with your recruiter(s) and tell them what you enjoy and they will try to place you in the right team.

»
7 years ago, # |
  Vote: I like it +18 Vote: I do not like it

Before completely disregarding working in a company I would recommend you to:

1) try getting as various experience as you can, for example working in machine learning team should be completely different than doing some networking

2) if you have a firm mathematical background you can also try applying for a "quant researcher"/"trader" positions in financial industry. That's what I am currently doing on internship, however I started a week ago, so I can't tell you much from my own experience, but it looks like an interesting opportunity for some people from here that they may be even not aware of.

However of course doing a PhD should also be attractive opportunity, it is definitely not required to be red to be successful in it.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    Do you mind disclosing what financial firm you are at?

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it +20 Vote: I do not like it

      G-Research (based in London)

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        mind disclosing why G-research instead of other reputable financial firms like Jane Street or two sigma?

        • »
          »
          »
          »
          »
          7 years ago, # ^ |
            Vote: I like it +10 Vote: I do not like it

          Because they didn't want me ;). In JS I made it to onsite stage in hiring process for a trading intern, but I terribly screwed up it. As for Two Sigma, I didn't have anyone who can refer me there and I didn't get even a reject reply for my CV.

          However even though G-Research may be less recognizable than JS and Two Sigma, it is not a company from lower league.

          • »
            »
            »
            »
            »
            »
            7 years ago, # ^ |
              Vote: I like it +10 Vote: I do not like it

            Thanks for the info. I got rejected for fulltime from JS after onsite as well :( It's really surprising guys at your caliber getting rejected. Wonder what kind of interns they accept...

            • »
              »
              »
              »
              »
              »
              »
              7 years ago, # ^ |
              Rev. 2   Vote: I like it +15 Vote: I do not like it

              Even though I may be really good at brain teasers and may have really good probabilistic intuition there is still a big room to screw it. Following pattern occured two times "I did some not that obvious mistake, they explained to me why this was a mistake, I said I fully understood it, but then I did that mistake second time ... and then third time". They can't allow themselves having such reckless and not learning on own mistakes people as I proved to be one that day. If I would be allowed to undergo that interview once again I am sure I would be much more careful.

              • »
                »
                »
                »
                »
                »
                »
                »
                7 years ago, # ^ |
                  Vote: I like it +10 Vote: I do not like it

                Could you elaborate further in what context one makes these mistakes? Are these some kinds of trading games where you have to price risk or something?

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  7 years ago, # ^ |
                    Vote: I like it +10 Vote: I do not like it

                  1) You should have 100% certainty that you will not lose all your money, not 99,99% even if that would allow having significantly higher expected profit. Or more generally your utility function should not be EX but rather EX-kVarX, where X is your profit and k is some positive constant denoting your risk aversion.

                  2) You should not take on bets with person who has a full information

                  These surely sounds reasonable, but one's thoughts are not that simple when he is interviewed in JS :)

          • »
            »
            »
            »
            »
            »
            7 years ago, # ^ |
              Vote: I like it +10 Vote: I do not like it

            In a thread about finding interesting jobs, this is one of most depressing things possible. If elite math / CS people somehow still get rejected, this does not leave much hope for the rest of us.

            • »
              »
              »
              »
              »
              »
              »
              7 years ago, # ^ |
                Vote: I like it +5 Vote: I do not like it

              Oh come on, I am just a human. I get stressed sometimes and I am bad at understanding spoken English what sometimes lead to awkward situations and sometimes I just screw up without a bigger reason (not hard to note looking at my positions at cfs contests). These seemed to be a case for my JS interview. G-Research's interviews were also challenging, however they went really smooth to me and I got a really safe spot here.

              As you interview with different companies you get more and more experience, feel more comfortable during interviews and have more chances so that one will go as you wish.

»
7 years ago, # |
  Vote: I like it +54 Vote: I do not like it

It is still better that you are eager to study algorithms and mathematics. In my case, I mostly focus on how to code faster or how to approach non-typical problems effectively or how to make a good strategy during the contest, rather than theory itself. I've experienced one internship job before, but it turned out that I'm inured to code in 5 hours too much, and I felt the project is demanding to me... (also this is why my marathon contest level sucks)

When we feel working in tech companies doesn't match ourselves, nor does research, people are easily to find the way of doing programming contest related job. One of the successful contest company is AtCoder (probably, they seems they don't need donation from users), but still you have to develop the contest system or make problem sets for future contests. I'm not good at thinking about boss-level problems for so long time, so this possibility has also vanished.

What I dream about: becoming a professional competitive programmer and earn fixed salary. What would happen if some companies sponsor some coders? Would it be still tough for Top 100 level coders? (if so, I can say I'm mediocre, too!) I feel it strange that competitive programming is not regarded as esports and no companies contract with some coders.

Okay, it was just a dream. Actually I'm majoring in ecology at Faculty of Agriculture, and mostly I study how ecosystems are modeled and make a new model and test for holding new hypotheses. I feel it's interesting because I just like biology, and complexity of ecosystem on the earth, and I can feel my research may affect worldwide environment. I sometimes have to code, but it doesn't require advanced algorithm skills (some mathematics are needed though). In the world, most models are fruitless so I have to simulate various kind of possible models, where my coding speed somehow works. I'll research as a PhD if possible, and it might be another "competitive programmer's future" solution.

Conclusion: Keep various kind of possibility at hand, try something as soon as possible if it seems to help you, and hope a little possibility of better future for competitive programmers, and support this community growing well.

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +37 Vote: I do not like it

    The kind of sad thing about competitive programming is that it seems prize money has regressed over the last 10-15 years. From reading about the past the TCO used to be huge with 100k to the winner in 2002. In 2008 Google Code Jam prizes were higher than they are today. It seems that companies once thought that competitive programming had great promise, maybe for finding engineers or whatnot, however the reality has not quite worked out that way.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I actually think that the reason is it became apparent that good people will still do these contests even without large prize money just because they enjoy solving the problems, and that big prizes do not do much to attract participants who otherwise would not have entered.

»
7 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Have you considered the option of becoming Research Scientist at Google?

  • »
    »
    7 years ago, # ^ |
      Vote: I like it +10 Vote: I do not like it

    I would expect that in the opinion of the OP this would fall under the heading of "Try research (Probably fail and lose years)", as this position requires a PhD, and even then is decidedly nontrivial to get.

    • »
      »
      »
      7 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I don't get it. How does failure look like in this case?

      • »
        »
        »
        »
        7 years ago, # ^ |
          Vote: I like it +10 Vote: I do not like it

        You try to do research, never accomplish anything (research is hard and requires one to be smart). Then you either drop out of PhD program or get a pity PhD that will not allow you to get hired in research roles anywhere. Then you take the same SWE job that you could have had 6 years ago, with far less effort and bitterness.

        • »
          »
          »
          »
          »
          7 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          There are guys working with MS degree. You just need strong foundation and read a lot of papers in the domain of your interest. You don't need to make a breakthrough in order to pass the interview.