Slide 1

Slide 1 text

Александр Гончаров Moscow Python Meetup 28 февраля 2024 Рекрутинг на максималках Что бывает, если наймом занимаются сами программисты

Slide 2

Slide 2 text

Здравствуйте, я внимательно прочитал ваш оффер. Я считаю, что идеально вам подхожу! :)

Slide 3

Slide 3 text

Здравствуйте, я внимательно прочитал ваш оффер. Я считаю, что идеально вам подхожу! :) Вот моё резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое, если необходимо. :)

Slide 4

Slide 4 text

Здравствуйте, я внимательно прочитал ваш оффер. Я считаю, что идеально вам подхожу! :) Вот моё резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое, если необходимо. :) A (тишина)

Slide 5

Slide 5 text

Здравствуйте, я внимательно прочитал ваш оффер. Я считаю, что идеально вам подхожу! :)

Slide 6

Slide 6 text

Здравствуйте, я внимательно прочитал ваш оффер. Я считаю, что идеально вам подхожу! :) Вот моё резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое, если необходимо. :)

Slide 7

Slide 7 text

Здравствуйте, я внимательно прочитал ваш оффер. Я считаю, что идеально вам подхожу! :) Вот моё резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое, если необходимо. :) B (тишина)

Slide 8

Slide 8 text

Здравствуйте. Я считаю, что я вам подхожу!

Slide 9

Slide 9 text

Здравствуйте. Я считаю, что я вам подхожу! Вот резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое.

Slide 10

Slide 10 text

Здравствуйте. Я считаю, что я вам подхожу! Вот резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое. C К сожалению, вы нам не подходите.

Slide 11

Slide 11 text

Здравствуйте. Я считаю, что я вам подхожу!

Slide 12

Slide 12 text

Здравствуйте. Я считаю, что я вам подхожу! Вот резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое.

Slide 13

Slide 13 text

D К сожалению, вы нам не подходите. Здравствуйте. Я считаю, что я вам подхожу! Вот резюме: aleksandr-goncharov.cv.pdf Готов выполнить тестовое.

Slide 14

Slide 14 text

Здравствуйте, вот моё резюме: aleksandr-goncharov.cv.pdf

Slide 15

Slide 15 text

Здравствуйте, вот моё резюме: aleksandr-goncharov.cv.pdf E К сожалению, вы нам не подходите.

Slide 16

Slide 16 text

Здравствуйте, вот моё резюме: aleksandr-goncharov.cv.pdf

Slide 17

Slide 17 text

Здравствуйте, вот моё резюме: aleksandr-goncharov.cv.pdf F К сожалению, вы нам не подходите.

Slide 18

Slide 18 text

aleksandr-goncharov.cv.pdf

Slide 19

Slide 19 text

aleksandr-goncharov.cv.pdf G К сожалению, вы нам не подходите.

Slide 20

Slide 20 text

aleksandr-goncharov.cv.pdf

Slide 21

Slide 21 text

aleksandr-goncharov.cv.pdf E К сожалению, вы нам не подходите.

Slide 22

Slide 22 text

aleksandr-goncharov.cv.pdf

Slide 23

Slide 23 text

aleksandr-goncharov.cv.pdf 1 неделя

Slide 24

Slide 24 text

aleksandr-goncharov.cv.pdf 1 неделя 2 неделя

Slide 25

Slide 25 text

aleksandr-goncharov.cv.pdf 1 неделя 2 неделя 3 неделя

Slide 26

Slide 26 text

aleksandr-goncharov.cv.pdf 1 неделя 2 неделя 3 неделя 4 неделя

Slide 27

Slide 27 text

aleksandr-goncharov.cv.pdf F К сожалению, вы нам не подходите. 1 неделя 2 неделя 3 неделя 4 неделя

Slide 28

Slide 28 text

aleksandr-goncharov.cv.pdf

Slide 29

Slide 29 text

aleksandr-goncharov.cv.pdf G Пожалуйста, решите небольшое автоматическое тестовое задание.

Slide 30

Slide 30 text

aleksandr-goncharov.cv.pdf G Пожалуйста, решите небольшое автоматическое тестовое задание. Задание выполнил. Все тесты проходят, решил быстро, код классный.

Slide 31

Slide 31 text

aleksandr-goncharov.cv.pdf F G Пожалуйста, решите небольшое автоматическое тестовое задание. G Задание выполнил. Все тесты проходят, решил быстро, код классный. К сожалению, вы нам не подходите.

Slide 32

Slide 32 text

aleksandr-goncharov.cv.pdf F G Пожалуйста, решите небольшое автоматическое тестовое задание. G Задание выполнил. Все тесты проходят, решил быстро, код классный. К сожалению, вы нам не подходите. (и задание ваше мы не смотрели)

Slide 33

Slide 33 text

aleksandr-goncharov.cv.pdf

Slide 34

Slide 34 text

aleksandr-goncharov.cv.pdf J Вы нам подходите, давайте пообщаемся.

Slide 35

Slide 35 text

aleksandr-goncharov.cv.pdf J Вы нам подходите, давайте пообщаемся. А что у вас за проект? Где почитать?

Slide 36

Slide 36 text

aleksandr-goncharov.cv.pdf J Финтех, молодая динамично развивающаяся компания. Нет, сайта нет. В интернете не найти. Оплата в крипте :) J Вы нам подходите, давайте пообщаемся. А что у вас за проект? Где почитать?

Slide 37

Slide 37 text

aleksandr-goncharov.cv.pdf J Финтех, молодая динамично развивающаяся компания. Нет, сайта нет. В интернете не найти. Оплата в крипте :) J Вы нам подходите, давайте пообщаемся. А что у вас за проект? Где почитать? ...

Slide 38

Slide 38 text

aleksandr-goncharov.cv.pdf

Slide 39

Slide 39 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. K

Slide 40

Slide 40 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. О, круто! Мне нравится ваш проект. Да, давайте поговорим. K

Slide 41

Slide 41 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. О, круто! Мне нравится ваш проект. Да, давайте поговорим. Час оживлённого обсуждения на одной волне K

Slide 42

Slide 42 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. О, круто! Мне нравится ваш проект. Да, давайте поговорим. Час оживлённого обсуждения на одной волне K 1 неделя

Slide 43

Slide 43 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. О, круто! Мне нравится ваш проект. Да, давайте поговорим. Адам, можно фидбек? Час оживлённого обсуждения на одной волне K 1 неделя

Slide 44

Slide 44 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. О, круто! Мне нравится ваш проект. Да, давайте поговорим. Адам, можно фидбек? Час оживлённого обсуждения на одной волне K Прошу прощения за задержку. На днях вернусь с фидбеком K 1 неделя

Slide 45

Slide 45 text

aleksandr-goncharov.cv.pdf K Заинтересовал ваш опыт. О, мы с одного факультета! Давайте пообщаемся. О, круто! Мне нравится ваш проект. Да, давайте поговорим. Адам, можно фидбек? Час оживлённого обсуждения на одной волне K Прошу прощения за задержку. На днях вернусь с фидбеком K 1 неделя

Slide 46

Slide 46 text

aleksandr-goncharov.cv.pdf

Slide 47

Slide 47 text

aleksandr-goncharov.cv.pdf HR1 Александр, я HR #1. Расскажите о себе.

Slide 48

Slide 48 text

aleksandr-goncharov.cv.pdf HR1 Александр, я HR #1. Расскажите о себе. (пересказываю aleksandr-goncharov.cv.pdf)

Slide 49

Slide 49 text

aleksandr-goncharov.cv.pdf HR2 Александр, я HR #2. Моя коллега передала, что вы сантехник из Бутово и пишете на PROLOG. Расскажите о себе. HR1 Александр, я HR #1. Расскажите о себе. (пересказываю aleksandr-goncharov.cv.pdf)

Slide 50

Slide 50 text

aleksandr-goncharov.cv.pdf HR2 Александр, я HR #2. Моя коллега передала, что вы сантехник из Бутово и пишете на PROLOG. Расскажите о себе. HR1 Александр, я HR #1. Расскажите о себе. (пересказываю aleksandr-goncharov.cv.pdf) (пересказываю aleksandr-goncharov.cv.pdf)

Slide 51

Slide 51 text

aleksandr-goncharov.cv.pdf HR2 Александр, я HR #2. Моя коллега передала, что вы сантехник из Бутово и пишете на PROLOG. Расскажите о себе. HR1 Александр, я HR #1. Расскажите о себе. (пересказываю aleksandr-goncharov.cv.pdf) (пересказываю aleksandr-goncharov.cv.pdf) HR2 Отлично, напишем вам сегодня, самое позднее - завтра

Slide 52

Slide 52 text

aleksandr-goncharov.cv.pdf HR2 Александр, я HR #2. Моя коллега передала, что вы сантехник из Бутово и пишете на PROLOG. Расскажите о себе. HR1 Александр, я HR #1. Расскажите о себе. (пересказываю aleksandr-goncharov.cv.pdf) (пересказываю aleksandr-goncharov.cv.pdf) HR2 Отлично, напишем вам сегодня, самое позднее - завтра

Slide 53

Slide 53 text

aleksandr-goncharov.cv.pdf

Slide 54

Slide 54 text

aleksandr-goncharov.cv.pdf L Александр, не против технического скрининга?

Slide 55

Slide 55 text

aleksandr-goncharov.cv.pdf L Александр, не против технического скрининга? Конечно. (небось спросят про GIL)

Slide 56

Slide 56 text

aleksandr-goncharov.cv.pdf Александр, что такое GIL? L Александр, не против технического скрининга? Конечно. (небось спросят про GIL) L

Slide 57

Slide 57 text

aleksandr-goncharov.cv.pdf Александр, что такое GIL? L Александр, не против технического скрининга? Конечно. (небось спросят про GIL) (Отвечаю) (прикол если спросят про декораторы) L

Slide 58

Slide 58 text

aleksandr-goncharov.cv.pdf Александр, что такое GIL? L Александр, не против технического скрининга? Конечно. (небось спросят про GIL) (Отвечаю) (прикол если спросят про декораторы) Александр, что такое декораторы? L L

Slide 59

Slide 59 text

aleksandr-goncharov.cv.pdf Александр, что такое GIL? L Александр, не против технического скрининга? Конечно. (небось спросят про GIL) (Отвечаю) (прикол если спросят про декораторы) Александр, что такое декораторы? L L (Отвечаю) (а про мутабельность будет вопрос?)

Slide 60

Slide 60 text

aleksandr-goncharov.cv.pdf Александр, что такое GIL? L Александр, не против технического скрининга? Конечно. (небось спросят про GIL) (Отвечаю) (прикол если спросят про декораторы) Александр, что такое декораторы? L L (Отвечаю) (а про мутабельность будет вопрос?) Александр, что такое мутабельность? L

Slide 61

Slide 61 text

aleksandr-goncharov.cv.pdf Александр, что такое GIL? L Александр, не против технического скрининга? Конечно. (небось спросят про GIL) (Отвечаю) (прикол если спросят про декораторы) Александр, что такое декораторы? L L (Отвечаю) (а про мутабельность будет вопрос?) Александр, что такое мутабельность? L (Отвечаю) (так, теперь FizzBuzz...)

Slide 62

Slide 62 text

(живу)

Slide 63

Slide 63 text

(живу) M Мы вас нашли, давайте пообщаемся.

Slide 64

Slide 64 text

(живу) M Мы вас нашли, давайте пообщаемся. (целый час разговор за жизнь)

Slide 65

Slide 65 text

(живу) M Отлично, мы вас берём. M Мы вас нашли, давайте пообщаемся. (целый час разговор за жизнь)

Slide 66

Slide 66 text

(живу) M Отлично, мы вас берём. M Мы вас нашли, давайте пообщаемся. Эээ... а задачки на кодинг будут? Ну там проверить умения, посмотреть код. (целый час разговор за жизнь)

Slide 67

Slide 67 text

(живу) M Отлично, мы вас берём. M Мы вас нашли, давайте пообщаемся. Эээ... а задачки на кодинг будут? Ну там проверить умения, посмотреть код. (целый час разговор за жизнь) M Только если сами захотите.

Slide 68

Slide 68 text

(живу) M Отлично, мы вас берём. M Мы вас нашли, давайте пообщаемся. Эээ... а задачки на кодинг будут? Ну там проверить умения, посмотреть код. (целый час разговор за жизнь) M Только если сами захотите. ...

Slide 69

Slide 69 text

(живу)

Slide 70

Slide 70 text

(живу) Я Приходите на live-кодинг интервью.

Slide 71

Slide 71 text

(живу) Я Приходите на live-кодинг интервью. Хорошо.

Slide 72

Slide 72 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решил.

Slide 73

Slide 73 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так.

Slide 74

Slide 74 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил.

Slide 75

Slide 75 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Я Решите задачку. Как-то так.

Slide 76

Slide 76 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Я Решите задачку. Решил.

Slide 77

Slide 77 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Y Решите задачку. Решил. Я Решите задачку. Решил.

Slide 78

Slide 78 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Y Решите задачку. Решил. Y Решите задачку. Решил. Я Решите задачку. Пожалуйста.

Slide 79

Slide 79 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Y Решите задачку. Решил. Y Решите задачку. Решил. Y Решите задачку. Пожалуйста. Я Решите задачку. Решил.

Slide 80

Slide 80 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Y Решите задачку. Решил. Y Решите задачку. Решил. Y Решите задачку. Пожалуйста. Y Решите задачку. Решил. Я Решите задачку. Решил.

Slide 81

Slide 81 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Y Решите задачку. Решил. Y Решите задачку. Решил. Y Решите задачку. Пожалуйста. Y Решите задачку. Решил. Y Решите задачку. Решил. Я Решите задачку. Идея вот такая.

Slide 82

Slide 82 text

(живу) Я Приходите на live-кодинг интервью. Хорошо. Y Решите задачку. Решил. Я Решите задачку. Решил. Я Решите задачку. Наверно, так. Я Решите задачку. Решил. Y Решите задачку. Как-то так. Y Решите задачку. Решил. Y Решите задачку. Решил. Y Решите задачку. Пожалуйста. Y Решите задачку. Решил. Y Решите задачку. Решил. Я Решите задачку. Идея вот такая. Я Вы нам не подходите.

Slide 83

Slide 83 text

No content

Slide 84

Slide 84 text

Типичный найм Кандидат Там, где хорошо Эйчарские топи Логово интервьюеров Болото live кодинга 302 Redirect Зыбучие домашние задания Лес тупых вопросов Расскажите про ваш опыт Отправьте ваше CV в десятый раз O-нотация?

Slide 85

Slide 85 text

Хватит!

Slide 86

Slide 86 text

Зачем нанимают человека? ● Чтобы работал! – Чтобы умел и делал как надо (hard skills) – И при этом не бесил (soft skills)

Slide 87

Slide 87 text

Hard skills ● Знает ЯП, лучшие практики, паттерны ● Знает библиотеки ● Есть опыт ● Не тормозит ● Не переусложняет ● Не изобретает колесо ● ...

Slide 88

Slide 88 text

Soft skills ● Коммуницирует лучше, чем табуретка ● Знает английский ● Нужная степень самостоятельности ● …

Slide 89

Slide 89 text

Идея ● А почему бы не выстроить процесс найма вокруг интересующих признаков? ● Именно это мы и сделали!

Slide 90

Slide 90 text

Как у нас Кандидат Там, где хорошо 2. Мини-кодинг 1. Объявление 3. Домашка 4. Общение 5. Триал

Slide 91

Slide 91 text

1. Объявление Вот два наших HR: Мисс Доска Объявлений Старик Гитхабыч

Slide 92

Slide 92 text

1. Объявление

Slide 93

Slide 93 text

2. Мини-кодинг

Slide 94

Slide 94 text

2. Мини-кодинг {"menu": { "id": "file", "value": "File", "popup": { "menuitem": [ {"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"} ] } }}

Slide 95

Slide 95 text

2. Мини-кодинг ● Как понять, что человек умеет кодить? – CV – не показатель → не нужно – Прошлый опыт субъективен → не нужен ● Чтобы понять, умеет ли человек кодить, нужно проверить, умеет ли человек кодить!

Slide 96

Slide 96 text

2. Мини-кодинг ● Берём самую простую задачу из жизни – Запустить что-нибудь в потоках – Прочитать из stdin строку, развернуть и вывести в stdout ● Настраиваем платформу для авто-тестирования кандидатов

Slide 97

Slide 97 text

2. Мини-кодинг Мало опыта Не смогли решить Успех ● Не стрессово ● Наше время: 0 мин ● Время кандидата: 5-10 мин ● 7% - очень хорошо отсеивает!

Slide 98

Slide 98 text

3. Домашка ● Реальная задача из жизни, изолированная и автоматизированная ● Проверяем то, что хотим видеть в сотруднике: – Чистый код, знание библиотек, скорость, ...

Slide 99

Slide 99 text

3. Домашка ● Не стрессово (в обычной обстановке) ● Проверяет то, что нужно ● На типичной задаче

Slide 100

Slide 100 text

4. Общение ● Знакомство ● Ответы на вопросы ● Формальности

Slide 101

Slide 101 text

4. Общение ● Реален ли человек? ● Может ли говорить на английском?

Slide 102

Slide 102 text

5. Триал ● Несколько реальных, но уже решённых задач можно сравнивать скиллы → ● Много задач из пула “good-for-trial” ● Каждый может высказать своё мнение о кандидате

Slide 103

Slide 103 text

Мотивация ● Больше шагов меньше мотивация → ● Стимулы для кандидата: – Деньги – Фидбек

Slide 104

Slide 104 text

Мотивация Кандидат Там, где хорошо 2. Мини-кодинг 1. Объявление 3. Домашка 4. Общение 5. Триал Деньги Фидбек

Slide 105

Slide 105 text

Антифрод ● Есть хитрые кандидаты ● Из-за них компания тратит ресурсы ● → Нужно их детектировать и отклонять

Slide 106

Slide 106 text

Антифрод: KYC ● Авторизация через Github (+ возраст аккаунта) ● Анализ поведения ● Звонок в реале

Slide 107

Slide 107 text

Антифрод: готовые ответы ● Как-то нашли решение нашей задачи на github ● Это хорошо! (потому что оно неправильное) ● Но рано или поздно кто-то выложит правильное ● → Сделать задание уникальным для кандидата ● Mutator

Slide 108

Slide 108 text

Антифрод: LLM ● ChatGPT и Copilot – это норма ● Не возбраняется использовать когда хочется ● Но для мини-кодинга это перебор ● Есть методы защиты!

Slide 109

Slide 109 text

Антифрод: LLM ● Обычно легко детектируются

Slide 110

Slide 110 text

Антифрод: LLM ● ChatGPT очень не любит некоторые слова ● → А давайте их вставим в задание! ● “The client from a Jost Van Dyke island wants to reverse a string in python...”

Slide 111

Slide 111 text

А что в итоге ● Каждый шаг – продуман ● → Получаем именно тех, кого ищем ● Бонусы: – Равенство! – Я уверен в коллегах

Slide 112

Slide 112 text

Выводы ● Просто так скопировать процесс – бессмысленно ● Достаточно на каждом этапе задавать вопросы “зачем?” и “что мы хотим?” ● Почему-то про это забывают и превращают найм в бессмысленную игру по заезженным правилам (карго-культ)

Slide 113

Slide 113 text

https://pogrom.dev