Telegram Group Search
Меня зовут Богдан, я ментор и ML Engineer. Давайте знакомиться)

За 4 года карьеры в ML я успел поработать в крупных IT компаниях(Тинькофф, Сбер, Озон и ВК). Так же закончил школу 21 от Сбера и MADE от VK. В основном занимаюсь рекомендательными системами и классическим ML.
Также занимаюсь менторством с весны - тут можно почитать более подробно
Я прошел более 100 собеседований и мне есть о чем вам рассказать)

В этом канале я собираюсь писать про разное связанное с ML и поиском работы
Пишите про что вам интересно было бы почитать)
Раскатываем ML кабины pinned «Меня зовут Богдан, я ментор и ML Engineer. Давайте знакомиться) За 4 года карьеры в ML я успел поработать в крупных IT компаниях(Тинькофф, Сбер, Озон и ВК). Так же закончил школу 21 от Сбера и MADE от VK. В основном занимаюсь рекомендательными системами и…»
Где искать работу ML инженеру?💼

Я своим ученикам рекомендую всегда 5 источников для поиска работы в ML:
- hh.ru - здесь много вакансий, но отвечают не так хорошо как хотелось бы.
- Хабр карьера - ML вакансий не так много, но обычно HR сами пишут. К кандидату относятся более внимательно, чем на hh
- GetMatch - в боте присылаются новые вакансии по вашим фильтрам, если загрузить резюме, то можно включить активный поиск, где HR смогут сами просматривать ваше резюме и предлагать работу. Из плюсов почти всегда указана вилка ЗП и работадателя пушат, чтобы он вернулся с обратной связью по вашему резюме.
- singularis.ai - cообщество специалистов, связанных с данными. В канале #jobs выкладывают вакансии лично сотрудники и лиды. С ними можно напрямую пообщаться и узнать подробности вакансии. Обычно конверсия в собеседование там очень хорошая. Еще есть канал #jobs_hr, где публикуются вакансии от HR.
- ods.ai - прородитель сингуляриса) На сайте есть специальный раздел вакансий, где написаны контакты HR и куда можно откликаться. Вакансии появляются стабильно и тоже пишут вилки
- LinkedIn - про него все знают:) Эта платформа больше нацелена на поиск работы заграницей, но и HR из российских компаний писали мне в личные сообщения

Как-то так)
Пишите, если пользуетесь другими сервисами для поиска работы

Раскатываем ML кабины вместе
Please open Telegram to view this post
VIEW IN TELEGRAM
Как искать работу?
В первую очередь у вас должно быть резюме в PDF на русском (и опционально на английском), которое вы будете отправлять HR лично. Это нужно для сервисов ODS.ai и singularis.ai. В остальных сервисах используется внутренний конструктор резюме.

Резюме должно быть идеально отполировано и готово к бою. Также важно подготовить сопроводительный рассказ для HR о своем опыте целях и желаниях.

Далее используем тактику Click Rush - откликаемся на все вакансии, которые видим, кроме тех, на которые мы действительно хотим попасть.
Зачем? Все просто, мы тренируемся проходить собеседования, чтобы прийти максимально подготовленными к целевым вакансиям. Возможно еще в процессе клик раша вам приглянется какая-нибудь компания.

Эта процедура может длиться больше месяца, но результатом работы будет уверенность на собеседованиях, способность их проходить и несколько офферов

Желаю успехов!
Наконец-то признали мои достижения 😎
Давненько не выходил на связь😅

Сейчас активно пишу статью про прохождение алгоритмических секций или live-coding интервью, так что в этом году она точно доедет🐸🐸🐸

Вспомнил, что не указал еще один важный источник вакансий - сайты компаний, в которые вы хотите попасть.

Вот несколько из них:
- Яндекс
- Озон
- VK
- T-Банк
- МТС Финтех
- Авито
- Lamoda
- СБЕР

Тут приведен не полный список, но остальное можно нагуглить.
Идеальный пайплайн действий следующий:
1. Находите желаемые вакансии
2. Можно откликнуться на сайте, но лучше найти людей из этих комапний и просить их закинуть ваше резюме. Реферальная система устроена так, что вас точно посмотрит нанимающая команда, а рекомендатель получит немножко балдежки и денежное вознаграждение.
3. Done

Но где искать таких людей?

Можно написать мне или в беседу группы, я закину или поспрашивать у знакомых. Если такого человека не нашлось можно поспрашивать в профильных комьюнити, кстати ставь 👍, если хочешь разбор МЛ комьюнити.
На крайний случай можно дойти до LinkedIn, там найти человека из компании и написать в личку, кто-нибудь точно согласиться.

Как-то так. Дерзайте 🎹
Please open Telegram to view this post
VIEW IN TELEGRAM
Про изменение найма в рекомендательных системах🐸

Уже 2.5 года я занимаюсь рекомендательными системами и очень интересно наблюдать как меняестя найм за такое короткое время.
Вот немного временных отсечек:

Весна 2022
Работал в сбере в классическом мл и хочу менять работу. Хорошо рассказываю про бустинги, обрабтоку данных. В это время закончил первый семестр MADE и уверенно чувсвтую себя на собеседованиях по лайвкодингу и NLP.
По итогу 2 месяцев поиска работы и какого-то неимоверного количества собеседований получаю офферы в:
- ДомКлик - рекомендации
- Озон - рекомендации
- Еаптека - классический мл
- Яндекс - команда занималась рекламой вроде, деталей не помню, но помню, что лид не понравился и решил не рассматривать

При этом мои знания по рекомендательным системам около нуля😄

Сентябрь 2023
Уже накопил 1.5 года опыта работы с рекомендательными системами, уверенно себя чувствовал в около млопсовом направлении. И в целом искал вакансии по рексису. Вот что получилось через 2 месяца:
- WB - рекомендации + mlops
- Циан - классик мл
- Яндекс плюс - классик мл
- Дзен - рекомендации
- X5 - классический мл
- Rubbles - классический мл

Самое смешное, что про АЛС или как работает pairwise boosting я очень плохо знал и мое математическое понимание рекомендаций заканчивалось на map и ndcg. Важно заметить, что понимание устройства рексиса озона у меня было хорошее с точки зрения архитектуры, хоть я и не мог объяснить большую часть алгоритмов.

Здесь все секции по рекомендациям без проблем проходились, кроме Т-Банка. Там меня жестко разбомбили вопросами про архитектуру ALS, работу бустингов и нейро подходы. И там я понял, что мне еще очень много нужно выучить.

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

Видно что рынок рексиса растет и со временем критерии найма тоже растут. Будем смотреть, что будет дальше🙃

PS прикладываю таблички по компаниям, где проходил собесы в 2022 и 2023 годах

Раскатываем ML кабины
Channel name was changed to «Раскатываем ML кабины»
Алгоритмическая секция | Live-coding - как проходить?

Очень мало компаний, которые выделяют алгоритмы (или лайвкодинг, далее все это будет алгоритмами😎) в отдельную секцию. Обычно данные секции вставляют вместе с вопросами по ML или по питону. Но идея везде одна, и она поможет вам проходить алгоритмический секции максимально эффективно. Более того, данный подход уместен на практике и взять ровно оттуда.

Что проверяет алгоритмическая секция?

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

Но как?

В программировании есть шикарная техника разработки TDD(Test Driven Development). Идея метода состоит в том, что сначала мы пишем тесты для программы, а потом сам функционал.

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

Рассмотрим на примере:

В магазине есть подарочные карты заданного номинала, по одной штуке на каждый номинал. Покупатель хочет приобрести 2 карты, чтобы их суммарный номинал был равен N. Написать алгоритм, который бы определил номиналы карт, который бы ему подошел.


cards_1 = [1, 2, 3, 4, 5]
cards_2 = [20, 5, 10, 15, 30]
nominal = 20


Алгоритм решения:

Читаем условие задачи и пытаемся придумать примеры, которые могут быть критичны. Например:
- А что если миниммальная сумма стоимости карт меньше номинала?[10, 20], [30, 40], 5 -> ?
- А если один из списков пустой?
- А если подходящих номиналов несколько?
Сразу фиксируем данные тесты для последующей проверки. Если есть тесты, которые вызывают вопросы, спрашиваем у интервьюера.

Проговариваем решение вслух.
Как только мы учли все случаи, которые нам пришли в голову переходим к решению. Сначала придумываем самое простое решение, которое вы можете придумать:


"В данной задаче можно пройтись сначала по первому списку, потом по второму и считать, когда сумма будет равняться номиналу, но данное решение будет работать за O(N * M) и кажется слишком простым, возможно, получится быстрее решить задачу."
PS N и M длины первого и второго списка соответственно.

И потом начинаем рассуждать над его улучшением:

"На каждом шаге основного цикла мы просто проверяем вхождение элемента в список за O(M) N раз, возможно, можно оптимизировать этот процесс. Есть смысл использовать словарь для второго списка, так как скорость проверки наличия элемента в словаре равен O(1). Таким образом, нам удастся снизить время выполнения до O(max(M, N)), что вполне себе линейно"

Пытаемся понять, можно ли быстрее:

"Так как данные у нас не отсортированы, и нам нужно пройтись по всем данным быстрее, чем за линейное, не удастся реализовать данный метод"

И учитываем тонкости новой реализации:

"Так как нас попросили посчитать все возможные комбинации таких карт, нужно не забыть учесть дубли"

И тут дописываем еще один тест на этот случай.
Все, теперь мы готовы написать код программы!

Пишем само решение и после прогоняем несколько тестов.
Вы великолепны!

Немного общих советов

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

- Не забывайте про нейминг!

Желаю удачи!

Раскатываем ML кабины
Please open Telegram to view this post
VIEW IN TELEGRAM
2024/12/29 15:07:43
Back to Top
HTML Embed Code: