Is competitive programming necessary to think about a job at some good tech giants like Google, Facebook, Amazon, etc.?

Updated on : December 8, 2021 by William Roberts



Is competitive programming necessary to think about a job at some good tech giants like Google, Facebook, Amazon, etc.?

Absolutely unnecessary.

However, the background of competitive programming is so well correlated with one's success rate when interviewing tech giants, that it's almost as if there is some causation, or at least common cause.


I personally, FTR, think it is a common cause. The strength of competitive programming flourishes in one when:

  1. They had a computer to play with (almost 100% today, not that high penetration about 20 years ago).
  2. His natural curiosity favors exploring the world and explaining everything in a rational way (instead of "going with the flow" and "just living his life enjoying each
Keep reading

Absolutely unnecessary.

However, the background of competitive programming is so well correlated with one's success rate when interviewing tech giants, that it's almost as if there is some causation, or at least common cause.


I personally, FTR, think it is a common cause. The strength of competitive programming flourishes in one when:

  1. They had a computer to play with (almost 100% today, not that high penetration about 20 years ago).
  2. His natural curiosity favors exploring the world and explaining everything rationally (instead of "letting go" and "just living his life enjoying every moment").
  3. Their critical thinking requires that they be dissatisfied with the explanation until it is well adapted to the past and the future (long before the concepts of "generalizability" and "model predictive power" are introduced to them).
  4. Last but not least, sorry if it would bother anyone, the force of competitive programming flourishes in someone who prefers to spend time with things and mathematical abstractions, polishing the latter, rather than with people, enjoying the warmth of your company. for enjoying the warmth of your company.

Bottom line: I would never get anyone into competitive programming, but, starting in 2017 at least, I would gladly support anyone who enjoys that activity at any age between the ages of 7 and 27.

Because it's a lot of fun (my subjective perception) and a relatively safe path to an interesting, well-paying job (an objective truth, from what I can tell).

I bet not!

I went to the Amazon Development Center in Hyderabad working as a software development intern.

In the back of my head, I had the idea that almost everyone I will meet at Amazon will be competitive programmers. I was ready to discuss and improve some topics in competitive programming in anticipation of some wonders.

Little did I know what was about to happen. When I met everyone at New Employee Orientation, I rambled on guessing if anyone wanted to talk about competitive scheduling. With the answer I got, very soon the question was replaced by you know?

Keep reading

I bet not!

I went to the Amazon Development Center in Hyderabad working as a software development intern.

In the back of my head, I had the idea that almost everyone I will meet at Amazon will be competitive programmers. I was ready to discuss and improve some topics in competitive programming in anticipation of some wonders.

Little did I know what was about to happen. When I met everyone at New Employee Orientation, I rambled on guessing if anyone wanted to talk about competitive scheduling. With the answer I got, very soon the question was replaced by Do you know competitive programming?

Most of the employees I interacted with were not competitive programmers, except for my mentor. However, they were all doing quite well in their work.

So I bet my money competitive programming isn't a prerequisite for landing a job at Amazon at least.

Although when I mentioned my hobby as competitive programming during my presentation to my team, they asked me how good I am. When I mentioned my credentials, I got some raised eyebrows and a fiery mentor, Anubhav Gupta, for my project!

Update: the same story on Google too.

Akshay Miterani Disclaimer

No.

First of all, not everyone in these companies is a programmer. As noted in other answers, there are different options, and some of them are not so much programming at all, let's put the algorithms aside.

Even if you are talking about being a software engineer or something like that, it is still not the case. I wrote about this in my answer to a similar question: Bohdan Pryshchenko's answer to Is it true that professional developers spend some time solving algorithm problems in HackerRank or TopCoders every day? Like I said there, a lot of Google folks are unfamiliar with

Keep reading

No.

First of all, not everyone in these companies is a programmer. As noted in other answers, there are different options, and some of them are not so much programming at all, let's put the algorithms aside.

Even if you are talking about being a software engineer or something like that, it is still not the case. I wrote about this in my answer to a similar question: Bohdan Pryshchenko's answer to Is it true that professional developers spend some time solving algorithm problems in HackerRank or TopCoders every day? Like I said there, a lot of people at Google are not familiar with competitive programming at all.

2.5 months passed from the time I wrote the answer I mentioned above, during this time I got to know a lot more people, including interns (in case you say "it wasn't necessary in the past, people got the job back then and just stay here, but now that's not the case anymore ”), and competitive programming is not a“ must ”for them.

It seems that practicing the interview questions for some time (from days to months) is quite common, as most people try to prepare for the interview, but it is not a competitive schedule; I know many people who read Cracking the Coding Interview and / or solved some leetcode tasks during its preparation and at the same time they do not have a Codeforces / TopCoder / SPOJ profile and never participated in IOI / ICPC / GCJ / FHC.

I gave and took a lot of interviews in my short career, I also did a lot of competitive coding.

Good interviewers in a good organization always see how passionate you are about what you do. Be it troubleshooting, system design, architecture, coding, etc. There are many ways to show your passion (besides answering what is being asked): knowing your projects very well, open source contributions, updated git profile with past projects, stackoverflow profile, top coder rank, chef rank of code, etc.

So I think you got my point: competitive scheduling is not necessary to get jobs in a good organization.

Keep reading

I gave and took a lot of interviews in my short career, I also did a lot of competitive coding.

Good interviewers in a good organization always see how passionate you are about what you do. Be it troubleshooting, system design, architecture, coding, etc. There are many ways to show your passion (besides answering what is being asked): knowing your projects very well, open source contributions, updated git profile with past projects, stackoverflow profile, top coder rank, chef rank of code, etc.

So I think you got my point: competitive scheduling is not necessary to get jobs in a good organization. Although it will help you to think quickly and accurately in situations of limited time. Also, today, few companies conduct a test round with time constraints.

Happy hunting :)

Competitive programming helps decipher interviews from Google, Microsoft, Amazon, etc. but it is by no means necessary. What you need is a solid foundation in the fundamentals of computer science (primarily data structures, algorithms, operating systems, databases, system and class design).

I appeared in the three companies you mentioned and authorized all of them without any background in competitive programming. And I also know a lot of people who did it with no competitive programming experience.

You don't have to, but experience with competitive programming can help a lot during interviews. Competitive programmers are often excellent problem solvers, which is one of the important skills required to decipher interviews.

Most of the interview questions for the software engineering position as technology companies like Google and Microsoft are directly based on data structures and algorithms. These interview questions are usually much easier than the coding contest questions. As such, programmers with a background in competitive programming find these interviews easier to crack.

However, there are many ca

Keep reading

You don't have to, but experience with competitive programming can help a lot during interviews. Competitive programmers are often excellent problem solvers, which is one of the important skills required to decipher interviews.

Most of the interview questions for the software engineering position as technology companies like Google and Microsoft are directly based on data structures and algorithms. These interview questions are usually much easier than the coding contest questions. As such, programmers with a background in competitive programming find these interviews easier to crack.

However, there are many candidates with no competitive programming experience and some of them do very well too.

Not at all .. !!

Each and every company needs people of all kinds to run their businesses. Programmers alone are not enough to run such large companies. So it completely depends on the profile you are looking for. I have many friends who currently work in the companies mentioned above. Most of them were selected by some non-technical profiles.

Just for the purpose of verifying their troubleshooting approach and capabilities, they were asked some questions based on C and SQL basics and scenarios during their interviews. So if you just want to be a part of these companies I would say just get some information

Keep reading

Not at all .. !!

Each and every company needs people of all kinds to run their businesses. Programmers alone are not enough to run such large companies. So it completely depends on the profile you are looking for. I have many friends who currently work in the companies mentioned above. Most of them were selected by some non-technical profiles.

Just for the purpose of verifying their troubleshooting approach and capabilities, they were asked some questions based on C and SQL basics and scenarios during their interviews. So if you just want to be a part of these companies, I would say just get some information about opening for the non-technical profile and then get ready and look for a perfect opportunity. But if you are looking for a technical profile then you need to be very thorough in data structure and algorithms along with some programming knowledge.

I hope it helps you .. Thank you .. !!

No.

In fact, digging too hard into competitive programming is really detrimental to tech interviewing at tech giants.

I have a "CP4" book by Steven / Felix Halim, which is considered an "excellent reference" among competitive programmers, but my opinion is ... the book uses C ++ thoroughly, but is written in the coding style that it is clearly silly, unacceptable in any C ++ industry standard.

Remembering my Google sites, interviewers are very concerned with coding styles, testing, and documentation, as well as reaching the optimal time / space complexity for the problem.

Not necessarily! But up to a point it is useful!

Coding contests help us learn some tips and tricks (which involve complicated use of the input / output functions: scanf / printf or cin / cout or Scanner in Java; where the interviews don't focus much). But the use of DS and Something in the coding contest is an area that is common in interview questions.

Second, our approach to problem solving, writing clean code, tweaking the design to suit new requirements, etc. is more valued in the interview, while the Coding Contest takes some shortcuts to convert a given entry into Exit.

I hope that helps!

Let's not fool ourselves. Reaching these companies is a competition in competitive programming itself. That is why one would see many competitive programmers in these companies because during the interviews, they are not 'competing' against other candidates, they are 'slaughtering' them. That said, you won't always get a competitive programmer competing for the same job as you, so all you can do is practice leetcode and data structures and algorithms.

Competitive programming is increasing your coding logic and speed.

That will help you in all fields, I think.

But individually, if your logic is strong, it is not necessary!

Other Guides:


GET SPECIAL OFFER FROM OUR PARTNER.