Блог пользователя AlexSkidanov

Автор AlexSkidanov, 11 лет назад, перевод, По-русски

MemSQL с радостью сообщает о проведении start[c]up -- соревнования по программированию, проводимого на Codeforces. Start[c]up состоит из двух раундов.

Оба раунда подготовлены программистами MemSQL: pieguy, nika, exod40, SkidanovAlex и dolphinigle.

Раунд 1 состоится онлайн 13 июля и будет проведен по стандартным правилам Codeforces. На нем будет представлено пять задач, сложность которых сопоставима со средним раундом на Codeforces. Для участия в первом раунде допускаются все желающие.

Раунд 2 состоится одновременно онлайн и онсайт 3 августа и будет проведен по стандартным правилам Codeforces. Будет представлено пять задач, сложность которых, по нашей оценке, превосходит средний раунд на Codeforces. Во втором раунде могут участвовать только участники, занявшие первые 500 мест в первом раунде. Лучшие 100 участников второго раунда получат футболки start[c]up.

Для тех из вас, кто находится географически в Кремниевой Долине, мы пригласим 25 лучших участников по итогам первого раунда на онсайт версию второго раунда. Победитель онсайт раунда получит специальный приз.

Больше информации о нас под катом .

MemSQL разрабатывает базу данных, которую сегодня используют многие известные компании, такие как Morgan Stanley и Zynga. Почти половина инженеров в MemSQL -- финалисты TCO разных лет, более того, в MemSQL количество медалей ICPC и IOI превышает общее количество программистов.

Чтобы написать базу данных, нужны очень хорошие инженеры. Хотя у спортивных программистов часто нет нужного опыта работы, они, в большинстве своем, очень умны. Как показало время, такие люди в боевых условиях получают нужный опыт очень быстро, в то время как менее талантливые люди, даже с большим опытом, не могут научиться быть умными.

Почему мы, авторы раунда, работаем в MemSQL? Потому что в MemSQL есть очень много очень крутой работы. Оптимизатор SQL запросов, управление серверами в распределенной системе, lock-free структуры данных -- все это в нашей базе данных написано спортивными программистами. Так что если вы ищете, где бы пройти стажировку, или уже ищете себе постоянное место работы, и вам интересно работать с людьми, которые так же умны как вы, обязательно пришлите нам ваше резюме (на английском) на [email protected].

  • Проголосовать: нравится
  • +304
  • Проголосовать: не нравится

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится +120 Проголосовать: не нравится

"которые так же умны как вы"
которые так же умны как вы

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится +69 Проголосовать: не нравится

Мда, текст жжёт напалмом... На него теперь будут приводить ссылки противники спортивного программирования, как пример очевидного вреда от контестов (в виде острой гипертрофии ЧСВ :) ).

Почему в MemSQL столько спортивных программистов? Потому что обычные программисты не могут написать базу данных. Для этого нужны очень умные люди. Хотя у спортивных программистов часто нет нужного опыта работы, они, в большинстве своем, гении. Как показало время, такие люди в боевых условиях получают нужный опыт очень быстро, в то время как менее талантливые люди, даже с большим опытом, не могут научиться быть умными.

Я конечно понимаю, что это текст для пиара, но в этом абзаце все утверждения как минимум спорны. Всё же такое количество пафоса — не круто.

Upd. Прочитал английскую версию, а там совсем другое написано:

Even though topcoders might not have skills necessary to build a database, they are known to be very smart. We’ve seen that smart coders can quickly acquire necessary skills, but average coders, regardless of experience, cannot learn to be smart.

Это было тонко :)

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +4 Проголосовать: не нравится

    Ну как же там написано другое если перевод почти дословный :) Я придерживаюсь мнения, что пафос -- это не очень плохо, но тем не менее поменял русскую версию немного ближе к английской.

»
11 лет назад, # |
  Проголосовать: нравится +70 Проголосовать: не нравится

I'm really impressed with so many high-rated engineers in MemSQL!

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится -25 Проголосовать: не нравится

    nearly half of their engineers is TCO finalist, IOI and ICPC medals, well... that explains it

»
11 лет назад, # |
  Проголосовать: нравится +85 Проголосовать: не нравится
»
11 лет назад, # |
  Проголосовать: нравится +69 Проголосовать: не нравится
Победитель онсайт раунда получит специальный приз.

Бесплатную копию MemSQL ?

»
11 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

Под средним раундом Codeforces подразумевается div-1 раунд?

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится -97 Проголосовать: не нравится

Думаю, довольно много участников будут на IOI в Австралии. И отборочный раунд будет в день отъезда, так что учавствовать они не смогут, а в принципе на IOI лучшие кодеры сврей страны. Не стоило бы перенести дату?

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    Во-первых: IOI с 6 по 13-ое июля, не так ли?
    Во-вторых: в остальных так было бы больше шансов заработать футболку.

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится +38 Проголосовать: не нравится

      Я бы начал с того, что по-русски надо писать в русских комментариях, а продолжил тем, что утверждение о том, что на IOI находятся лучшие кодеры от каждой страны, мягко говоря, очень сильно натянуто.

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится +11 Проголосовать: не нравится

        Порядка 100 человек, которые могут показать хорошие результаты + люди, которые приезжают в качестве гостей — порядка 10 человек, которые могут показать ОЧЕНЬ хорошие результаты. Пренебрегать такой аудиторией как-то нехорошо.

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
            Проголосовать: нравится 0 Проголосовать: не нравится

          Ну да, я и не спорю с тем, что такие даты соревнования имеют определённые минусы. Я только заметил, что насчёт лучших — это грубое преувеличение.

»
11 лет назад, # |
Rev. 3   Проголосовать: нравится -33 Проголосовать: не нравится

We’ve seen that smart coders can quickly acquire necessary skills, but average coders, regardless of experience, cannot learn to be smart.

»
11 лет назад, # |
  Проголосовать: нравится -46 Проголосовать: не нравится

"We’ve seen that smart coders can quickly acquire necessary skills, but average coders, regardless of experience, cannot learn to be smart."

Define "smart". Define "average". And then please also explain with data points where "average" developers weren't able to learn to be smart in spite of experience, practice, and persistence.

I am hoping the quoted statement was written with no ill intentions, but it is a very offensive statement.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится -8 Проголосовать: не нравится

    I totally agree, we can not tag people by words like "smart" and..., what we should really value is passion for learning and the effort

    • »
      »
      »
      11 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

      it seems like the author of this blog doesn't value the passion for learning and judging from what he wrote, he was never an "average" coder but an expert from the start.

»
11 лет назад, # |
  Проголосовать: нравится +96 Проголосовать: не нравится

Просто вставлю здесь ссылку

http://codeforces.com/blog/entry/282#comment-4631

Особенно мне понравилось это:

Главное при этом не обманывать себя в "пользе олимпиадного программирования". Это миф тех, кто его пропагандирует. От олимпиадного программирования нет пользы кроме медали :о) И полностью испорченного стиля.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +29 Проголосовать: не нравится

    Это не сильно противоречит тому, что написано в этом посте. Человек же не становится умным и целеустремленным, потому что прошел на ICPC. Человек прошел на ICPC, потому что он уже умный и целеустремленный. Значит, если ты ищешь умного и целеустремленного человека, разумно искать среди успешных спортивных программистов. Позиция в вопросе о том, насколько олимпиады развивают человека как программиста, может быть любая при этом.

    • »
      »
      »
      11 лет назад, # ^ |
      Rev. 2   Проголосовать: нравится -41 Проголосовать: не нравится

      На самом деле, с практической точки зрения у СП две проблемы

      1. Сложно проводить собеседование. У человека overskill на маленькие задачи, а формат собеседования изначально ограничен по времени.

      2. Полностью убитый стиль, в этом я полностью согласен с постом выше.

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится +55 Проголосовать: не нравится

        Поясните про стиль. Мне кажется что за несколько ревью адекватного человека можно отучить от большинства косяков.

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
            Проголосовать: нравится -48 Проголосовать: не нравится

          После двух лет в одной команде выкать — толсто)

          Есть стандартная вилка между "написать быстро" и "написать так, чтобы потом было меньше проблем". В СП эта вилка безусловно в "быстро", и от этого весьма долго человека отучивать.

          • »
            »
            »
            »
            »
            »
            11 лет назад, # ^ |
              Проголосовать: нравится +38 Проголосовать: не нравится

            Этот неловкий момент когда на полном серьезе спрашиваешь, а думают что ты тролль :)

            Все равно непонятно. Говоришь человеку "давай ты будешь писать без хаков и костылей и с нормальными именами переменных" и это работает. В любои случае переучить на нормально быстрее чем с нуля.

            • »
              »
              »
              »
              »
              »
              »
              11 лет назад, # ^ |
              Rev. 2   Проголосовать: нравится -39 Проголосовать: не нравится

              Стиль — это не хаки, имена переменных и костыли. Речь идет о том, что человек, имеющий олимпиадный опыт, скажем, три года, существенно отличается от человека, имеющего практический опыт три года.

              Нормальные имена переменных — тот еще холивар, а вот как ты научишь человека отличать, какая из реализаций лучше? Где ждать ошибку, а где нет? Вот тебе пример, может быть, очень далекий от твоей области работы:

              void SomeWindow::OnKeyDown(int code) {
                 if (GetKeyState(VK_CONTROL) < 0 && !(GetKeyState(VK_SHIFT) < 0)) {
                    switch (code) {
                       case 'A': SelectAll(); break;
                       case 'X': Cut(); break;
              //...
                    }
                 }
              }
              

              Казалось бы, все замечательно, названо как надо, единственная беда — на самом-то деле в той же винапе можно это сделать по-человечески, а эта реализация в некоторых уникальных случаях просто не работает.

              Upd. К чему это я? К тому, что олимпиадный опыт сводится к тому, что ты пишешь в среде, которую знаешь. В любом практическом случае ты должен исходить из того, что среду ты в принципе не знаешь.

              • »
                »
                »
                »
                »
                »
                »
                »
                11 лет назад, # ^ |
                  Проголосовать: нравится +48 Проголосовать: не нравится

                Это просто не очень хороший код. А практический опыт вещь, конечно, полезная, покуда вдруг не приходится менять область разработки. Можно отлично знать winapi и все их косяки, это не поможет в разработке под Android. А вот знание алгоритмов очень часто не помешает

          • »
            »
            »
            »
            »
            »
            11 лет назад, # ^ |
              Проголосовать: нравится +26 Проголосовать: не нравится

            А можно конкретный пример, когда нужно "весьма долго человека отучивать"?

            • »
              »
              »
              »
              »
              »
              »
              11 лет назад, # ^ |
                Проголосовать: нравится +17 Проголосовать: не нравится

              Я — пример такого человека. Первый месяц работы в гугле получал десятки комментов к каждому ченджлисту. Мне повезло, что ревьюверы попались с уклоном в перфекционизм и я довольно быстро переучился. Но теперь стараюсь писать контесты на языке, отличающемся от используемого на работе.

              (в скобках замечу, что C++ усугубляет эффект, т.к. хакнутый говнокод на нём писать не просто, а очень просто. Возможно, с java всё не так плохо).

              • »
                »
                »
                »
                »
                »
                »
                »
                11 лет назад, # ^ |
                  Проголосовать: нравится +16 Проголосовать: не нравится

                Так "долго" — это месяц, 2-3?

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  11 лет назад, # ^ |
                    Проголосовать: нравится -20 Проголосовать: не нравится

                  Ну да, O(месяца) — это долго. И мне ещё повезло, может получиться и дольше.

              • »
                »
                »
                »
                »
                »
                »
                »
                11 лет назад, # ^ |
                  Проголосовать: нравится +27 Проголосовать: не нравится

                В Гугле просто все ревью очень тщательные. Я оставляю по много комментов регулярно и людям, кто работает далеко не первый и не второй месяцы.

              • »
                »
                »
                »
                »
                »
                »
                »
                11 лет назад, # ^ |
                  Проголосовать: нравится +28 Проголосовать: не нравится

                2-3 месяца — это совершенно нормально. Если бы ты до этого прогал, скажем, под winapi, а после стал писать под iOS — срок был бы схожим

              • »
                »
                »
                »
                »
                »
                »
                »
                11 лет назад, # ^ |
                  Проголосовать: нравится +8 Проголосовать: не нравится

                Это по моему зависит от человека, т.к. я когда там стажировался комментов к моим CL было не сверх много (конечно было немного и из-за олимпиадного прошлого (например свои велосипеды)). Гораздо большей проблемой было отсутствие опыта в таких масштабных проектах.

          • »
            »
            »
            »
            »
            »
            11 лет назад, # ^ |
              Проголосовать: нравится +21 Проголосовать: не нравится

            И еще интересно, что такое "стиль" при написании оптимизатора запросов к БД ?

            • »
              »
              »
              »
              »
              »
              »
              11 лет назад, # ^ |
                Проголосовать: нравится +8 Проголосовать: не нравится

              Стиль важен всегда: читаемый структурированный тестируемый код, нормальные называния переменных, consistency в коде — всё это довольно существенно и для оптимизатора запросов. На это можно забить только при написании прототипов, если код всё равно будет выбрасываться и переписываться заново.

              • »
                »
                »
                »
                »
                »
                »
                »
                11 лет назад, # ^ |
                  Проголосовать: нравится 0 Проголосовать: не нравится

                Да никто не говорит, что код должен быть не "читаемый", не "стуктурируемый", не "тестируемый".

                Но разработка сайтов и оптимизатора запросов к БД всё-таки несколько различаются. Последнее, с моей точки зрения, маленький искуственный интелект, где очень важна и оптимальнность и скорость его мышления (ассемблер приветствуется). Безусловно, код должен быть хорош всегда.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  11 лет назад, # ^ |
                    Проголосовать: нравится +16 Проголосовать: не нравится

                  1) Зависит от сайта, google.com не так просто разработать, 2) Оптимизатор БД — не искуственный интеллект, а просто грамотно спроектированный и аккуратно написанный код (с большим числом интересных алгоритмов внутри, с этим я не спорю), 3) Ситуации, когда C++ не хватает производительности и нужен именно ассемблер — очень редки.

                  Ну и возвращаясь к начальной теме — contest-like код как правило очень нечитаем, и это в некоторой степени отражается на коде, пишушемся вне контестов; и от решаемых задач (оптимизатор БД или сайт) это не зависит.

»
11 лет назад, # |
  Проголосовать: нравится -30 Проголосовать: не нравится

We’ve seen that smart coders can quickly acquire necessary skills, but average coders, regardless of experience, cannot learn to be smart.

that doesn't make any sense.

»
11 лет назад, # |
  Проголосовать: нравится +20 Проголосовать: не нравится

How will you select the 25 Silicon Valley residents? Is it just the top 25 Silicon Valley residents from round 1?

»
11 лет назад, # |
  Проголосовать: нравится +15 Проголосовать: не нравится

The Round 1 is the day I'll be moving from Australia to Japan by IOI. It's unlucky to me:( I hope there'll be a round next year,too(I'm hasty)

»
11 лет назад, # |
  Проголосовать: нравится +12 Проголосовать: не нравится

Не поняла, что означает фраза:

Для тех из вас, кто находится географически в Кремниевой Долине, мы пригласим 25 лучших участников по итогам первого раунда на онсайт версию второго раунда.

  • »
    »
    11 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится +5 Проголосовать: не нравится

    Речь, видимо, о том, что 25 лучших будут выбраны только из резидентов Кремниевой Долины, даже если они займут последние места.

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится +5 Проголосовать: не нравится

      Забавно, тоже неоднозначная фраза получилась: "в выборе будут участвовать только резиденты Кремниевой Долины". Эти резиденты будут выбраны или будут выбирать? Хотя я догадываюсь, что вы имели в виду первое.

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится +14 Проголосовать: не нравится

      Хм, из резидентов? А если я там буду географически, при этом не являясь резидентом? А если буду географически только во время отбора? А если только во время онсайта?

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Вообще слово резидент взято из английской версии поста. Можно было подумать, что постоянно проживать в Долине не требуется, а достаточно оказаться на месте во время онсайта. Но тогда может получится, что 25 участников назвали себя резидентами, а на деле никто не приехал.

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        Достаточно находиться географически в долине во время второго раунда.

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
            Проголосовать: нравится +27 Проголосовать: не нравится

          То есть с практической точки зрения — просто приезжаешь на онсайт за свой счет, неважно откуда? Не то чтобы мне это грозило :-)

          • »
            »
            »
            »
            »
            »
            11 лет назад, # ^ |
              Проголосовать: нравится +8 Проголосовать: не нравится

            Да, с практической точки зрения это верно.

            • »
              »
              »
              »
              »
              »
              »
              11 лет назад, # ^ |
                Проголосовать: нравится +3 Проголосовать: не нравится

              О, так в таком случае шансы то резко повысились :) Только долина и без MemSQL

»
11 лет назад, # |
  Проголосовать: нравится +9 Проголосовать: не нравится

I want to participate, but I will be on the airplane at the time of round 1 start I think...

I think many participant of IOI want to participate it, but participating on the plane is impossible and illegal...

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +32 Проголосовать: не нравится

    Several airlines provide internet access onboard — Aeroflot and Lufthansa among others

»
11 лет назад, # |
  Проголосовать: нравится -49 Проголосовать: не нравится

По-моему, стоило бы явно написать про то, что список доступных языков будет стандартным. Или я единственный, у кого из-за большого количества упоминаний слова SQL первоначально возникает предположение, что контест придется писать на SQL? :)

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +15 Проголосовать: не нравится

    Не знаю как единственный, но у меня почему-то такого предположения не возникло (почему?).

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +18 Проголосовать: не нравится

    "Раунд 1 ... будет проведен по стандартным правилам Codeforces"

    "Раунд 2 ... будет проведен по стандартным правилам Codeforces"

»
11 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

А участники любого возраста могут принимать участие?

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится +8 Проголосовать: не нравится

    Никаких ограничений на возраст участников обоих раундов нет.

»
11 лет назад, # |
Rev. 2   Проголосовать: нравится +165 Проголосовать: не нравится

А Минск не в Кремниевой Долине? Ну так, на всякий случай спрашиваю

»
11 лет назад, # |
  Проголосовать: нравится -26 Проголосовать: не нравится

Time is too late (it's 2230 in India) for both the rounds, would have been better if 2hrs earlier.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    Otherwise it will be very early in California so time is good.

  • »
    »
    11 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    well,good time for everyone is impossible. The organizer is American company,so there's no choice other than this time providing that Europeans can participate.

    to be sure, multiple qualification round is better (like Yandex) but the schedule is decided. I also wish I could participate...

»
11 лет назад, # |
  Проголосовать: нравится -23 Проголосовать: не нравится

Черт. Я один заметил, что время раунда совпадает со временем Суперкубка России? Печаль.

»
11 лет назад, # |
  Проголосовать: нравится +2 Проголосовать: не нравится

will Round1 be rated? if yes, for which division?

»
10 лет назад, # |
  Проголосовать: нравится +16 Проголосовать: не нравится

Has anyone received their T-shirt yet?

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится +5 Проголосовать: не нравится

    They got stuck at the customs on the way to the person in Russia who was going to send them over :( We are doing all we can to resolve this issue asap. If we can't get it through, we will just try to send him another batch, or try to send them to the individual people ourselves from here.

    I apologize for such a big delay.

  • »
    »
    10 лет назад, # ^ |
      Проголосовать: нравится 0 Проголосовать: не нравится

    I have not received my t-shirt too.

»
10 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Got my t-shirt in Dolgoprudny too. Thanks.

»
10 лет назад, # |
  Проголосовать: нравится -27 Проголосовать: не нравится

Can people in div 2 participate in this contest and be qualified for round 2 if they come in top 500 ??

»
10 лет назад, # |
  Проголосовать: нравится -22 Проголосовать: не нравится

Is the round rated for div2 contestants ?