CPFAQ: Is Competitive Programming Only For Smart People?


I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page.

It’s fun to debate the nature vs. nurture / intelligence vs. effort question. Years ago, I started this blog with a post on that subject. In Quora’s competitive programming topic, people have found a multitude of ways to ask Is competitive programming only for smart people? I found the most interesting answers in a question with this unwieldy title:

Can an average IQ person with no competitive programming experience reach Brian Bi’s level in C++ and competitive programming one day just by hard work?

Is It All About Practice?

The answers to this Quora question cover a range of opinions about Brian Bi and the average competitor who aspires to match him. On one end of the opinion spectrum is Jerry Strazzeri, who quotes a Stanford professor who said, “Success has little to do with IQ, but a lot to do with hard work.” He follows that up with his own opinion that “IQ play[s] a very small part in academic and professional achievements.” But as Malcolm Lerider points out in the comments, “There is a high correlation (~0.5) between IQ and professional success.” While there’s still debate about how innate ability combines with practice to produce achievement, saying that IQ contributes “little” to success is a dubious claim.

Brian Bi himself takes a practice-centric point of view in his answer, suggesting “I think you would be much less impressed with how much I know if you knew how much time I spent learning it” and “I don’t believe that IQ represents a cognitive ceiling. Even if you have less talent in an area, you can always make up for it by working harder.”

Is It All About IQ?

Every answer to this question acknowledges the role of practice in competitive programming success. No one is born knowing how to program. But several answers propose that IQ sets an upper limit on what level of achievement is possible.

Keith Allpress considers the example of chess achievement. Like competitive programming, chess is a mind sport in which players are rated based on their performance in games. In fact, some online judges use a rating system adapted from the one developed for chess. According to Allpress, it’s not possible to get above 1500 or so (a mid-level rating) without the right kind of innate ability.

Antonio Fernandez Alonso also accepts the upper limit theory, posing this question: “Can an average person reach Usain Bolt’s level in 100 meters and competitive running just by hard work?” This is a good example of the limits of practice. Even K. Anders Ericsson, who studies deliberate practice as a way for average people to achieve elite performance, acknowledges that there are physical limits to some types of achievements. But these tend to be athletic achievements (e.g., getting drafted onto an NBA team) rather than intellectual ones.

Time Limits

Even if deliberate practice can theoretically lead to expert performance, how realistic is it that a given person can sustain the amount of practice required to reach an elite level? James Grant theorizes that “For the average person, there just aren’t enough hours in the day to keep up with top people.” He means that literally, proposing a thought experiment that relies on the following assumptions:

  • A reduction in IQ by 10 points doubles the time required to maintain a particular competitive programming rating.
  • Brian Bi practices for 8 hours per day and has an IQ of 130.
  • James Grant has an IQ of 120.

In this scenario, James would need 16 hours per day to keep up with Brian. That might be achievable if he was very motivated. But someone with an IQ of 110 would need 32 hours per day, which clearly isn’t possible, no matter how much they wanted to keep up with Brian.

As James points out, “I have no research study to quote, no data to offer and I am not claiming it is exponential.” But although his mathematical model might not stand up to experimental testing, his more general point is valid: even if you can theoretically catch up with someone who has more natural talent than you, it might require more time per day than you are willing or able to spend.

The Right Approach

For most people, whether it’s possible to beat a rival in a competitive game is a theoretical distraction. Maybe it is and maybe it isn’t. The only way to find out is to try.

(Image credit: pingnews.com)