Задача за $500. Как стартап программистов искал

    Многие компании вовсе не стремятся что-то улучшить или поменять в своем отношении к найму сотрудников: срабатывает принцип хорошего админа «работает — не трогай», лень, уверенность в дедовских методах работы кадровиков (нужное подчеркнуть).

    Вообще поиск разработчиков — тема достаточно сложная, отчасти из-за обилия противоречивой информации. Только на Хабре в хабе «HR» интересующийся вопросом читатель найдет массу вещей обо всем на свете.

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

    Творческий поиск


    Итак, фирма растет, количество работы удваивается каждый понедельник, требуются разработчики, по возможности самые замечательные и превосходные. Это настоящая проблема: найти юниора или средней руки кодера несложно, а с толковыми разработчиками на рынке (условная) беда.

    Зарекомендовавшие себя крупные работодатели оказываются в выигрышном положении: многие талантливые программисты хотят устроиться в Microsoft, например. Речь даже не о зарплате, которая в стартапе может запросто оказаться на том же уровне или выше — просто о MS знает разные (в т.ч. хорошие) вещи огромное количество людей, а о фирме «Неуловимый Джо лтд.» никто ничего не знает.

    Решение


    Оказавшись в такой ситуации, один мой знакомый директор маленькой (около 10 человек личного состава) фирмы решил сделать поиск хороших программистов отдельным мини-проектом:

    1. всем желающим предложена несложная задача на Си;
    2. приславший хорошее решение программист получает $500, просто так;
    3. самое вкусное — реферальная система: отправь задачу талантливому разработчику и заработай $500 вместе с ним (так эта штука распространяется, мне самому ее прислал менеджер);
    4. и только после этого, если программист и фирма испытывают взаимную симпатию, начинаются переговоры о трудоустройстве.

    Получилась вполне жизнеспособная система: пряник в виде полутысячи долларов за 20 минут работы — это несколько больше, чем я обычно получаю за 20 минут работы (плохо быть мной); «виральная» система распространения тоже, оказывается, работает.

    Разбор полетов


    Что получается в сухом остатке: нет необходимости читать резюме; снижается нагрузка на отдел кадров, т.к. разговор о работе начинается с теми ребятами, которые обладают необходимыми навыками. В минусы записываем призовой фонд (в данном случае около $25K).

    Субъективно мне это нравится гораздо больше, чем «холодные» рассылки по списку из LinkedIn. Возможно, я просто люблю решать задачи.

    Обсуждение и ссылки


    Если вас интересуют какие-то вещи, спрашивайте в комментариях, я попробую выяснить. По-русски администрация фирмы не говорит, поэтому пригласить к обсуждению не получится; обещаю транслировать информацию дословно.

    Заработать на пиво познаниями в языке Си можно на странице конкурса (реферальная система работает только через почту, это не реф. ссылка).

    Самое главное: как вы думаете, у такой методики поиска сотрудников есть будущее?

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 74

      +22
      А много ли «маленьких» стартапов могут позволить себе расходы в размере около $25K?

      Сама идея мне нравится. Тут и компании выгодно — работать только с подходящими кадрами, которые по уровню знаний примерно совпадают с требованиями компании. И для разработчика стимул — неплохая оплата тестового задания.
      Схема хорошая, но для более менее крупных компаний у которых немаленький бюджет.
        +2
        Это да, за 25К можно сделать иногда и весь проект :)
          +1
          В фирме из 10 человек это меньше половины месячного фонда оплаты труда.
            +7
            Чую пора пересмотреть свою з/п.
              +1
              Неплохо, однако, получается. Даже если принять за половину, 3 миллиона на зп в месяц на 10 человек… Как говорится, чтоб я так жил.
                0
                3 млн руб это примерно $91к при нынешнем курсе. Малость переборщили.
                А так зп в $5k в месяц вполне себе возможна.
                  +1
                  Что-то мне кажется это не типичная зарплата. Или же взято среднее по больнице: разработчики получают N, начальство 4N (грубо), и на всех выходит 50k$ :)
                    0
                    И еще нужно учесть что до раздачи зп часть денег уйдет на пенсионное, страховое, налоги и чего там еще любят изымать из дохода.
                      0
                      Насколько я помню, на всякие отчисления в итоге уходит чуть-ли не половина зарплатного фонда
                      • UFO just landed and posted this here
            0
            Реферальная то ссылка где? %) неужели последняя строчка и правда главное в посте?)
              0
                +2
                Нету, они через почту работают.

                Пост-обсуждение же, мне правда интересно, как относится сообщество к этим вещам. Никогда не знаешь, с какой стороны баррикад окажешься завтра.
                +2
                Все ли верные решения получают вознаграждение или нет? В общем, хотелось бы узнать, как вы решаете кому платить 500$, а кому нет?
                  0
                  Все, просто критерий «верности» достаточно сложный.

                  В почту присылают список проблем, мне прислали штук 20.
                    0
                    Я так понял из правил:
                    Найдите идеальное решение до 31-Дек-13 и получите 500 долларов.
                    Если решение получилось хорошим (но не идеальным), мы вышлем вам некоторые комментарии, чтобы помочь сделать его совершенным. Решение со 2-го раза принесет вам 250 долларов Если вы передадите задачу тому, кто сможет ее решить, вы оба получите по 500 долларов.

                    что получаешь 500$ за идеальное решение с первой попытки или 250$ за идеальное решение со второй попытки, после идеального исправления комментариев.
                      +2
                      т.е. регистрируем два мыла, с первого шлем какое-то решение, получаем коменты, переделываем, отсылаем — получаем 250$.

                      со второго шлем сразу правильное решение — получаем 500$

                      итого: 750$

                      а шо, нормально…
                        0
                        >> итого: 750$
                        Если вспомнить про реферальную систему, можно заработать $1250 :)
                          0
                          С третьего шлем письмо, что это мы его пригласили. +500$ )
                      0
                      Не знает ли кто-нибудь платформы, где можно было бы создать задачку и был бы инструментарий для автопроверки решения? Только ради себя городить — дорого, а был бы неплохой сервис для тех, кто нанимает разработчиков.
                        0
                        Например Ejudge — для проверки задач в ACM-стиле (то есть дается файл с входными данными, решение участника проверяется на различных тестах и пишет ответ в файл, ваш чекер сверяет его ответы из файла с эталоном по вашим алгоритмам)
                          0
                          www.interviewstreet.com
                          Много где видел — Facebook, Evernote
                            0
                            0
                            это еще действует или все места уже расхватали?
                              0
                              Действует-действует.
                              +3
                              Вообще, это задачка не на 20 минут, если требуется идеальное решение.
                                +1
                                Идеальное решение — не более одной аллокации. Ничего лучшего хука на malloc / free с целью сохранения реально саллоцированного размера в голову не лезет… Ну и в 7 строк не влазит такое.
                                +2
                                Даже не подозревал, что Hola является израильской разработкой.
                                Идея хорошая и правильная. Только вот «Олимпиада программистов» звучит странно, скорей уж конкурс.
                                Видимо перевод в аутсорсинге делали, а не собственными силами? )
                                  0
                                  С русским языком как-то плохо получилось, да. Мне тоже не нравится.
                                    0
                                    Пойду отцу отправлю ссылку, если что, ему до Нетании гораздо ближе ездить, чем до Петах Тиквы. ))
                                    Правда не знаю, насколько критично в местных стартапах относятся к возрасту.
                                      +1
                                      Совершенно не критично.
                                      Можно работать удаленно, кстати.
                                  +1
                                  Я правильно понял, что поиск одного сотрудника стоит 25 тысяч долларов?
                                    0
                                    Первый раз — да.
                                      0
                                      что значит первый раз?
                                        0
                                        Это значит, что первый раз найти одного сотрудника будет стоить 25 тысяч долларов, а в последующие — бесплатно по актуальным контактам и результатам тестового задания.
                                          0
                                          Ну так не факт, что в следующий раз ранее приславшие задание кандидаты еще не будут трудоустроены. Так что боюсь бесплатно не получится. Ну ладно, в любом случае 25 тысяч за первый раз многовато для стартапа. Ему ж потом еще и зарплату платить придется :)
                                            0
                                            Так ведь и полученную базу могут потом продать и возместить затраты.
                                      +1
                                      Я думаю, не правильно. На сайте написано следующее:
                                      Open Positions
                                      C Developers — Take the 5-minute Coding Challenge and earn $500!

                                      Из этого я делаю вывод, что ищут не одного C-программиста, а нескольких.
                                        0
                                        Нет, это бюджет всего мероприятия. За это время ~60 человек получили вознаграждение, и ~25 получили приглашение работать в фирме.
                                        +1
                                        Не очень понятно что они понимают под «идеальным» решением. Особенно в виду того что спеки не указаны. Сделай то, не скажу что, но чтобы работало.

                                        P. S. Задание выполнил, посмотрю сколько ошибок нахватаю :)
                                          0
                                          Да, это серьезный недостаток.
                                            0
                                            Да, но в письме в таком случае укажут на недоработки. Хотя и сумма уменьшится, конечно. Отправил решение чеса 2 назад, жду. Долго они отвечают, не знаете?
                                              0
                                              Обычно 1-2 дня.
                                          0
                                          наверно, ищут супер гуру для оптимизации драйверов или OS ядра?

                                          иначе какой смысл транжириться на CPP, с чем в принципе неплохо справляется ngen и gjc?
                                            +1
                                            Они делают peer-to-peer overlay network для ускорения интернета. Грубо говоря кешируют контент на клиентах, и при запросе отдают кеш от пиров, а не от источника контента (так у них в FAQ написано, заранее извиняюсь если я что-то недопонял).
                                              0
                                              Да, есть и сетевые драйвера, и патчи к ядру (Linux).
                                              +1
                                              Будет потом разбор полетов (и задачи) на хабре?
                                                +5
                                                Ох, я постараюсь сделать.
                                                +9
                                                Задача довольно странная, поясню:
                                                1). На 4 вызова функций для работы со строкой, в которых потенциально динамическое выделение памяти, лишь 1 функция, где можно освободить результат: str_free(&s);
                                                2). Внутри функций str_cpy и str_cat необходимо заниматься реаллоцированием, если размера буффера не хватает, или же аллоцированием, если буфер равен нулю. Это НЕ UNIX-way.
                                                3). Внутри функций возможна потенциальная утечка, ибо реаллоцирование или же аллоцирование памяти будет завязано на значение переданного указателя(которое можно будет специально зануллить для выстрела в ногу).

                                                Вывод:
                                                Это не пятиминутная задача. Не обманывайте людей.
                                                  –4
                                                  То, что любитель UNIX-way не может справиться с задачей за минут, еще ничего не значит, и вообще не удивляет.
                                                    –2
                                                    Даже если забить на 3-й пункт, то эффективное решение не укладывается в 7 строчек. Под эффективным решением я понимаю делать хук на аллокатор или извлекать размер строки из нутрей malloc-а с целью избежать лишних аллокаций когда уже выделенной памяти достаточно.
                                                      0
                                                      Зачем извлекать размер строки из malloc-а, если можно хранить его перед самой строкой? Обязательно надо искать самый сложный способ решения?
                                                        0
                                                        А как это решение будет работать с произвольной строкой?
                                                          +1
                                                          Ну как, как обычно. Длина хранится перед s. Вот начало функций аллокации и деалокации, что бы было понятно:

                                                          void str_alloc(char **sp, size_t size)
                                                          {
                                                          if (**sp==NULL)
                                                          {
                                                          *sp = malloc(size + sizeof(size_t));
                                                          * ((size_t *) (*sp)) = size;
                                                          *sp+= sizeof(size_t);

                                                          таким образом *sp будет указывать на буфер для строки, а размер будет перед этим буфером.
                                                          Удаляется такой буфер просто (если опустить проверки):
                                                          void str_free(char **sp)
                                                          {
                                                          free(*sp-4);
                                                          *sp = 0;
                                                          };
                                                            0
                                                            А почему библиотечное решение должно уметь работать только со строками, выделенными через ваш аллокатор, а не через, к примеру, malloc?
                                                              +1
                                                              Разве в условии написано что это решение попадет в состав стандартной библиотеки? Там только требование к уровню кода.

                                                              К тому же, если предусмотрено использование str_free() значит о выделении памяти обычным malloc() речь не идет.

                                                    +4
                                                    Есть опасность, что со временем про такой метод набора узнают «охотники за бонусами», которых заинтересует сделать задачу и отправить ее решение от имени разных людей и хорошо на этом заработать, при этом у них нет цели трудоустройства.
                                                      0
                                                      Что-то вроде такого сработает? Кто получил $500 поделитесь решением, если тоже получу с меня пиво $250 :)
                                                      0
                                                      Напомнило smart строки в исходниках php:
                                                      smart_str_append(&s, "Hola Hola");
                                                      smart_str_free(&s);

                                                      и т.п.

                                                      Реализация там простая. Правда вместо memcpy нужно взять memmove.
                                                        0
                                                        Реквестирую такое же для Java.
                                                          +1
                                                          The code you write needs to be «library quality»; as good as you would expect a good libc to implement such functions.
                                                          You have 15 minutes to implement the whole solution.

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

                                                            Впрочем, проверять никто и не собирается. Мне кажется, автор задачи имел в виду что-то вроде «решение не должно занимать весь рабочий день», просто утрировал и написал 15 минут.

                                                            Работать над качеством можно бесконечно, нет предела совершенству.
                                                            0
                                                            thecodeil.com/winners.html

                                                            Haifa, Tel Aviv, Tel Aviv, Haifa… это как понимать?
                                                              +1
                                                              Города, где живут выигравшие разработчики.
                                                                0
                                                                Раньше эта штука была только для резидентов.
                                                                  0
                                                                  Раньше? Там 53 фамилии, по 500 каждому получаем 26500$. Всего выделено 28000$.
                                                                  В сухом остатке 1500$ или 3 фамилии (против 53 в израильских городах). Мировой конкурс, так?
                                                                    0
                                                                    Там можно попросить убрать свою фамилию. Так что возможно там все оттуда. И вообще похоже на лохотрон, я отправил свое решение и мне прислали ссылку на общий список рекомендаций, а не на конкретные проблемы в моем коде. Хорошо что решение всего около 15 минут заняло.
                                                                      0
                                                                      Мне жаловались, что после этого поста им прислали несколько сотен решений — возможно, поэтому детализация ответов страдает (в ответ на мою попытку прислали список с конкретными проблемами в коде, разве что без указания номеров строк).

                                                                      Нет, не «лохотрон», т.к. я могу познакомить с некоторыми ребятами в призовом списке. Да и смысла в таком лохотроне как бы нет — вход же свободный, фирма ничего не получает, кроме ~20 строк очень похожего кода.
                                                                        0
                                                                        Год назад другим приходило в ответ точно такое-же письмо: jbery.livejournal.com/2736.html

                                                                        В общем, не знаю, обидно, что так и не узнаю какие там ошибки :)

                                                                        P. S. По поводу использования программистов мне кажется по ссылке полный бред, ибо кому эти функции нужны если они в stdlib есть? :)
                                                                          0
                                                                          Бред, конечно.

                                                                          Могу спросить про конкретные ошибки числа 22-23. Низкая детализация ответов это плохо, я постараюсь повлиять (не знал про это).
                                                                      0
                                                                      В основном по $250, после подсказки.
                                                                    0
                                                                    Выше ссылка на этот же безумный текст в ЖЖ. Очевидно, что это не целевая аудитория.
                                                                      0
                                                                      Для лохотрона — слишком уж маленькая задача.

                                                                  Only users with full accounts can post comments. Log in, please.