Live data from Hacker News

A Competitive Programmer's Handbook

cses.fi

151–160 of 171 posts

Re: A Competitive Programmer's Handbook

#151
I have to tell a story I heard once about Brian Reid [0]. He was in one of these competitions -- this would have been sometime in the 1970s -- and they were given a deck of data cards and told to sort them. Most of the contestants started to write a sorting program in Fortran; Reid looked at the size of the deck and decided he could sort it by hand. He did, and won.

[0] https://en.wikipedia.org/wiki/Brian_Reid_(computer_scientist...

Re: A Competitive Programmer's Handbook

#152
post #74
post #51

Earlier quoted context omitted.

I can do well enough on programming challenges at a place like HackerRank. However, I very rarely actually get to the technical interview in a job application; most commonly, I apply and don't hear back from the company. So as far as I'm concerned, I need better something but that something isn't better skills.

More networking, possibly better networking (easy, I think). Better university name (hard to do). Better company names (not that hard, I think). (Major) Open Source contributions (not hard, but time consuming). Other studies or certifications (easy). If they're not calling you, I'd work on these.

Definitely all things I'd like to work on.

Re: A Competitive Programmer's Handbook

#154

Earlier quoted context omitted.

The problem is your reading comprehension. That reads just fine to me. Pretty standard writing.

Your snide comment is completely uncalled for. My reading comprehension is just fine, the following statement is full of ambiguity: "subset S containing k (k > 6)" A more articulate way to express that would be "subset S that contain k elements where k is greater than 6"

I've always looked at internet conversations as gentleman's agreements in politeness and respect. What I mean by this is that any given internet comment can be a hate filled flexbox of bile and swear words, but most aren't, because that would be a violation of the agreement. But once the agreement is broken (or one of the tiers of the agreement is broken) then no subsequent discussion is beholden to that level.

So in this example, you broke the tier of "blunt criticism". Now that the tier is broken, all responses to your comment are not beholden to that implied agreement. And rightfully so, one of the comments bluntly tells you that you're the one with the issue. Then you said this was completely uncalled for even though a) you started being blunt and b) their response was less rude than yours.

So in summary. Don't dish it if you can't take it.

Re: A Competitive Programmer's Handbook

#155
post #100

Earlier quoted context omitted.

From my experience i'd rather work with programmers with strong CS skills. They put out better code

I'd rather work with the ones who actually care about the people they're solving problems for vs the ones who can write bubble sort with no reference material, which happens in the real world precisely never. Employers pay developers to solve problems, not necessarily to write the most efficient code possible. I get that it's a craft and it's good to understand what happens under the hood, but you can get pretty damn…

I don't think knowing details of algorithms is why strong CS skills are important.

Understanding CS teaches a lot about seeing abstractions and choosing between different levels of abstraction and problem solving. It greatly helps modelling business problems as software. I don't think it is important as an end in itself.

Re: A Competitive Programmer's Handbook

#156

Earlier quoted context omitted.

Your snide comment is completely uncalled for. My reading comprehension is just fine, the following statement is full of ambiguity: "subset S containing k (k > 6)" A more articulate way to express that would be "subset S that contain k elements where k is greater than 6"

I've always looked at internet conversations as gentleman's agreements in politeness and respect. What I mean by this is that any given internet comment can be a hate filled flexbox of bile and swear words, but most aren't, because that would be a violation of the agreement. But once the agreement is broken (or one of the tiers of the agreement is broken) then no subsequent discussion is beholden to that level. So in…

wait, I broke the "the tier of blunt criticism"? Ha ha.

Not only are you accusing me of breaking some arbitrary rule you invented but that is definitely the pompous phrase I have ever read on HN.

Re: A Competitive Programmer's Handbook

#157

Earlier quoted context omitted.

The risk is that you might be less useful than someone who is particularly adept at system design. It seems most problems are actually not sorting, searching, or finding the optimal whatever. Maybe it's just the bubble I work in, but from my perspective it seems that most programmers aren't addressing a problem of the form, "the obvious solution to this well-defined problem is too slow, please have a clever insight t…

This comment is so good that I think just being able to write it would qualify someone for a midlevel programming job!

Senior

Re: A Competitive Programmer's Handbook

#158

Earlier quoted context omitted.

I've always looked at internet conversations as gentleman's agreements in politeness and respect. What I mean by this is that any given internet comment can be a hate filled flexbox of bile and swear words, but most aren't, because that would be a violation of the agreement. But once the agreement is broken (or one of the tiers of the agreement is broken) then no subsequent discussion is beholden to that level. So in…

wait, I broke the "the tier of blunt criticism"? Ha ha. Not only are you accusing me of breaking some arbitrary rule you invented but that is definitely the pompous phrase I have ever read on HN.

"Horribly written" is blunt criticism, like it or not. The parent post is saying that because you delivered blunt criticism, you should be prepared to take it too.

Re: A Competitive Programmer's Handbook

#159

Positive correlation between Competitive Programmer’s Handbook and software engineer interviews? Yes. Positive correlation between being a strong competitive programmer and a strong software engineer? Doubtful.

I have had a lot of experience with competitive programming (competed in NWERC and NCPC multiple times) and this idea that competitive programming makes you worse at software engineering comes up every now and then. From what I've noticed your statement holds a bit of truth, but I just wanted to add from my own experiences. To me it seems like those that have done a little bit of competitive programming are good code…

I think part of the misconception comes from the fact that programs written in a competitive programming setting look very cryptic. Variables are not given meaningful names, there're very little comments, sometimes clever tricks are used etc. But people don't realize that in a professional software, they can take the time to write readable code and still make use of their competitive programming skills.

Re: A Competitive Programmer's Handbook

#160

Earlier quoted context omitted.

Being good at programming competitions correlates negatively with being good on the job - Peter Norvig http://www.catonmat.net/blog/programming-competitions-work-p...

This has been circulated around HN and Reddit several times, and it's disappointing that someone of Norvig's stature would present the data in such a misleading way. Here's a good explanation posted by "tedsanders" the last time this came up on HN: """ All of these claims from Google that say competition performance hurts or that GPA doesn't matter are missing one huge thing: selection bias. Google only sees the perf…

I think what you said is true. But the main point implied here but I didn't mentioned is the mindset or competence is quite different between programming competition & real work. After all, being good on the job depends more on reflection, going slowly, making things right. ;-)
Post reply on HN