I want to do a job in which I get good income. I love competitive programming. If I develop a very good algorithmic skill, will I be able to get a dream job? Also, I am from a very not-so-famous college
only because of competitive coding you can’t get a dream job. You also have to work on projects as well because the skills you will learn in project development will help you in industry.
I am not saying competitive programming doesn’t give any advantage, competitive programming will give you better problem solving skills using Data Structures and Algorithms, which are most commonly used in Big MNC’s.
So competitive programming will help you but just only on the basis of competitive programming you won’t be able to get a dream job.
Competitive Programming certainly helps you in cracking the interviews, especially for the big MNCs like Amazon, Google, Microsoft. Google is famous to ask at least one DP problem in the interview. You should not stop yourself from getting better each day as long as you are in college. If you are applying just after the college, coding is 80% asked in the interview.
Having said that, only coding does not help. Big MNCs filter the candidates based on their GPAs in college since they cannot ask everybody to come for the interview.
So, along with coding, also ensure you are maintaining a good grade in college. Participating in open-source projects [Github] help to broaden your thinking and approach to a problem. It also helps to think beyond coding towards design.
I am working in Amazon for the last 7 years and actively take interviews. As an interviewer, I mostly focus on Algorithms and Data Structures when it comes to a candidate just out of college. If the candidate is 2+ years experienced, I also look for system design.
Hope it helps.
I like to answer these questions as I fit in the circumstances you mentioned. Do not take this answer negatively, I am just sharing my observations.
- I am also from an average/poor college.
- I also loved competitive programming back in college.
The 1st point point is very important due to two reasons. There was no good environment at college to code during my days. In fact it was so terrible that really cool programming achievements of students went unnoticed and not many people were aware about importance of DSA. Though, the time gradually started to change.
Second thing about not-so-good college is that you do not get good on campus placement opportunities. Most of the companies were either mass recruiters and 1-2 of slightly better service based companies offered way too less than what they offered to IITians/NITians for same profile, same work and even same teams. Also, off-campus opportunities in big companies tend to be either too harsh/unfair for students from not so good colleges.
Coming to the competitive programming part, yes, it helps you improving your problem solving skills, but I will rather suggest you to also focus on the development skills. Smaller startups are generally cool and more approachable and offer comparable learning opportunities and pay. The thing is they focus on your development skills along with problem solving during recruitment. You really do not require implementing HLD or very complex data structures for these interviews. Take a balanced approach if your only goal is placements!
This answer is from my observations and you may find really awesome people getting placed at largest MNC’s from average/poor colleges.