Though it did inspire a new generation of programmers and for that long live Code Jam!
Goodbye to Google Code Jam
101–110 of 147 posts
Re: Goodbye to Google Code Jam
#102Competitive coding has always been a bit of a joke, but it's a great entry vector for kids to get introduced to programming (and eventually software engineering). I'm not entirely sure how to feel about this, though. I have always been suspicious that the existence of the game of competitive coding has been used to kind of justify the "leetcodification" of the tech interview circuit, and (IMO) that can't go away soon…
Why is it a joke? It is like any other sport or Olympiad, it involves solving faster, accurately and potentially of problems you haven't seen before. There is no direct correlation between competitive programming like CodeJam/ICPC and leetcode. They don't target the same audience at all. I couldn't get to the top of these but I do admire people who do, they are some of the absolutely brilliant people I have worked wi…
Personally, I would be a much bigger fan of competitive programming if at least one of these were true:
1. The problems at high level programming competitions were harder and maybe mapped more to real-world programming problems. Think of the IMO or the Putnam exam in "competitive math." The "Olympiad" of programming today consists of 5-10 problems that top-level competitors can solve in ~10 minutes each by reading the problem and mapping it to a known algorithm. Speed of typing and information retrieval from your algorithm library is the primary skill here.
2. The scoring method was something other than speed of production of code. Performance of the code is an easy alternative, but also not a great one unless you want to force everyone to use C++ or Rust. Using an objective function of some sort (based on the problem) would be an interesting method, but harder to write questions for.
It is very easy to see the link between leetcode and competitive programming. The problem structure is basically the same, and the big difference is that the leetcode problems that people give in interviews are easier. The problem-solving skills involved are the same.
Also, I can't suggest an interviewing method for you that has all those properties, because one doesn't exist. You aren't going to find one interviewing method that works the same for a cloud provider, a CRUD SaaS startup, and a game studio. This isn't something you can just cargo cult, you have to design it for your own situation. My inclination would be to cut the 5 leetcode interviews from your circuit and put that time into a single 2-3 hour take-home project that has some relevance to your company plus a 1-hour code/design review interview. Alternatively, give a candidate a bunch of small code snippets and ask them to debug the code.
Finally, if you want an IQ test (which is what I suspect hiring based on "spelling bee" competitions like competitive programming and leetcode is really about), you can add a Wonderlic test (or one of their competitors) to your interview circuit - a lot of hedge funds do it, and I honestly didn't hate it when I interviewed with a few of them.
Re: Goodbye to Google Code Jam
#103Competitive coding has always been a bit of a joke, but it's a great entry vector for kids to get introduced to programming (and eventually software engineering). I'm not entirely sure how to feel about this, though. I have always been suspicious that the existence of the game of competitive coding has been used to kind of justify the "leetcodification" of the tech interview circuit, and (IMO) that can't go away soon…
Re: Goodbye to Google Code Jam
#104Earlier quoted context omitted.
I agree, and I’ve competed at the highest level in programming competitions. Most of my peers there would not be good hires. Top level programming competitions are like top level spelling bees. You need to have as many algorithms memorized as possible in code . That’s right. You need to be able to recite code by memory to pump out algorithm functions as quickly as possible since libs aren’t allowed generally. This is…
So you've competed at the highest level of programming competitions, but you also seem to be doing work on Upwork [1]? That seems pretty unusual... [1] https://news.ycombinator.com/item?id=34935440#34935783
We never won anything, so I would not dare claim we competed at a highest level. As far as I remember, most of our preparation was about "recognition" -- how to tell if a greedy approach is optimal, or how to recognize if a dynamic approach fits. And of course, how to write a program quickly and not forget any corner cases.
I remember having daydreams back then of memorizing a max-flow algorithm or potentially even a linear programming solver and then quickly retyping it at a competition. Flows and LPs indeed solve a lot of stuff (LPs are P-complete). I admit I never did that, and it wouldn't be a winning strategy there anyway.
PS: Oh, and contrary to the poster above, most of my friends from the university days would be and indeed were great hires, judging by their jobs at Google, Microsoft and elsewhere. Some others, such as the actual ICPC winners from our university, ended up pursuing academic careers -- but I dare not say they would have a bad time in the industry.
Re: Goodbye to Google Code Jam
#105Earlier quoted context omitted.
Why is it a joke? It is like any other sport or Olympiad, it involves solving faster, accurately and potentially of problems you haven't seen before. There is no direct correlation between competitive programming like CodeJam/ICPC and leetcode. They don't target the same audience at all. I couldn't get to the top of these but I do admire people who do, they are some of the absolutely brilliant people I have worked wi…
I am not a big fan of them because the sport has converged on the idea that the competition should be about quickly producing code for problems that map to algorithms fairly trivially once you parse the structure of the problem. Top-level competitive programmers have libraries of functions and algorithms that they copy-paste from, and so the end result is more like a spelling bee than anything else. Personally, I wou…
I don't think you've kept up with or watched any "top-level" competitive programmer solve problems. Saying all competitive programmers do is copy-paste is like saying all programmers do is google.
Re: Goodbye to Google Code Jam
#106For anyone wondering about the underlying reason for these events suddenly being cancelled: it is connected to Google laying off the team that organized these four events, as part of their January job cuts. I covered more details I could find a few weeks ago [1] [1] https://blog.pragmaticengineer.com/google-coding-competition...
These views reflect that Google Code Jam was a very significant source for recruitment. In contrast, when I searched about whether Code Jam was a significant part of Google's recruitment strategy, one of the top results on Reddit on r/cscareerquestions really underplayed the recruitment part, by non-Google employees giving advice about it: https://www.reddit.com/r/cscareerquestions/comments/p7ioku/w...
The r/cscareerquestions commenters there could still have a point that it was more direct to take other approaches to applying to the company instead of Code Jam, but the general dismissive attitude of the top-upvoted commenter (e.g.: "No benefits. If anything, might even be harder to get interviews cause the guys grinding for those contests don't have time to make a proper resume.") really overemphasized an opinion based on speculation, instead of taking a more balanced view that recognized that Google Code Jam was run with a large motivation to recruit developers.
Re: Goodbye to Google Code Jam
#107Earlier quoted context omitted.
I am not a big fan of them because the sport has converged on the idea that the competition should be about quickly producing code for problems that map to algorithms fairly trivially once you parse the structure of the problem. Top-level competitive programmers have libraries of functions and algorithms that they copy-paste from, and so the end result is more like a spelling bee than anything else. Personally, I wou…
> Top-level competitive programmers have libraries of functions and algorithms that they copy-paste from, and so the end result is more like a spelling bee than anything else. I don't think you've kept up with or watched any "top-level" competitive programmer solve problems. Saying all competitive programmers do is copy-paste is like saying all programmers do is google.
Re: Goodbye to Google Code Jam
#108Re: Goodbye to Google Code Jam
#109For anyone wondering about the underlying reason for these events suddenly being cancelled: it is connected to Google laying off the team that organized these four events, as part of their January job cuts. I covered more details I could find a few weeks ago [1] [1] https://blog.pragmaticengineer.com/google-coding-competition...
Google, you have just disappointed and pissed off many of the best algorithmic programmers in the world. They will not forget this. Is that who you want to be?
Re: Goodbye to Google Code Jam
#110Earlier quoted context omitted.
Also a cute prompt I saw on the same twitter thread ``` This is a variant of the monty hall problem: Suppose you're on a game show, and you're given the choice of three doors. IMPORTANT: All the doors are transparent. Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who clearly knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to…
> I wonder how gpt-4 does. The problem is that as soon as people started tricking ChatGPT 3 into problems like that, the correct answers are now being used to train the next versions and are going to be part of the dataset. So GPT-4 or GPT-5 may get the answer right, but that still wouldn't mean anything.