company_banner

Формулируй это: как мы переписывали текст вакансии и скатились до решения математического неравенства

    image

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


    Как принято указывать на job-сайтах – FunCorp, компания “до 50 человек”. Мы в постоянном поиске талантов, особенно последние пару лет: команда ширится, и процесс найма начинает систематизироваться.


    Переписать шаблон вакансии было решено по банальной причине – перестал нравиться. Никаких искусственных рамок сами себе не выставляли, в момент экспериментов у нас можно всё. Поэтому после нескольких заходов подумалось: “Что если полотно из текста оптимизировать в формулу – более понятную субстанцию для программистов?” Потом решили пойти дальше и придать вакансии вид классической задачки.


    Шло туго. Мы не понимали, что должно быть в итоге: просто формула или уравнение? А если уравнение, то какое? Определиться нам помогло обсуждение основных составляющих.


    Дано:


    С одной стороны, имеется компания, которая что-то предлагает. И это что-то она считает важным и выигрышным. В нашем случае:


    • Масштаб и направленность продукта, над которым предстоит работать. Не будем сокращать и обозначим названием – $iFunny$
    • Бонусы, плюшки и прочие корпоративные возможности по развитию — $Bonus$. Так как этого добра навалом, сделаем суммой составных частей.
    • $Р$ – деньги, куда без них.

    С другой стороны, имеется соискатель, который что-то предлагает. И это что-то он(а) считает важным и выигрышным. Но ищем мы, а не нас, поэтому и условия здесь задает работодатель:


    • Необходимый стек технологий – $S$
    • Желательные навыки, которые будут плюсом – $p$
    • Опыт – $t$
    • Личные качества – Остроумие и Отвага. Сокращенно – $O_2$

    Встает вопрос, как соотнести условия каждой из сторон, чтобы они правильно отражали реальность? Просто так не просуммируешь, ведь важны еще и зависимости. На этом этапе было решено позвать физика на помощь лирикам, потому что мы не справлялись. Вот что в итоге вышло, если начать с запроса к кандидатам.


    Следите за руками:


    $(S + p)^t\cdot O_2$


    где нам важно стеку и желаемым навыкам задать степень опыта, а Остроумие и Отвагу не сделать чем-то проходным: если одного из этих качеств нет – все помножится на ноль.


    Уже доносится скептический голос:
    – Да прям, если есть отличный спец – закроете вы глаза на то, что он без чувства юмора.
    – NO.


    Почему нам нужен O2 как кислород – важная история. Так получилось, что на остроумии построены наши продукты, в которых миллионы людей шутят ежедневно. На этом же языке мемов построены командные отношения: мы шутим в Slack, Confluence, на кухне и при разборе ошибок. А еще когда презентуем новичков или выкатываем хабрастатью с фейлами.


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


    С одной частью ясно.


    Вторая:


    $iFunny + \sum\limits_{i=1}^9Bonus_i + Р$


    Здесь получилось проще. Плюсуем продукт, сумму бонусов и деньги.


    Но не проще было на этапе вычленения этих трех параметров, потому что хотелось добавить отдельно про обучение, этапы собеседования, всякие ежеквартальные премии и еду. Обязательно еду. Но хорошо, что формула не резиновая и мы многое обобщили.


    Найти:


    Наконец, мы подобрались к главному. Если у нас задачка, то что будем просить в ней найти? Начались слабые потуги вспомнить: чем отличается уравнение от неравенства, где и какие знаки ставить правильно и как все это соотнести с изначальной целью?


    Остановились на том, что даем соискателю решить неравенство и самому понять: его предложение больше нашего или равно. Оба этих варианта для нас желательны и верны.


    $(S + p)^t\cdot O_2 \geq iFunny + \sum\limits_{i=1}^9Bonus_i + Р $


    То есть мы допускаем, что опыт и навыки кандидата могут быть не только равны тому, что даем мы. В случае, если знания и умения объективно требуют большей зарплаты, человек вправе ставить знак >. Мы не обидимся и будем договариваться.


    Решение:


    Задумка казалась идеальной. Мы пошли в поля и раздали пример вакансии нашим разработчикам: благо они всегда готовы помочь. Главные опасения касались понятности, информативности и общего впечатления от такого формата.


    Результаты были неожиданно приятными. Тут мы возомнили, что наша идея еще и гениальная. Вот несколько примеров:


    image

    image

    image

    Ответ:


    Финальный вариант


    image

    Этот шаблон мы использовать не стали.
    ¯\_(ツ)_/¯ или, как принято говорить у нас, – Fun Happens :)


    Работа над ошибками:


    • Математическая формула – это не код, и многим программистам она не понятна за давностью лет.
    • Формат задачки никаким образом нельзя воспроизвести на job-сайтах: формула ломается, отступы кривые, редактор постоянно слетает. Это мы про hh.ru и “Мой круг”. Возможно, они намеренно снижают градус креативности на своих площадках. Вот и наш снизили.
    • Конечно, эта идея была неидеальной. Когда так кажется — самое время задуматься: “Что-то точно идет не так”. Мы не нашли подобных вакансий на момент повторяемости, хотя, если порыться глубже, наверняка они есть. Но дело даже не в этом.

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


    И самое главное.
    Отважно ли опубликовать такую вакансию на широкую аудиторию? – Да.
    Остроумно ли? – Не очень.


    Итого:


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


    Если очертить все параметры, правильно придать им вес и составить вопросы так, чтобы поэтапно их раскрывать и верно оценивать, – люди станут как на ладони. Этот прием дал нам четкость: мы знаем, чего хотим от человека, и понимаем, что даем ему. Абстрактные “личные качества”, в свою очередь, сконцентрировались в понятный и ощутимый образ.


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


    Этот на первый взгляд дурацкий эксперимент дал нам на деле прочувствовать, что экспериментировать – это здорово, а систематизировать – надо продолжать.
    И пусть изначально вы запланируете упорядочить слова в красивые предложения, кривая эксперимента может вывести вас к упорядочиванию чего-то большего.


    Выводы:


    • Экспериментировать.
    • Спрашивать, если не понимаешь.
    • Организовывать как можно больше обратной связи.
    • Смиряться с тем, что гениальная идея не всегда гениальна.
    • Обращать фейлы в пользу.

    Ну а быть остроумными и отважными – состояние перманентное.


    image

    Have Fun :)

    FunCorp
    Разработка развлекательных сервисов

    Комментарии 24

      +7
      Я бы сказал, что ваша формула это не отсылка к адамечности, а, напротив, фильтр против нее. Академичность это не про неравенства, переменные и экспоненты. Академичность это про внятность модели и про ее адекватность реальности.
      Пока не указаны единицы измерения, формулу можно интерпретировать весьма забавными образами. Например, если 0 < S + p < 1, t > 1, то зарплата с опытом уменьшается. Плюс вы декларируете, что счиатете честным, что правая часть неравенства должна экспоненциально возрастать с опытом соискателя. Меня терзают сомнения в том что вы или любая другая компания следует этому принципу.
      Т.е. в итоге, пожалуй, необычно, забавно, но не вызывает сомнений, что академичностью здесь не пахнет — не волнуйтесь.
        +1
        image
        image
          0
          Именно из-за того, что тут много забавных интерпретаций эти формулы никуда не пошли :) Но кое-что систематизировали у нас в процессах. Да и весело было)
          0

          Интересно почему в дополнительных навыках появилось Machine Learning?

            0
            ML в нашем случае рассматривается как дополнение. Если человек этим увлекается, то это плюс.
            0
            Почему плюсы имеют такой же вес как стек?
            + Формула явно намекает, что того, что соискатель вам даёт должно быть больше или хотя бы равно тому, что ему даёте вы. В этом есть… что то некрасивое. =)
              0
              Почему же :) вдруг там опыт такой, что заявленная зарплата ему не равна и мы действительно даем меньше. Если так, то мы будем ее увеличивать, чтобы сравняться.
              А по стеку и плюсам. Где-то у себя в уме они действительно весят по-разному. Формула не совершенна, да. Но для наших внутренних целей помогает)
                0
                Я бы лучше всё-таки поставил знак «примерно-равно» ) Или что правая сторона будет «стреимиться» к левой. В противном случае человек так или иначе уйдёт туда, где предложат ровнее ;)

                А по стеку… это, просто, очень частая проблема в поиске работы, что вещи, которые значатся как «будут плюсами» оказываются очень обязательными, а стек и «обязательные требования» наоборот из разряда «ну, было бы неплохо, но если что — подтянем». И это плохой паттерн )
                  0
                  Дельные советы. Спасибо)
                  0
                  Тоже позанудствую :)
                  Все таки математика наука точная, а оценка кандидата вещь весьма и весьма субъективная. Оценить как и чем владеет страждущий можно лишь со временем. Поэтому в большинстве случаев прием осуществляется по неким условным критериям вроде «просто понравился», а уровень компенсации «вычисляется» банальным торгом как на базаре — за интересующий товар платят ровно столько сколько готовы заплатить, т.е. разные наймодатели дадут совершенно разную цену за интересующего специалиста, т.к.
                  нигде нет точной оценки сколько стоит владение той или иной технологией, как это зависит от степени владения, и как это считать в случае их совокупности. А это сводит адекватность модели к нулю, т.к. Потому «just for fun».
                    0
                    если говорить о наших внутренних процессах, в которых системы было ну очень мало, и не было договоренности даже по критериям оценки между собой – такая «формулизация» выручила. Появились якоря. Математической точности тут действительно не вышло, а то мы б стартап уже организовали :)
                0
                Способности одного соискателя должны быть не меньше, чем весь Продукт + Зарплата За Продукт + Бонусы?
                На мой взгляд это бы отпугнуло многих «узко» профильных специалистов, а специалистов «широкого» профиля наоборот привлекло.
                Писали не математики, не для математиков, но стоило бы сперва разобраться в математических знаках.
                Надо было пределы использовать! :-)
                  0
                  Ага, мы про разные весовые категории тоже после подумали)
                  Да и статья эта для эйчаров, наверное, и больше как такой междисциплинарный и творческий способ посмотреть на подобную задачу
                  +1
                  Что бы эту формулу могли использовать не только вы для оценки, но еще и кандидат, то правую часть нужно разделить на “головную боль” и возвести в степень перспектив )
                    0
                    Видел буржуйную рекламу в коде на C/C++ если его прочитает соответствующий программист, то он поймет, кого компания ищет. Таким образом решалась задача отсеивания.
                    В Вашем-же случае, я бы написал код на php, но с ошибкой и если кто-то из программистов позвонит и сообщит об этой ошибке, то его надо брать сразу без дальнейших тестов. :)
                      0
                      Чтобы кандидат подумал: блин, да у них даже в рекламе код кривой.
                        0

                        Ну такое, даже, если ошибка хорошо прикрыта, и требует недюженного Опыта и Остроумия для ее нахождения, еще не факт, что человек впишется в процессы и будет хорошим командным игроком. Чтобы брать сразу слишком уж много Отваги надо иметь

                          0
                          По этой причине все креативные порывы надо хорошенько обдумать :) И зачастую они так порывами и остаются. В крайнем случае оформляются в статью ;)
                        0
                        Еще и проверка на инициативность :)
                        Помнится, где-то на vc.ru вроде, информация о вакансии фронтенд-разработчика была встроена в код сайта. Для любопытных)
                          0

                          Невольно вспомнилась серия кремниевой долины, где они оптимизировали мастурбацию

                            0
                            Да! Да! Именно так оно и было :)) «Из центра наружу» (с)
                            0
                            Привет :) Мне кажется, что в реале в формуле над суммой бонусов сильно больше 9 число )))
                              0

                              Математику я уже забыл, но разве S и p это не матрицы? Тогда в левой части выходит матрица, в правой — число.
                              А еще я бы ограничил остроумие и отвагу, а то уж слишком значимый множитель может получиться, клоуны с 3х-летним стажем в PHP вне конкуренции.

                                0
                                Когда прочитал — «мы – гуманитарии» и дальше человека, желаемого и получаемого — начали переводить в формулу как то сильно удивило. По ощущением компания ищет просто классного чувака для посиделок.
                                На сколько я понимаю экономику и бизнес — то как правило должно учитываться потребность бизнеса в нем, учитывая сколько он стоит (желаемый уровень з/п со всеми налогами, бонусами, обустройством рабочего места и т.д.) и сколько принесет денег (скорость работы, и скорость принятия решения), и цена альтернативы на рынке труда, плюс уровень командной работы.
                                Вообще, по мне, вот такие формулы или еще какие то странные условия если они указаны в тексте о вакансии, или это высказано на собеседовании — то это отпугивает. Сразу думаешь, что компания со странностями и не знает чего хочет.

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое