msnitiz's blog

By msnitiz, history, 4 weeks 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.

More stories to come in future.

--

Nitish

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

»
4 weeks 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.

  • »
    »
    4 weeks 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.

    • »
      »
      »
      4 weeks 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.

      • »
        »
        »
        »
        4 weeks ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

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

»
3 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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.