Наша команда разработки уже больше 4 лет растёт примерно на 20% в год. Мы постоянно ищем технических специалистов и совершенствуем наём. Перепробовали много подходов, чтобы сделать процесс эффективнее: от изменений порядка этапов отбора до больших конкурсов для аналитиков и программистов. За несколько лет активного подбора мы накопили большой опыт, и сегодня я хочу рассказать о том, как работает часть нашей HR-команды.
Под катом описываю, как сейчас у нас выглядит процесс найма в C2C — команду, которая развивает и поддерживает функции Авито для частных пользователей. Мы переделали структуру интервью, разделили его на секции, включили задания по программированию. Нашли собеседующих внутри команды, подготовили их и потренировали совместными скайпами и личными интервью, научили писать отзывы о кандидатах.
Вводная часть
Команда C2C работает для самого массового сегмента наших пользователей — частных лиц. Каждое изменение в функциональности сразу же заметно миллионам людей. Это большая ответственность. C2C делится на юниты, каждый из которых отвечает за свою часть пользовательских сценариев. Есть юнит, который разрабатывает функции для тех, кто ищет на Авито (поиск по тексту, фото и карте, поисковые фильтры), для тех, кто договаривается о сделке (у нас собственный мессенджер) и так далее.
Каждый кандидат в техническое направление команды C2C проходит через два или три этапа.
- Знакомство + технический скайп.
- Интервью.
- Знакомство с командой (опционально).
Такой процесс отнимает больше времени, чем собеседования в другие команды. Но мы сознательно пошли на этот шаг, так как в итоге мы сильно выиграли в качестве подбора. Многоэтапный процесс принес выгоду всем: и бизнесу, и тем, кто выходит к нам на работу — первый получает высококлассного специалиста, идеально подходящего под существующие задачи, второй же приходит в крутой коллектив и работает над теми задачами, которые ему интересны.
Начальные этапы
Всё начинается со знакомства с кандидатом по почте, телефону или в мессенджере. HR заранее дает ему всю информацию по проектам и задачам, рассказывает про наши этапы отбора, чтобы необходимость написать алгоритм на листочке не стала неожиданностью.
Мы намеренно используем бумагу — так видно ошибки и исправления в процессе решения задач. Это помогает понять ход мыслей кандидата: где его пришлось наводить, где он додумывает решение сам и так далее. Таким образом мы понимаем некоторые потенциально слабые места, которые на испытательном сроке можно/нужно подтянуть.
После этого планируем техническое скайп-интервью, (где обязательно будет код и технические вопросы).
Скайпы проводят руководители команд или разработчики. Такое интервью занимает до 45 минут. Время для собеседования назначается гибко: иногда проводим скайпы рано утром или после 20 часов. После этого интервьюер пишет протокол собеседования и обратную связь в стандартизированном виде. Это позволяет потом через год легко воспроизвести у себя в голове ход скрининга. После 40 минут скайпа и решения одной-двух задач уже становится понятно, стоит ли нам продолжать общение лично.
Дмитрий Кунин, руководитель разработки юнита Trust & Safety:
«Скайп интервью — минимальная инвестиция времени, которая позволяет понять, насколько компания и кандидат друг другу подходят, предположить какую именно команду может усилить кандидат и, главное, чем. И вот это «чем» определяется некоторым спектром задач, где оценивается иногда даже не точный и правильный ответ, а ход мысли, сообразительность и умение предлагать нестандартные решения. Нет, про то, как покрасить M&M’s, мы не спрашиваем — вопросы относятся строго к предметной области».
Обычно мы ориентируем кандидатов на обратную связь в течение семи дней, но стараемся отвечать быстрее. Иногда получается так, что прямо на скайпе мы можем сообщить кандидату, что ему нужно подтянуть, посоветовать курсы, книги, подкасты. Были случаи, когда кандидаты возвращались к нам спустя несколько месяцев уже ориентированными именно на наши задачи и подготовленными к ним.
Очное интервью
Очное интервью в офисе состоит из четырёх частей, по часу каждая. Мы выбираем удобный вариант для кандидата: можем разделить интервью на два дня или провести все разом. Иногородним сотрудникам оплачиваем проезд. За четыре часа мы проводим кандидата через секции по программированию, архитектуре, платформе. В конце знакомим с потенциальным руководителем.
За это время мы оцениваем, подходит ли человек к нам по культуре и духу, рассказываем о юнитах и процессах работы, отвечаем на вопросы, пытаемся понять, будет ли кандидату интересно с нами работать.
Для принятия качественного решения нам очень важно оценить кандидата с разных сторон. Поэтому каждый час интервью проводит отдельно взятый коллега, специализирующийся на своей секции собеседований.
Иван Лукьянов, директор по разработке С2С:
«Мы считаем, что чем выше уровень специалиста, тем более тщательным должен быть отбор. Большое собеседование неизбежно, если мы хотим убедиться, что мы готовы много лет делать крутые вещи бок о бок с будущим коллегой».
В секции программирования мы просим решать задачи на алгоритмы. Да, на листочках.
Когда говорим про архитектуру, нам важно понять, работал ли кандидат с крупными приложениями, какое у него видение.
В следующей секции подробно говорим о скиллах кандидата и его прошлом опыте.
Дмитрий Корольков, руководитель разработки юнита Мессенджер:
«Текущие тренды в highload-разработке и достаточно низкий порог входа делает Golang весьма привлекательным для изучения языком программирования. Сейчас на рынке достаточно много резюме с упоминанием Go, однако, людей, знающих как устроен runtime языка “под капотом” — на порядок меньше».
Вот примеры того, о чём мы можем спросить разных разработчиков.
- Golang-разработчиков мы можем спросить об оптимизации приложения (например, если есть задача отдавать данные в формате JSON и видно, что в профиле сериализация отнимает много времени). Обсудить, в чём преимущество горутин над потоками. Ну и, наконец, спросить, чем занимается runtime в Go.
- Когда собеседуем iOS-разработчиков, проверяем глубину владения платформенным языком программирования. Можно сказать, что разбираем конкретные примеры кода, и как он в итоге будет/не будет работать. Спрашиваем про различные особенности платформы, например про управление памятью.
- Если говорим с php-программистом, обязательно спросим, как устроены массивы в PHP.
- С android-разработчиком мы, скорее всего, обсудим все возможные способы не потерять состояние экрана (пользовательский ввод, данные, выполняющиеся операции). Поговорим о способах выполнить что-то асинхронно и обработать результат.
- На собеседованиях фронтенд-разработчиков мы проверяем знание JS, задаём вопросы про HTTP-протокол и принцип работы браузера, а также проверяем базовые знания алгоритмов.
Во время финальной секции HR вместе с руководителем расспрашивают кандидата по резюме, рассказывают про задачи и процессы в Авито.
Сергей Машков, руководитель разработки юнита BuyerX:
«Важно не только быть уверенным в том, что кандидат соответствует техническим ожиданиям, но и понимать, что он вписывается в культуру компании в целом и конкретного юнита и/или команды в частности. Получение этого знания и является главной целью финального интервью».
Мы не делаем акцент на какую-либо секцию, важны результаты всех этапов. Без технических знаний невозможно делать хороший продукт для пользователей. Но точно так же для нас важно, чтобы сотрудник разделял ценности команды и компании. Мы хотим быть уверены, что на него можно положиться в работе. Умение работать в команде, ориентированность на конструктивное обсуждение и решение проблем — важные пункты для нас. Инженеры в Авито — командные игроки.
Так же как и со скайп-интервью, мы всегда можем дать кандидату обратную связь, подсказать аспекты, которые можно будет потом подтянуть. На принятие окончательного решения мы берём, как правило, не более семи дней. Этого достаточно, чтобы всё проанализировать. HR остаются на связи и всегда готовы ответить на вопросы кандидатов. По итогам обсуждений мы связываемся с финалистом, уточняем его впечатления и делаем предложение о работе. В некоторых случаях мы предлагаем устроить дополнительную встречу с командой.
Итого
В итоге мы видим, что новый подход оправдал себя. Компания получает профессионалов высокого уровня. Новые коллеги говорят, что наши собеседования помогли им определиться с выбором в пользу Авито, так как показали весь спектр будущих задач. Мы планируем придерживаться описанного подхода и дальше.
Надо сказать, что даже если кандидат не прошёл наши секции, то это время не потрачено впустую — наши интервьюеры стараются дать соискателям обратную связь, совет, куда можно расти дальше и на что ориентироваться в своём развитии.
После принятия оффера кандидат попадает в свою команду в Авито. Коллеги интегрируют его в дела и задачи. Параллельно команда HR ведёт сотрудника в период его адаптации. Подробнее про первые дни в Авито можно почитать тут. А я готов ответить на вопросы про то, как опробовали и внедряли новую схему собеседований.
Комментарии (88)
VIkrom
20.03.2019 17:54+2За это время мы оцениваем, подходит ли человек к нам по культуре и духу
С какими культурой и духом человек вам не подойдет?StanYurk Автор
20.03.2019 20:13Если человеку совсем не интересен продукт, не подходит командная работа, не готов делиться опытом, заинтересован исключительно в деньгах. Но нам часто удается заинтересовать и замотивировать)
Anton23
20.03.2019 20:58+4Сейчас вам распишут в комментариях, как вы неправильно собеседуете, и будут правы.
В общем, это опасная практика писать на хабр статьи «как мы собеседуем».
Если человеку совсем не интересен продукт, не подходит командная работа, не готов делиться опытом, заинтересован исключительно в деньгах.
А что, разработчик которому в большинстве интересна зарплата — уже плохой разработчик?
Чем то очень напоминает «почему вы выбрали именно нашу компанию».StanYurk Автор
21.03.2019 07:52Мы открытая компания и у нас есть свои ценности, мы проводим много митапов, мероприятий, участвуем в конференциях и ищем людей, которым будет с нами интересно. Безусловно хорошая зп важна для спокойной работы сотрудника, но мы не хотим, чтобы человек сидел в офисе от смски до смски с зачислением зп. Нам важен интерес. Благодаря ему родятся идеи, желание развивать продукт, будет продуктивная командная работа.
alexs0ff
21.03.2019 08:22Благодаря ему родятся идеи, желание развивать продукт, будет продуктивная командная работа.
Хорошая ЗП не противоречит вышеперечисленному.
mrsantak
21.03.2019 16:14Вы когда к врачу на приём идёте, то тоже выбираете врача, которому вы как человек интересен? Или все-таки вам важна его квалификация? Когда сантехника приглашаете спроектировать и собрать вам коллекторный узел вы тоже выбираете того кому будет интересна ваша квалификация? Почему именно в IT все так старательно ищут людей, у которых «глаза горят» вместо тех кто просто хорошо делает свою работу, но при этом хотят они от сотрудников именно что хорошо сделанную работу?
GremniX
21.03.2019 16:58Вы как то не так трактуете то что StanYurk написал. Мы как раз таки ищем сантехников которые умеют спроектировать и собрать коллекторный узел. Но в дополнение к этому хотим что бы сантехник любил свою работу и делал ее хорошо, чтобы он смотрел что делают другие сантехники и вместо устаревших железных труб собирал нам коллектор из сшитого полипропилена и меди с правильным набором редукторов, фильтров, кранов и гребенок.
Как правило люди которые только «сидят в офисе от смски до смски с зачислением зп» не интересуются ничем вокруг, у них очень узкий кругозор. Поэтому любовь к смскам с ЗП, это для нас это обязательна (а кто их не любит? :) ) но не достаточно для того чтобы мы приняли положительное решение.mrsantak
21.03.2019 17:38Вы как то не так трактуете то что StanYurk написал
Ну StanYurk прямым текстом написал, что ему не походят люди, которые
не интересен продукт, не подходит командная работа, не готов делиться опытом, заинтересован исключительно в деньгах.
Как это можно иначе трактовать?
Как правило люди которые только «сидят в офисе от смски до смски с зачислением зп» не интересуются ничем вокруг, у них очень узкий кругозор.
А с каких пор желание получать ЗП за свою работу стало признаком человека который «не интересуются ничем вокруг, у них очень узкий кругозор»? С каких пор желание получать ЗП за свою работу вообще стало чем-то предосудительным?GremniX
21.03.2019 22:08Ни с каких, я ровно об этом и говорю. Хорошая зарплата это минимальная база, но мы хотим чтобы кандидат кроме своей зарплаты любил и свою работу. Бывают люди которым всеравно что они делают, лишь бы деньги платили. Бывают те кому важно над чем они работают не меньше чем зарплата которую они получают. А еще бывают такие которым вообще не важно сколько денег, лишь бы делать то что им нравится.
mrsantak
21.03.2019 22:13Т.е. если человек качественно выполняет свою работу, но не испытывает любви к вашему проекту он вам не подходит?
GremniX
21.03.2019 22:29+1Если это никак не сказывается на его работе, то подходит. Но тут речь не про любовь к Авито, а к тому чем ты занимаешься, к программированию и созданию крутых вещей. Если человек может писать прекрасный качественный код, не токсичен к команде, постоянно приходит с интересными идеями по улучшению продукта, но при этом в душе ненавидит Авито, то мы наверное никогда про это не узнаем и будем рады видеть его в своей команде :)
VIkrom
21.03.2019 04:43+1Если человеку совсем не интересен продукт, он к вам не придет на собеседование. Ведь вряд ли вы платите настолько выше рынка, чтобы люди шли только за деньгами.
«Не подходит командная работа» — у меня не было сотен коллег, но десятки были. И ни для кого т.н. командная работа не была проблемой. Что вы вкладываете в это понятие? Если это было где-то в ранних статьях, можно ответить ссылкой)StanYurk Автор
21.03.2019 07:58У нас скрам, дейли стендапы, оупенспейс, решение проблем через коммуникации, умение и желание общаться важно для карьерного роста у нас. Здесь может быть тяжело тем, кому комфортнее получить задачу и работать над ней одному отдельно от всех в широком смысле. Мы ищем людей в компанию, в команду, а не просто винтик, сотрудники для нас очень важны, поэтому мы раскрываем все заранее и на испытательном сроке я всегда спрашиваю-все ли сходится с тем, что мы рассказали или нет.
staticlab
21.03.2019 12:19+3У нас… оупенспейс
Мы ищем людей в компанию, в команду, а не просто винтик, сотрудники для нас очень важныВы здесь противоречите сами себе. Вам важны именно винтики, иначе вы не поселили бы сотрудников в опенспейс.
asm0dey
21.03.2019 14:52Им просто нужны командные винтики.
StanYurk Автор
21.03.2019 15:29Одна из ценностей Авито-все решается через коммуникации-это легко реализуется, когда сотрудник может подойти к любому и обсудить рабочие моменты. Комфортнее сделать это в едином пространстве. У нас удобный офис, на Хабре есть ссылки и обзор. Можете лично убедиться на экскурсии после митапов.
VIkrom
21.03.2019 16:01Но ведь для того, чтобы подойти к любому, оупенспейс не нужен.
Смотрите, если провести опрос среди айтшников, большинство наверняка будет против оупенспейса. Это легко прослеживается по комментариям на популярных ресурсах. Вы думаете, у вас работают особенные сотрудники, которые в основной массе разделяют вашу точку зрения на оупенспейс? Или все же просто это то, с чем люди готовы смириться?rafinirovannoe
21.03.2019 16:14Мне кажется, это не про смирение. Я работала в разных опенспейсах, тут правда комфортно (и красиво). Если хочется, можно найти тихий уголок (или укрыться в норе).
Вот тут можно посмотреть пост про офис (и в комментариях как раз поднимали тему опенспейса).VIkrom
21.03.2019 16:32Для работы за компьютером нужны удобные стол и стул. Нора — это побаловаться.
Ну и повторюсь — по «эмпирической статистике» большинство айтишников не любят оупенспейсы. Проведите анонимный опрос среди сотрудников)
staticlab
21.03.2019 19:02А вот тут видим какую-то лютую тесноту: под ногами сложены коробки из-под макбуков, столы короткие и узкие, а потому полностью захламлены и не получится положить на стол руки по локоть.
К тому же, во-первых, норы на всех не хватит, а во-вторых, не думаю, что она настолько популярна. Да и она может быть уже «занята» кем-то, а сидеть там вдвоём может быть некомфортно для интровертов, вдобавок вдыхать аромат чужих носков тоже может быть не очень приятно. Так что это скорее рассчитано для заманивания новых сотрудников, чем для ежедневного использования.
GremniX
21.03.2019 22:13+1Вы нашли фотографию рабочего места ребят из команды it-support. Они выдают людям ноубуки, мониторы, мышки и поддерживают всю it инфрастуктуру офиса :) Вот пример рабочих мест разработчиков.
А проблему шума неплохо решают стеклянные шумо-поглащающие перегородки между несколькими рядами. Если присмотреться их видно на этом фото.staticlab
22.03.2019 00:59Ну вот тесные столы у всех, они же одинаковые. Такие же, как и у саппорта. «Не забывай страдать».
GremniX
22.03.2019 10:55У нас все рабочие места соответствуют стандартам. Не только по размерам, но и по освещенности и электробезопасности. По последним двум пунктам регулярные замеры и проверки делаются.
Ну и как человек сидящий за одним из таких столов как на фоточке, могу сказать что они не маленькие и не узкие. Хватает места и для ног под столом и на столе для рюкзака и для одного двух дополнительных мониторов.staticlab
22.03.2019 10:57+1Размеры соответствуют по нижней планке?
GremniX
22.03.2019 11:59Я не проверял с линейкой, мне удобно сидеть этого достаточно. Если вам это важно, попросите после интервью показать ваше рабочее место и проверьте удобство. Я знаю кандидатов которые так делали и вроде все довольны остались.
Matisumi
20.03.2019 19:24+1> Во время финальной секции HR вместе с руководителем расспрашивают кандидата по резюме
Не понимаю, какой смысл спрашивать по резюме в самом конце? Обычно с этого все начинают.StanYurk Автор
21.03.2019 08:00Мы находим резюме, обсуждаем с нанимающим менеджером, проводим скайп, очное интервью и приглашаем на финал, там мы рассказываем о себе и расспрашиваем кандидата. Мы уже имеем представление о человеке и он уже лучше понимает кто мы и что делаем.
Matisumi
21.03.2019 11:26Как это отвечает на мой вопрос?)
StanYurk Автор
21.03.2019 15:32Сперва мы обсуждаем тех, параллельно до финального этапа я общаюсь с кандидатом и отвечаю на его вопросы (плюшки, оргструктура и тд), в конце уже знакомство с руководителем. Узнаем человека лучше по его резюме, имея уже данные по теху.
Matisumi
21.03.2019 15:50Я наверно чего-то не понимаю, но если кандидат уже прошел ваше техническое собеседование и его прохождение вас устроило — какая тогда уже разница, чем он занимался на прошлых местах из резюме?
GremniX
21.03.2019 17:06На техническом интервью мы смотрим на hard-skills, на интервью с HR и руководителем на soft-skills. Почему эта секция в конце? Во-первых, потому что отсев по hard-skills гораздо выше. Во-вторых, потому что требования по hard-skills у нас примерно одинаковые во всей компании, а по soft-skills кандидат может не подойти в конкретную команду, или кандидату самому не понравится то чем придется заниматься. Тогда если есть открытые вакансии в других командах, мы можем предложить ему что-то еще.
Matisumi
21.03.2019 17:53А расспрос про резюме — это по-вашеу проверка soft-skills?
StanYurk Автор
21.03.2019 20:20Это раскрывает человека, мы расспрашиваем про его прошлые места работы, ситуации, проблемы, пути их решений, моделируем или предлагаем свои реальные истории и в процессе узнаем человека
GremniX
21.03.2019 22:16Формулировка не очень удачная. Резюме это опорная точка от которой строиться диалог. Вместо абстрактных вопросов «как бы вы поступили в ситуации Х», мы смотрим на то какой опыт был у кандидата на предыдущих местах работы. С какими ситуациями он сталкивался, как их решал. На вопросы про предыдущий опыт проще отвечать, и они лучше раскрывают кандидата.
SiliconValleyHobo
21.03.2019 00:37+1Карго культ. Подобые собеседования нужны реально IT-мордоворотам, с большой текучкой/взрывным ростом технологий, проектов и направлений. В РФ, например, Яндекс какой-нибудь, других сходу не назову. Может еще богомерзкий мейлру. В остальных компаниях R&D сильно меньше, ориентированность на конкретный продукт и фичи в формате «нужно сделать ко вчера».
Конкретные спецы вам нужны, которые прохавали много всего на своем опыте. Пусть даже они бывают туговаты местами. А не молодняк, который просто потратил пару недель на тренировку писать задачки на бумажке.GremniX
21.03.2019 22:41Задачки это только одна часть. Можно научиться решать задачки но завалится на вопросах по архитектуре. На этой секции мы даем какие-то интересные задачки на проектирование какого-то сервиса или продукта. Например фронтенд или мобильных разработчиков можем попросить спроектировать мессенджер. Бэкэндеров попросить спроектировать сервис типа твитера или высоконагруженный сервис.
Ну и по резюме и на последней секции интервью видно какой реально опыт был у кандидата.
onlinehead
21.03.2019 02:12+1Создалось стойкое ощущение, что люди прочитали Cracking the Coding Interview, но прочитали не все сноски.
В целом, если у вас достаточный поток кандидатов (честно говоря, я немного сомневаюсь в том, что в России сейчас предложение превышает спрос, но может вы платите х2 к рынку и у вас очередь), то можно конечно поиграть в эти игры с многоступенчатыми собеседованиями и программированием на листочке, но в целом, крупные компании могут себе позволить так извращаться с собеседованиями именно потому, что они — глобально лучшие по балансу риск-профит для работника.
В целом то подход рабочий, правда с достаточно большим количеством false negative, но, повторюсь, если можете себе позволить — остается только порадоваться за вас.
evgwed
21.03.2019 07:27Спасибо за статью, было интересно прочитать. А как насчет проверки soft skills? Есть какая-то практика в этом направлении?
StanYurk Автор
21.03.2019 08:09Нам интересно понять на сколько мы подходим друг другу. После всех этапов и знакомства с командой это уже понятно обеим сторонам. Кандидата собеседуют те, с кем ему придется работать, у обеих сторон формируется мнение. Мы получаем с обеих сторон отзывы, складываем их в единое целое. Нам интересны командные игроки, которым интересно коммуницировать.
GremniX
21.03.2019 21:50Последний этап интервью с HR и руководителем, это как раз про soft-skills. Разговор строится на основе предыдущего опыта кандидата. Спрашиваем над какими проектами и главное как работал, какая была команда, какая у него было роль в команде, что нравилось, чего хочется от нового места и т.п.
abbath0767
21.03.2019 09:44+1Как бы это странно не звучало, но вот это все про «нам важны люди заинтересованные в продукте, а не деньгах» это либо самообман либо просто самопиар. Уровень зарплаты позволяет покупать мнение разработчиков и вынуждает их говорить что им интересен продукт, заставлять сидеть на ненужных и бесполезных, в большинстве своём, митингов/скрамингов/ретро и прочей эффективно-менеджерской ерунде. Это похвально, я не критикую, просто строить из себя «не таких как все» как минимум наивно и не красиво
StanYurk Автор
21.03.2019 15:35Есть мнение, что хорошая зп стимулирует сотрудника первые три месяца, дальше мотивация идет от интереса. К продукту, своим задачам, командным планам. Нам хочется работать с теми, кто разделяет наши интересы.
red_perez
21.03.2019 15:54Есть мнение, что хорошая зп стимулирует сотрудника первые три месяца, дальше мотивация идет от интереса
Это возможно только в случае когда закрыты базовые потребности:(привет от Маслоу)onlinehead
21.03.2019 16:17Есть мнение, что есть премии и квартальные бонусы такого размера, чтобы заинтересовать работников в их получении.
«Все мы люди, все мы человеки» и даже при нормальном доходе всегда есть куда потратить еще один оклад.
А вот на счет мотивации из интереса… Не знаю, на сколько остальные разделяют мою позицию, но те, кого я знаю, с ней согласны — интерес просто позволяет работать на каком-либо месте. Без него туда бы и не пришли. Но он вообще никаким образом не перекрывает остальное.
Да и вообще, так сказать из собственного (>10 лет) опыта в очень разных компаниях и не только в СНГ — хорошая ЗП и бонусы + умеренный интерес к продукту (при том что допустим мне, как SRE, в целом все равно что там крутится поверх инфраструктуры с точки зрения продукта, мне важнее «как» работает, а не «что» работает) стимулирует гораздо больше, чем средняя ЗП и песни про «мы все команда, у нас идея» даже при наличии действительно толковой идеи.
Вы знаете, гораздо приятнее любить продукт когда с зарплаты можно купить новый дисплей/телефон/что-угодно-за-1000-евро или смотаться в соседнюю страну на пару дней с семьей, или оплатить хостинг для большого эксперимента по обработке каких-нибудь данных в облаке, или потрогать новую дорогую, но интересную технологию и не особо почувствовать на бюджете, чем любить очень интересный продукт, но копить на телефон в течении квартала и экономить на аренде виртуальных серверов.
Условия труда и компенсация — это основные и самое яркие выражения отношения работодателя к работнику. А идея — это идея. Умные взрослые люди обычно отлично понимают, где чей бизнес и кому на самом деле нужна эта «идея» и кому она в первую очередь несет пользу.VIkrom
21.03.2019 16:27интерес просто позволяет работать на каком-либо месте. Без него туда бы и не пришли.
Отлично сформулировано.
GremniX
21.03.2019 21:58Да именно про это StanYurk и говорит. Мы не меняем горящие глаза на маленькую зарплату. Мы даем достойную зарплату на рынке, но в дополнении к ней хотим чтобы кандидат разделял наши подходы к работе, в частности Agile и Scrum. Смысл этого довольно прагматичный, если человеку будет не комфортно с нами и он будет себя заставлять сидеть на работе за хорошую зарплату, то он очень быстро перегорит и уйдет от нас. А мы как компания уже потратили много времени на его поиск и адаптацию и будем вынуждены потратить это время снова.
onlinehead
22.03.2019 00:59Позвольте мне немного подробнее объяснить что я имею ввиду.
Давайте только условимся, что IT рынок он глобальный и сравнивать надо глобально, по мировым меркам, тем более для хорошего специалиста пройти собеседование в иностранную компанию лишь чуть сложнее чем в российскую из-за языкового барьера, но это легко исправляется несколькими попытками и относительно небольшим количеством времени на улучшение разговорного английского, который к тому же для технического специалиста нужен далеко не свободный, уверенного В2 хватит.
Мы даем достойную зарплату на рынке
Я ни на кого конкретно не намекаю, но международные компании, принцип отбора у которых взяли вы со всем этим кодом на листочках, платят ощутимо (на десятки процентов) выше рынка и вообще дают огромное количество плюшек в виде шикарной мед. страховки, бесплатного и отличного питания, которое готовится под руководством шефов мирового уровня в столовой и другие штуки, которые просто недоступны в других местах никак, вроде серьезных корпоративных скидок на железо.
Не смотря на то, что туда сложно попасть и то, что много желающих там работать даже вероятно на худших условиях, но они держат планку, сохраняя лицо и продолжая тратить миллионы на повышение своей конкурентноспособности как работодателя.
Поэтому в отношении них нет диссонанса, они много спрашивают — но много дают.
Теперь я вижу вашу статью и появляется вопрос — вы много спрашиваете, но много ли вы даете? Судя по всему — ничего особенного, просто стандартная «достойная зарплата», «медицинская страховка», «удобный офис» и «идея».
Если ваше собеседование по сложности сопоставимо с условным собеседованием в Google/Apple/Facebook/ДругаяКомпанияИзТоп500 (а из того что вы описываете — это так), то каковы вообще могут быть причины идти к вам, если можно просто идти туда и получить и отличные условия труда, и бонусы, и шикарную строчку в резюме?
Именно этого я не вижу ни в одной вашей статье про то, как у вас работается — ответа на вопрос «почему именно Avito должен стать местом, куда надо идти работать?». Пока почти все, что вы опубликовали звучит как «вот вам список причин, почему к нам идти не надо».
Конкретно эта статья добавила в этот список еще один пункт — потому что у них замороченное собеседование со штуками, которые мало кому нравится, при том что то же самое можно получить меньшими усилями.
наши подходы к работе, в частности Agile и Scrum.
Простите, но Agile и Scrum это не подходы к работе, это методологии организации рабочего процесса. Подход к работе это «не делать бесполезных вещей» или там «доводить дело до конца». Scrum и Agile не надо разделять, надо уметь по ним работать, это как уметь собирать кровать из Ikea по инструкции.
если человеку будет не комфортно с нами и он будет себя заставлять сидеть на работе за хорошую зарплату, то он очень быстро перегорит и уйдет от нас
Он вероятно к вам и не придет, потому что ввязываться в такую эпопею ради вполне обычных рабочих условий вряд ли кто-то будет. Мне кажется проблема не существует, как думаете?
А мы как компания уже потратили много времени на его поиск и адаптацию и будем вынуждены потратить это время снова.
Человек вот тоже потратил много времени на подготовку к собеседованию, учился код на листочке писать, а в итоге ему там так уныло, что он уходит. Это обоюдные риски и если рассматривать общую картину для обоих сторон процесса то их можно просто сократить, т.к. их несут обе стороны.
i360u
21.03.2019 15:02Вот встречаешь очередную статью о том, как люди построили процесс подбора и найма и думаешь: наверное у этих что-то новое и интересное, раз они захотели поделиться с миром. Видимо, хоть кому-то это наконец удалось — придумать как действительно что-то понять о кандидате обернув это в типовой формальный процесс, по которому легко написать инструкцию… Начинаешь читать — а там очередной унылый код на бумажке и надувание щек, типа мы такие все из себя крутые что к нам на собеседования лучше не приходить без флакона валерьянки… Ребят, серьезно? Это ваше «ноу хау»? Ну ок.
StanYurk Автор
21.03.2019 15:38Совсем нет, подробные интервью у многих крупных компаний. Яндекс, Мейл и тд. Просто решили расписать, ведь мы открытая компания, из комментов сможем почерпнуть новое. Мы с техпиаром давно ломаем стереотип, что Авито это два программиста на квартире у бабушки. У нас интересные и сложные задачи, мы уже многое реализовали, о чем делимся на митапах, конференциях и в блогах. Нам нужны сильные разработчики и люди с потенциалом. Бояться собеседований не стоит, это опыт для обеих сторон.
i360u
21.03.2019 17:22> из комментов сможем почерпнуть новое
Разорвите порочный круг: не заставляйте кандидатов писать код на бумажке, и сделаете мир чуть лучше. Или дайте кандидатам выбор: на бумажке написать или в IDE (для крупной компании не проблема ведь притащить ноут на интервью?). Или дайте задание на дом. Бумажка — это лютое зло и оскорбление здравого смысла.StanYurk Автор
21.03.2019 17:52На бумажке лучше видны исправления, ход мыслей
VIkrom
21.03.2019 18:04Есть сервисы с окном редактора, позволяющие шарить экран. Либо можно просто подключить ноутбук к телевизору.
Суть в том, что IDE и Интернет примерно такие же инструменты современного разработчика, как и мозг.
i360u
21.03.2019 18:36Ах, вы занимаетесь чтением мыслей? Я вам секрет открою: мысли человека это чертовски сложная штука, на которую накладывается куча факторов влияния от стресса непосредственно, до ожидания подвоха в формулировках заданий. Все, что вы сможете увидеть — это то, как человек волнуется оказавшись в дурацкой ситуации и как пытается совладать с ручкой, когда пальцы ищут клавиатуру. Все остальное — исключительно ваши иллюзии. Ну или вас порадует человек хорошенько натренировавшийся на предыдущих собеседованиях вне зависимости от реальных скиллов.
StanYurk Автор
21.03.2019 20:23Алгоритмы на листочке или доске это лишь один час, есть еще скайп, архитектура и платформа, чтобы раскрыться. Алгоритмы это не камень предткновения, но равноправная секция.
GremniX
21.03.2019 22:02i360u а как в вашей компании проводятся интервью? Как вы проверяете hard-skills кандидата? Я в своей практике ничего лучше практических задачек пока не видел и не придумал.
i360u
21.03.2019 22:20Я прошу человека показать свой код, выделить интересные моменты, рассказать о нюансах задачи, которая решалась. По ходу задаю дополнительные вопросы, пытаюсь вывести на взаимно интересный диалог о общих подходах и деталях реализации. Смотрю как человек ориентируется в собственном, ранее написаном коде, могу показать что-то из своего или библиотечного и попросить прокомментировать. Если есть взаимная заинтересованность но остаются белые пятна — прошу сделать тестовое задание (дома). Стараюсь задание придумать таким образом, чтобы затронуть необходимые скилы и чтобы кандидату самому было интересно. Затем — совместный разбор результата. Стараюсь построить разговор так, как будто мы коллеги, а не экзаменатор и экзаменуемый. Получается неплохо.
GremniX
21.03.2019 22:31Да, звучит классно. А как быть если показать код нельзя?
i360u
21.03.2019 23:09Такое может быть только у новичка работавшего в одном месте за лютым NDA. У более-менее состоявшегося разработчика найдутся и свои проекты, и Open Source и прочие наработки. Обычно даже у новичков есть что показать.
abbath0767
22.03.2019 10:42Согласен на все 100%. Когда я пользуюсь услугами мастера по ремонту велосипеда я обязательно прошу его показать его собственный, у любого более-менее состоявшегося веломеханика найдутся велосипед с душой отремонтированный и в идеальном состоянии, какие то лично придуманные инструменты и прочие наработки. Обычно даже у мастеров стажеров есть что показать.
alexs0ff
22.03.2019 08:20Да, звучит классно
Ну а у Вас можно заменить тестовое задание на демонстрацию своего проекта в github?GremniX
22.03.2019 11:47Вы наверное имели ввиду этап с задачками, потому что тестовые задания (то что надо делать дома) мы не практикуем на позиции разработчиков.
В любом случае, мы такой подход не практикуем и ссылки на свои проекты на github кандидаты нам присылают не так часто как хотелось бы. По моим ощущениям это 1-2 кандидата из 10-ти. Но мы подумаем над такой опцией.
prankov
22.03.2019 10:44Оно, конечно, здорово, но бывает так, что вроде и хотел устроиться и прошел все этапы собеседования и начал работать, но в итоге понял, что не твое, получается потратил кучу сил на прохождение этих интервью зря
GremniX
22.03.2019 11:52В этом случае все тратят свое время зря, в том числе компания. Но время которое мы тратим на интервью сильно меньше чем время которое мы потратим на адаптацию человека. В случае если он уйдет мы опять должны будем потратить время на поиск и адаптацию нового разработчика. Получается в случае вашего увольнения по время испытательного срока, компания несет двойные потери в отличие от вас. Поэтому и появляются все эти этапы. Кажется что времени тратиться много, но если сравнить с возможными потерями, то не так уж и много.
PavelOsipov
22.03.2019 14:27+1Спасибо, что поделились своим опытом. По прочтении данной статьи у меня возникло 2 вопроса:
- Вы пишете, что создали описанный процесс, чтобы сделать процедуру найма эффективнее. Можете раскрыть тезис, в чём измеряется эффективность? Когда непонятно «зачем», сложно оценить полученное «как». Есть ли циферные метрики, подтверждающие повышение эффективности? Например, что время найма уменьшилось на 20%, или текучка снизилась на такое-то количество?
- Какие есть возможности у команд разработки кастомизировать процесс под себя?
Ниже пояснение, почему у меня вообще появились эти вопросы.
Регламентация любого процесса – дело хорошее и бесспорно делает процесс масштабируемым и предсказуемым как с точки зрения интервьюеров, так и с точки зрения кандидатов. Более того, когда процесс регламентирован, то появляется возможность его тюнить на основе обратной связи. Тем не менее, мне бы не хотелось, чтобы в моей компании завелся похожий процесс. Как мне кажется, он нивелирует не только индивидуальность кандидатов, о чём было неоднократно замечено выше, но, что не менее важно, также индивидуальность команд, которые нанимают.
Насколько я понимаю суть гибких методологий, она состоит в том, что каждая команда является самоорганизующейся единицей. Она самостоятельно настраивает свои процессы, принимая во внимание поставленные перед цели и имеющиеся ресурсы. Любой регламент сверху, касающийся любого аспекта её деятельности, эту гибкость отнимает, поскольку априори не учитывает её особенности. Представим себе, что в некой компании X есть линейка продуктов: какой-нибудь сервис-«дойная корова» (поиск, почта, объявления и т.п.), написанный на Java, внутренний инкубатор стартапов, пишущийся на Node.js, и инфраструктурные сервисы (портальной авторизация, middleware, стораджа), написанные на C. На мой взгляд будет контрпродуктивным гонять кандидатов по плюс-минус одинаковому флоу при найме в каждую из обозначенных команд.
Позволю себе провести ещё одну аналогию, которая роднит близкую нам предметную область проектирования ПО и рассматриваемую тему проектирования процессов. Подход к разработке с использованием микросервисной архитектуры родился в том числе потому, что получается неоправданно дорого реализовывать разные части системы с использованием одинакового стека технологий, несмотря на то, что это безумно красиво и технологически эффективно. Предъявляемые атрибуты качества к разным компонентам отличаются, и если у меня поиск написан стеке с голым C в связке с in-house базой данных и обязан работать 24x7, то это не повод навязывать его команде разработки соц. сети для любителей котиков, которая находится на этапе проверки гипотезы и может себе позволить небольшие даунтаймы. Как руководитель конкретной команды я предпочитаю иметь свой процесс найма и отбирать людей исходя из своих потребностей. Почему моя команда «соц. сети для любителей котиков» должна полгода набирать сотрудников, из-за того, что руководитель поиска добавил в процесс найма фильтр в виде требования написать алгоритм обхода бинарного дерева без использования рекурсии? Но, постойте, в отличие от команды разработки поиска, моей через полгода из-за невыполненных KPI вообще уже может и не существовать… Данный процесс видится рациональным только в том случае, если с точки зрения внутренней политики компании при закрытии одного проекта люди могли безболезненно переходить в другой. В этом случае действительно получается, что любой бекендер должен быть настолько хорош, чтобы в любой момент он мог перейти в самый технологически сложный проект. Но тут опять страдает команда любителей котиков – средненьких ей набрать не дают, а звезды к ней не идут. Возвращаясь к аналогии с проектированим ПО, описанный процесс найма сродни такому подходу к разработке, где технологический стек унифицирован таким образом, чтобы каждый компонент в монорепозитории в любой момент можно было бы взять и начать использовать в сервисе поиска. Он должен быть написан на голом C и обезбажен на 99,999%, пройдя многоступенчатое code review и иметь 100% code test coverage. Эффективно ли это?
Лично мне импонирует процесс найма в Artsy. Он адаптивен и отталкивается от имеющегося опыта кандидата. Они пытаются свести к минимуму проявления элитаризма в нашей профессии и неожиданным образом отвечают на вопрос «What's wrong with typical hiring practices»:
- In-person coding challenges
- Whiteboard interviews
- Sample code
- Take-home challenges.
GremniX
22.03.2019 23:42У нас 5 продуктовых и 5 платформенных кластеров. Описанный в статье процесс используется только в одном из них (С2С). И то это скорее фреймворк, а не строгий процесс. Команды его использующие могут менять структуру вопросов и задачи в рамках секций. Могут добавлять свои секции. В общем адаптируют фреймворк, оставляя общую структуру и идею каждого блока.
В моем кластере (Verticals) похожая но не точно такая же схема. У нас тоже есть скрининг по телефону/скайпу, делают его инженеры и мы стараемся уложиться в 30 минут на все (знакомство + наши вопросы + вопросы кандидата). Потом техническое интервью, 2 часа с похожим набором секций. И финал HR + менеджер для проверки soft-skills и прояснения оставшихся вопросов 1.5 часа.
В общем набор секций примерно одинаковый у всех, но каждый кластер адаптирует все под себя и внутри кластера команды еще могут тоже что-то менять. Так что наш процесс ближе к микросервисам, чем монолиту :)
Про метрики на которые смотрели ребята не отвечу, возможно у StanYurk есть детали.
red_perez
Не претендую на истину в последней инстанции, но в моем случае получается все ровно наоборот: чем больше опыта тем меньше собеседований.
Если резюме покрывает >10 лет профессионального опыта то этого достаточно чтобы оценить кандидата.
Кроме того есть еще груз «косвенных» свидетельств комптентности в виде патентов, публикаций, дипломов, сертификатов и прочего.
В моем случае сложнее всего было получить первое и второе места работы а на последнее я попал вообще без технического интервью (программист).
MeGaPk
может имеется ввиду, тех у кого всего этого нету в общем доступе, и метят на высокую должность?
red_perez
Думаю что нет, потому что следующей строкой отсыл к техническому интервью.
Если набирают принципла или тимлида то это будет на мой взгляд лишним, а если >тимлида то и вовсе попыткой троллинга.
MeGaPk
Я так полагаю они хвастаются «как мы унижаем сеньёров»?
sharpfellow
Надо учитывать, что у Авито большой поток желающих попасть в компанию, поэтому они могут позволить себе сделать отбор строгим и принимать решение в пользу наиболее квалифицированных на их взгляд специалистов. Такой же процесс в 4 секции у Яндекса, у которого, думаю, тоже нет проблем с откликом на вакансии
red_perez
Имеют право, НО
Фишка собеседования не обязательно в том чтобы заполучить «самого лучшего». По моим наблюдениям лучший рано или поздно заканчивает в компаниях FAANG а другие компании использует исключительно в кач. прыжковой доски, от таких «выхлопа» будет не много. Важно заполучить грамотного+лояльного специалиста. Иначе будет текучка а компания будет заниматься подготовкой кадров для FAANG.
StanYurk Автор
Мы подходим одинаково внимательно к собеседованиям джунов-мидлов-синьоров и тимлидов с руководителями, никого не унижаем) нам важно оставить хорошее впечатление даже если кандидат нам не подходит.
red_perez
То есть руководителей таскаете по программированию?
Anton23
Собеседование на лида и выше:
Blast
Нуачо, разворачивание деревьев на бумажке уже все выучили :)
StanYurk Автор
Нам точно надо проверить его знания, мы обязательно погоняем по архитектуре 2 часа с ребятами из архитектуры, остальное опционально, но желательно
roscomtheend
Иногда хочется — типмлид, большие проекты, руководство командой, а по факту… фиг с деревьями, элементарного анализа провести не может: или я это знаю или в природе не существует, даже предложенный элементарный эксперимент на 30сек провести не могут. Такое, правда, и без кода выяснится, но лучше, если высшее руководство не впечатлится резюме и не наймёт такого вам в начальники.
GremniX
По программированию обычно нет. Но по архитектурным вопросам да. И на общий технический кругозор тоже смотрим.
Правда тут есть исключения. На некоторых менеджерских позициях может быть секция по программированию если для команды важно чтобы их начальник писал код на равне с ними, иначе они могут его не принять.
evgwed
Не думаю, что в Avito именно «унижают» на интервью.
Пару раз мне попадались интервьюеры, которые ставят целью не узнать твой опыт и знания, а самоутвердится за счет тебя. Обычно это начинается, когда ты успешно ответил на все вопросы из подготовленного списка и довольно легко решил практические задачи.
Если проходить интервью довольно быстро, отвечая на все вопросы верно, то в человеке начинает играть ревность (или как это назвать), но он начинает именно топить тебя.
Поэтому всем, кто проводит интервью: Коллеги, давайте быть добрее и не «унижать» людей на интервью. Даже если кандидат оказался сильнее вас.
StanYurk Автор
У нас есть форма обратной связи для кандидатов, не прошедших отбор к нам. Если человек к нам не прошел-это не значит что он плохой или слабый разработчик, просто наши пути не сходятся в данный момент. Мы даем развернутую обратную связь и рады получить такую от кандидатов. Мы ставим цель-закрыть вакансию хорошим специалистом, в наших интересах оставить хорошее впечатление, благодаря этому человек сохранит желание поработать с нами, пользоваться продуктом, рекомендовать нас как работодателя и рекомендовать продукт.