Americans Are Scarce in Top Programming Contest
Carl Bialik from WSJ writes "Only four of the 48 best computer programmers in the world are Americans, at least according to a computer-programming competition run by TopCoder. Poland had 11 of the final 48, and Russia had 8. Wall Street Journal columnist Lee Gomes asks whether this is more evidence of a sad decline in American education and competitiveness: 'Surprisingly, the Eastern Europeans don't seem to think so. Poland's Krzysztof Duleba, 22, explained that in countries like his own, there are so few economic opportunities for students that competitions like these are their one chance to participate in the global economy. Some of the Eastern Europeans even seemed slightly embarrassed by their over-representation, saying it isn't evidence of any superior schooling or talent so much as an indicator of how much they have to prove.'"
One of my professors did an exchange year at an Ivy League university, and when they got there they had to send back to the UK for their A Level (pre-university qualification) notes as the students were not at the level that they expected.
Also, I had a friend who was on the student exchange program at the same University at the same time. She was a pretty average C grade student (I'm sure she won't mind me describing her like that), but in her year in the US she got straight As.
I don't know if the standard of education is going down in the US, but it apparantly was nowhere near the standard that my professor and friend expected.
Bob
Listen to my latest album here
You have 4 in the top 48. Tanzania has 0.
Besides, who cares. There are almost 7 billion people in the world. The fact that these coders ranked in the top 0.000001 percentile is amazing, their geographic location is irrelevant.
I love that the eastern europeans are so humble. It makes me proud of these guys.
It wasn't so long ago that the de-facto reason given for coding excellence in the Eastern Block was down to the fact that they were trying to compete with NATO in a cold war on hardware that was at least a generation behind. Where US programmers would be using C (or more likely Ada on DoD projects) the Russians would be doing the same thing in assembly language because it was the only way they could get close to the same performance on the available hardware. I'm curious as to whether these are "new" programmers that have cut their teeth on hardware comparative to that available to their western contemporaries, or old timers that learnt how to do things lean and mean during the cold war because they had no choice.
UNIX? They're not even circumcised! Savages!
Gosh, I hope not. What with their 21st century tax mechanisms, high literacy and technology adoption, I think the Baltics, Poland, and much of the rest of Eastern Europe are leapfrogging Central and Western Europe. Why would you open a new business anywhere in Europe outside the east or Ireland? Folks in France, the UK or Germany are not _that_ much better (nor are Americans, to be honest), and any skills you can't find locally just acquire them via fiber optics and conference cams... I wonder if the tax schemes of Croatia are nice and flat, Dubrovnik would be a _great_ place to live and work I'd think...
Better yet, they can take part in Euroland while remaining far more attractive for business investment (and, thus, jobs).
Wouldn't the ironing be delicious if "East Germany" were to secede again, but this time in order to go 21st-century capitalist (flat tax, low corporate tax) and join the Eastern European economy?
Luckily they can still remember the true face of socialism, and what havoc it can wreak, though perhaps in a couple of generations they too will transform into ignorant ingrates...
Science and technology is just give lip service here in America. We don't value science and tech geeks here. You want to earn some real money? Don't wast your time in science - go study law.
... and have a connection with local computer science, and Americans, and I think there's a mixed bag of reasons. Education style is a factor: education here is "memorize these twenty sort of situations and learn to recognize them. Next week you'll memorize twenty more." American education is more creative, and against "rote learning." The result is that here in Eurasia students have very strong memories, are very good at pattern recognition, and can beat the Americans in a question of "How do you code Kruskal's algorithm? Quick!" The Americans are not very good at memorizing anything, but I think they do better on problems that might be unlike any problem they've seen before, that maybe stumps a local. Also there are cultural factors. On the plus side, clever geeks here are definitely into programming, and PCs are more or less affordable; coding is pretty accessible. Lots of people see education and qualifications as their big ray of hope to make a decent living in a precarious economy -- and there is some truth to this point of view. On the minus side, creating a strong object-oriented design, writing maintainable software, doing good documentation -- not very much encouraged here. It's hard work, it is not nearly as fun as writing really hot code. So there is a tendency to turn code into an Olympic sport, with an accent on speed coding, learning all the cool algorithm paradigms, using clever tricks, the saving four bytes of memory, the saving of two clock cycles ... and writing unreadable, unmaintainable, undocumented code. That kind of coding is fun, but it isn't pro quality software engineering.
$META_SIG_JOKE
Read the article:
"Much of Poland's abundant interest in coding contests can be traced to Tomasz Czajka, who as a multiple TopCoder champion has won more than $100,000 in prize money since the competition began. That has made him something of a national hero back home, and other students have been eager to follow suit."
Having the chance to win $100,000 would be a fairly good incentive for anyone to want enter a programming competition.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
> I think they're just being polite saying "it isn't evidence of any superior schooling"
While it is true that Eastern Europeans are masters of understatement and self-deprecation, I don't think that's the whole story. There is a much stronger culture of high-profile competition in the East than in the West, probably because of a long tradition amongst old communist regimes to foster scientific competition. Kind of like the national spelling bee competition in the US, over there much more emphasis was placed on math competitions. Mind you, pretty much the same kinds of people sneered at them as do over here.
OTOH I really don't think there is that much difference between the science curriculums of the East and the West, with the singular exception of the US. I experienced three high school systems (Eastern Europe, Germany, Australia), and the only significant difference I could see was in the timing--Eastern Europe tends to drop a lot of the heavy science sh!t on unsuspecting students way too early, such as grades 5 and 6 and in general adopts a dog-eat-dog attitude towards the students, while in the West they tend to stage that later on during the senior years and also seem more concerned with not letting students fall off this speeding bus. Australia was the most pronounced in that respect, with the bulk of the advanced science and math being left for the last two years of high school. But at the end of high school I think most Western school systems have imparted about the same amoung of science and math as in the East.
I would also be cautious to make a general statements because programmers are considered 'elite' in Poland. There is huge competition to enter the computer science departments and the good majority of them can earn a decent salary after graduating (a decent in Poland, it would not be that great in the USA). The studies at good universities are hard with a lot of mathematics. The state of the general education is probably less rosy. I was teaching quantum chemistry at the university and the math skills of the students were not that great. However, some of the students were indeed excellent. I think it can be explained by large differences between schools in Poland. Some high schools teach very good maths and some are abysmal. I learned integration, differential equations and complex numbers in high school but some of my students had problems with functions, differentiation and some were even bad in fractions.
On the other hand, I took part in International Chemistry Olympiad while I was in high school and I remember the USA students were rarely at the top (and the results of the recent competitions linked in the Wikipedia article show similar results) but I'm still not sure it is because of worse education in the USA or that the science contests are less popular.
P.S Poland is in Central Europe. I forgive you your math skills but could Americans at least learn geography? :)
Save the bandwidth. Don't use sigs!
I attended the TCO 2006 finals as a spectator, because TopCoder does attract some really great talent and therefore makes for good recruiting and good entertainment. The talent pool does skew toward non-US and early 20s developers, because as you say, people who already have good programming jobs don't have the time or the real need to put in the hours of practice required to compete at these levels.
4 129668120/
But TopCoder is still a lot of fun. I gave it a shot - if you just look at it as a fun way to compete in a field in which you have skill, and not as some reflection on your overall talent level - you can have a good time.
Even being a spectator in the finals - being able to watch the top competitors attack some hard problems in real-time - was an exciting experience.
More thoughts on TCO 2006: http://journals.aol.com/juberti/runningman/
Photos from the TCO 2006 finals: http://www.flickr.com/photos/juberti/sets/7205759
I have a Master's in Statistics and took a class with Professor Loh about decision trees for multivariate analysis. His kids did go to a public school here in Madison, and one of them won a top ten place in the Intel Science Talent Search competition. On a side note, having him as a father must certainly have helped as he is one of the kindest and smartest people I've ever met.
I worked with a high school student who had recently moved from Romania to the US. I found his impressions of the US school system very interesting.
The first thing he said was that school was a lot easier here. But he immediately followed with the fact that he didn't think that his old school taught him anything more, or more advanced. Just that they took a much more adversarial approach with the students.
He said that getting a C was expected, and that you could at any time be expected to stand up in front of the class and explain any part of the subject matter, and be admonished if you could not. Pop tests were a common occurance. He said that you studied like mad just to avoid looking like an idiot.
Whereas, in his American school, you had to slack off to get bad grades, and you never had a test without a week's notice. But although easier, the same material was covered in the same detail.
Just thought it was interesting. In the US, you really aren't forced to learn any discipline, it's up to you to decide to care about it, whereas that doesn't seem to be a real option in eastern countries.
TopCoder and other competitions are as much about the coaches and the effort people put into training as they are about intelligence. The people who do really well on these competetions train very hard, specifically for computer science contests, and the University of Warsaw people have a really, really good coach.
I think that America does poorly on TopCoder not because we have poor students (although America's educational system could be better), but rather because Americans aren't as interested in it. I don't know who the other two Americans are, but I expect that several of my friends and I would have a good shot at Las Vegas if we studied a few hours a week as an extracurricular, particularly if we had a coach as good as the Polish guy.
I'm not just spouting this, either. TopCoder is very similar to the math olympiads and the Putnam (which I have first-hand experience with), so much so that the same people often do well at both (Reid Barton, Po-Ru and Po-Shen Loh won multiple gold, gold and silver respectively at the IMO).
I hereby place the above post in the public domain.
I guess most of the Polish contenders in Top Coder were students. Which means they are under 25, which in turn means they were in high school in late 90s and hardware wasn't a big issue here back then. OK, I was programming Atari 800 when I was 7 years old, but I guess it doesn't change much ;-)
My experience in such contests was that it wasn't at all about 2x speedup, so converting from C to assembly doesn't buy you anything. You need the right algorithm, you need to implement it fast and make no mistakes.
I guess there are several things that need to be done to win such a contest. You need a high profile algorithm classes (read: a lot of math). You need to be bright. You need some luck. But the most important thing is: you need a lot of training. Warsaw University have special classes that prepare students for such contests. Wroclaw University also does, but on slightly smaller scale. We have a national programming contest for high schools. Winners mostly (I guess 80% of them) go to Warsaw. This all can be seen in Top Coder results.
I guess this was also about the ,,we need to beat the Russia'' thing.
And some people from Wroclaw joined Top Coder because ,,we need to match Warsaw''... So there is something about the high
profile competition tradition in Central and Eastern Europe.
It is not the case, where people who are doing great in such contest are unemployed, and have nothing to do except to start in Top Coder. You can get relatively high paying job as a programmer in Poland, especially given much lower costs of living here, than in US or Western Europe. This is all despite the high unemployment in other areas. It takes a week or so to find a job as a programmer in Wroclaw. There are lots of R&D divisions of big foreign and Polish companies here. So they really need not impress US employees to get H1B.
And no, we don't have polar bears on the streets.