Please subscribe to the official Codeforces channel in Telegram via the link: https://t.me/codeforces_official. ×

msnitiz's blog

By msnitiz, history, 3 months ago, In English,

I always had this passion to get into computer science and build really great software. I major in Materials Science but I also wanna give a shot to CP!I have observed that lot of seniors who got placed at Top tech firms were into CP. This place is really filled with talented and smart people! Feels good to venture into coding. Although, I am newbie here, I feel this place can really change one's life.

Still a beginner. I just hope that this goes well

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

»
3 months ago, # |
Rev. 2   Vote: I like it +30 Vote: I do not like it

build really great software

Sorry to burst your bubble. But if this is your end goal, you came to the wrong place. You would be better off hanging out at places like github, software engineering and code review stackexchange.

While this site can provide you with knowledge, most of it probably won't be used in "building software". If you are just looking to have fun by solving computational problems, this is the right place for you.

  • »
    »
    3 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I understand that this site is for competitions. Actually there is a deep intention behind what I said. CP in India is probably the best way to get into a popular software company for students with non-cse background. I did not yet take a data structures and algorithms course at my college. So why would a software company possibly even allow me to sit for the interview ? So, the only good way to show my analytical and coding skills is to perform well here. This may sound like I am doing this only for Job Interview, but I honestly like the problems here and codeforces or any OJ in general gives me goosebumps whenever I get that green tick after the solution gets accepted.

    Also, I understand that Github is really good place to directly dive into the software development ecosystem, but I've heard from many seniors in my university that it's good to first have some basic coding skills and decent knowledge of Data structures and algorithms and then get into software development. This (codeforces) is a good medium which could take me there.

    • »
      »
      »
      3 months ago, # ^ |
      Rev. 4   Vote: I like it +10 Vote: I do not like it

      Honestly, you would seldom be thinking in terms of data structure and algorithms when you are writing a piece of software. Rather, you will be thinking in terms of abstractions, APIs, interfaces, etc. All these have little to do with data structures and algorithms. Rather, they are more of high level design decisions.

      I agree with you that it is good to have some basic coding skills and decent knowledge of Data structures and algorithms. That could be gained by taking some Computer Science mods (perhaps MIT Opencourseware?).

      If you are serious about doing software development, the best advice that I can offer is, to start building some useful software. Even if you build 1 or 2, it is a (much) better testimony to your software engineering capabilities than solving 1000 problems on CF.

      Since one of your aims of learning CP is to pass your technical interview, I recommend doing leetcode (which consists of hundreds of interview questions that were used at past interviews of companies such as Google, Facebook, etc). Honestly, doing CF to pass your interview is like using a gun to kill an ant. And this would probably only help you to get through the coding interview segment.

      TLDR: Building (useful) software is a better proof of your capabilities as a software developer than solving 1000... CP problems.

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Thank you very much. All points you mentioned are really good.

»
3 months ago, # |
  Vote: I like it -13 Vote: I do not like it

I think you should spend more time on Materials Science, instead of computer. Don't take risks, or you may get failed at last.

  • »
    »
    3 months ago, # ^ |
    Rev. 2   Vote: I like it +5 Vote: I do not like it

    Taking risks is necessary if you want to become better at something. It's even okay to fail, you may find you still learn something new in the process of failing.

    • »
      »
      »
      3 months ago, # ^ |
        Vote: I like it -6 Vote: I do not like it

      But it may waste a large amount of time. I mean, it is better to develop a skill that you are really expert in.

      • »
        »
        »
        »
        3 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Every expert was a noob once. And anyway, he is just doing it for fun, not to develop a specific skill.

        • »
          »
          »
          »
          »
          3 months ago, # ^ |
          Rev. 2   Vote: I like it +1 Vote: I do not like it

          Thanks Aryaman for catching my point. Once I get some confidence that I've learnt basic DS and Algo,I'll venture into software development.

»
6 weeks ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Hi,
I am from IIT KGp. I was in a very similar place a few years ago.
I don't do competitive coding anymore but I have done CS internships.
If you need any advice then feel free to email/dm me.