Slashdot Mirror


Google Code Jam 2004

cymen writes "Google's Code Jam 2004 is open for registration at TopCoder.com. Slashdot reported on the 2003 winner and Google has a Code Jam 2003 summary. Grab some caffeine and get hacking!"

11 of 209 comments (clear)

  1. Google - what a great company by Slashbot+Hive-Mind · · Score: 5, Insightful

    $10,000 for the winner, but the real prize is recognition amoung your peers. And it will help open source as well.

    --

    --
    We are the collective Slashbot HiveMind
    1. Re:Google - what a great company by Anonymous Coward · · Score: 1, Insightful

      Oh please. Why on earth would Google sponsor the event, fly in the top 50, and interview each of them, year after year, if they thought they weren't interviewing programmers of the highest quality? Are they irrational? Morons? Why?

      If you can tell me some other method for getting Google to fly me half-way across the world for an interview - I would really love to know it!

      Why don't you take a couple of minutes and look at the profiles of a few of the top TopCoder competitors. I think that you'll see that most of them are employed at prestigous companies in the industry or finishing degrees at top schools like Stanford, MIT, CMU, CIT, etc.

      Fast, poorly designed code, does not pass the 50 to 100 system checks that are run on each problem. Nor will it pass the scrutiny of the other competitors during the challenge phase. Why don't you review some of the submissions from previous contests and point out some errors in the system. You can do it. I have a lot of faith in you.

      Is it just me - or is the Slashdot crowd a little insecure? Seems like more than a few of you are afraid to find out that you're just a bottom coder. Of course, you'll never know where you stand unless you're willing to try. :)

  2. oh great by KingPunk · · Score: 3, Insightful

    heh. thats all we need, people who can brag about how fast they can code.
    only problem, when coding in speed, many people make more errors
    its a proven fact that if you think through your objective 1st, and take a decent ammount of time doing so, you're more efficent.
    in fact, i believe it was in the mid-70s that the us govt, thought about increasing the work day from 8hours/day x 5days, to 10hours/day x 4 days to make it more productive for workers.

    1. Re:oh great by attam · · Score: 5, Insightful

      have you ever done a topcoder competition? it's about speed AND accuracy. sure the fastest person gets the most points, but a) if your code doesn't pass their system tests you get ZERO points and b) other people can look at your code, try to find faults and challenge it. if they challenge you and your stuff breaks (takes more than allotted amount of time, gets a corner case wrong etc) they get bonus points and you lost your points. i think this is a pretty neat system, and i dont think it's advocates bad practices. remember, these problems are designed to be solved quickly.

  3. So, will they take the winning app and block it? by mbourgon · · Score: 3, Insightful

    I can see it now - something like the GoogleMail FS comes out of it, only to get blocked like the notifiers are.

    --
    "Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
  4. Re:Why not... by StevenHenderson · · Score: 1, Insightful

    Are you serious? Do you have an idea as to what the salary would be? And after working for Google, you could likely pick your place of employment forever (provided you don't get fired). Google is now a world-wide power in the software community - it would be well worth it to take the job.

  5. Pathetic by Anonymous Coward · · Score: 0, Insightful

    This pathetic competition - they moved away from real life problem of "here is lots of data show what you can do with it in your own time with code scaling well" to "school-like" timed tests. This is totally not realistic. As I said "school-like".

    But it is certainly easier to "grade" submissions - they have got automated system to do that. So instead of tasking people with coming up with creative solution they just check your memory and do-it-in-60-minutes job.

    Appauling - Google is NOT what it was before, and this is manifested in many areas including programming.

  6. Re:Jimmy! by Brian+Quinlan · · Score: 5, Insightful

    To me, it's more important to measure the potential of a programmer, more than the experience of the programmer. Creating new ideas and systems does not require experience alone -- it requires a great deal of potential. Simply breaking and fixing code in a realtime setting is good for the day to day stuff (and that is valuable for Google), but when a customer or boss asks to you build something new and difficult, many experienced programmers answer with, "that can't be done" when less experienced programmers will try to do it, with limited success.

    I did the Google Code Jam last year and found that they required a lot more than basic coding skills.

    One question involved analysing sequences of resource lock and unlocks, represented by upper- and lowercase characters in strings e.g. "ABba", "BAba" and "CADadBbc". Given such strings, you had to write a program to identify potential deadlock conditions e.g. the first two strings can deadlock at position 1 because the first string will hold a lock for A while waiting for B and the second string will hold a lock for B while waiting for A. Of course the real tests were more difficult than this. I think that less than 10 people out of 250 got this one.

    Another question involved graph searching but with the cost of node traversal changing with time according to a pseudorandom algorithm. My solution was only twenty or thirty lines of code but it took a while to think how to do a time-based graph search.

    The challenge phase is fairly challenging (excuse the pun) as well because you only have thirty minutes to make all of your challenges and you lose points if you are incorrect i.e. you claim that a certain valid input combination will cause the program to fail and it doesn't. Thirty minutes is not a lot of time to attack the 30 potentially flawed solutions that you are looking at. You have to pick a set of likely flaws (based on your own design) and quickly scan each set of code for it. Then, when you find a likely candidate, you have to read it in detail to make sure that you aren't wrong.

    My point is that the Google Code Jam is for more than experienced programmers who can quickly bash out simple algorithms - you have to be able to devise novel algorithms under time pressure and devise strategies based on the psycology of your fellow coders

  7. Re:No Perl? by Peter+Cooper · · Score: 3, Insightful

    Perhaps they're not looking for people with true creativity or passion, because those people are already working on their own projects.

    What they're looking for are typical Java, C#, and VB.NET (I'm excluding C++, as it's a catch-all) programmers who might be excellent coders, but typically lack originality and need to be spoon-fed with problems which they can then solve with some rapidly produced code.

    The true masters out there aren't spoon-fed problems; they find the problems and then they solve them independently of the programming language. Google are looking for code grunts to do maintenance work. They already have the 'big minds' in the form of the many PhDs on their staff.

  8. Why is this a "programming" challange? by clambake · · Score: 3, Insightful

    I read through the various sample problems, and I see nothing at all resembling a "programming challenge". Sure there are algorithms that need to be written, but it's just that, algorithms and logic. Things you can write down on a sheet of paper in long hand. The only reason programming is involved in any way, shape, or form is because it's an easy way to test people's algorithms, not becuase it's a fundamental part of this "challenge".

    I offer that a mathematician who has never in his life even SEEN or HEARD of a computer could solve these problems, all of them, without a line of code. How then can this be considered a "programming" challenge?

    A REAL programming challenge would deal with the real problems that programmers face: memory leaks, error correction, fault tolerance, user interface design, maintainability, speed, scalability, efficient object model design, database schema design, etc.

    It's unfortunate that people look at these contests and think, whoah, that dude must be some hot shit programmer to be able to solve that! But really, he could be a crap programmer (hell they offer VB.NET for gosh sakes!) and just took a whole lot of logic and calculus. That doesn't mean if you hire him he'll do a damn bit of good for your company. It doesn't mean that any project he works on will be in any way maintainable. In fact, more likely than not, any code he writes will be only understandable by him and will turn into a taboo "don't touch it becuase it'll break if you sneeze" mess that costs endless amounts of pain and money.

    I wish for once I saw someone have the intelligence to put out a REAL *programming* challange. One that requires you to think about entire systems, about design and IMPLICATIONS of design, about the subtle balance between speed and stability, about the umpteen million things that divides the '1337 h4X0r who is brilliant but considers random crashes to be expected from the professional and vastly underappreciated programmer who's work is so rock solid that he doesn't need a pager for the weekends. THOSE are the people who should be getting the props.

  9. What can a programmer/architect do in a year? by presidenteloco · · Score: 2, Insightful

    If I were google, I'd be a lot more interested
    in what a programmer/software systems architect
    can accomplish in a year than in a day.

    A day is totally random.

    Also, shouldn't the candidate's creativity
    at originating novel ideas count for something
    and not just their "well-studied code mechanic"
    skills?

    Spoken from the perspective of someone who used
    to get ~100% on the portions of tests that I
    completed in the allowed time for the test.
    Unfortunately, I only completed the first
    80 or 90% of the test because I thought more
    like an Ent than like a squirrel.

    So what was my ability? 98%, or 85% ?
    I suppose for all those relatively trivial
    problems that I have to solve in 1 hour or
    less (strikingly few problems like that in
    s/w eng. in my experience) I'm only an 85%er.

    Usually I only have to solve problems in
    real-time when someone else has screwed up
    their planning phase (e.g. let's do this
    live important demo before ever trying it
    first.)

    I think out of the code jam, google will
    find very good plumbers. Maybe what they
    need to find are software people who are
    the equivalent of Rem Koolhas
    or Daniel Libeskind (or Sergei Brin and Larry
    Page). You won't find them entering
    1-hour or 1-day coding sprints.

    --

    Where are we going and why are we in a handbasket?