Mail.ru group

Содержание курса

Курс состоит из шести модулей — «недель», в ходе которых слушатели изучают конкретную тему или выполняют проект. Вначале даются ключевые знания о структуре и синтаксисе языка, и чем дальше, тем больше вы будете осваивать тонкости Python и возможности его практического применения.

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

1. Введение в Python

На первой неделе участники курса узнают об особенностях языка и сфере его применения, выберут среду разработки и начнут программировать. Первый этап разбирает работу с базовыми типами: числами, логическими типами, строками и байтовыми строками. Участники научатся работать с потоками, разворачивать окружение и собирать программу из модулей и пакетов. Для тех, кто уже знаком с Python, этот модуль будет возможностью освежить и систематизировать свои знания перед более сложными темами.

Темы недели

  • Знакомство с курсом
  • Первые шаги
  • Базовые типы и конструкции
  • Организация кода и окружение

Задания по программированию

  • Сумма цифр в строке
  • Рисуем лестницу
  • Корни квадратного уравнения

2. Структуры данных и функции

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

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

Темы недели

  • Коллекции (списки, кортежи, словари, множества)
  • Функции (декораторы, генераторы)

Задания по программированию

  • Key-value хранилище
  • Декоратор to_json

3. Объектно ориентированное программирование

ООП — главный подход к построению сложных проектов на языке, который просто необходимо знать. Раздел состоит из трех уроков, два из них посвящены теории.

В теоретической части студенты узнают, что такое классы, экземпляры и методы, научатся простому и множественному наследованию, name mangling.

Темы недели

  • Классы и объекты
  • Наследование

Задания по программированию

  • Реализация простого класса для чтения из файла
  • Классы и наследование

4. Углубленный Python

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

Отдельное внимание уделяется работе с документацией по этим разделам

Темы недели

  • Особые методы классов
  • Механизм работы классов
  • Отладка и тестирование

Задания по программированию

  • Файл с магическими методами
  • Дескриптор с комиссией

5. Многопоточное и асинхронное программирование

Знания этой недели помогут в ответе на вопрос, как написать сетевую программу на Python. Без сетевого взаимодействия не обходится практически ни одна реальная задача в жизни.

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

Темы недели

  • Процессы и потоки
  • Работа с сетью, сокеты
  • Асинхронное программирование

Задания по программированию

6. Итоговый проект

На этой неделе вы сможете воспользоваться всеми накопленными знаниями для решения практической задачи.

Задания по программированию

Постановка задачи

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

Сервер должен соответствовать протоколу, который был описан в задании к предыдущей неделе. Он должен уметь принимать от клиентов команды put и get, разбирать их и формировать ответ согласно протоколу.

Подробнее о новом запуске

Курс стартует 5 февраля 2018 года. В течение курса будут:

  • живые лекции в московском офисе Mail.Ru Group, по понедельникам с 5 февраля, 19.00-22.00. Видео-записи лекций прежние (youtube), но к ним будут комментарии, дополнения и улучшения;
  • статьи на Хабре прежние, вот первая. В статьях будут объявляться актуальные домашние задания и дедлайны по ним, информация будет дублироваться в группе ВКонтакте и в канале #mlcourse_ai в Slack OpenDataScience;
  • соревнования, проекты, тьюториалы и прочие активности, описаны они в этой статье и в репозитории курса;
  • также раз в неделю будем публиковать статьи на английском на Medium. Будет похоже на этот Kaggle Kernel про Vowpal Wabbit, только на Medium;
  • с 23 апреля по 15 июля планируется совместное прохождение стэнфордского курса cs231n по нейронным сетям (подробности — в pinned items в канале #class_cs231n слэка ODS). Это будет уже второй запуск, сейчас как раз проходим, курс великолепен, домашние задания сложные, интересные и очень полезные.

Как подключиться к курсу?

Площадки для обсуждения

  • канал #mlcourse_ai в Slack OpenDataScience. Основное общение здесь, можно задать любой вопрос. Главный козырь — авторы статей и домашних заданий тоже в этом канале, готовы отвечать, помогать. Но и флуда немало, так что смотрите pinned items перед тем как задать вопрос;
  • группа ВКонтакте. Стена будет удобным местом для официальных объявлений.

Удачи! Напоследок хочу сказать, что все получится, главное — не бросайте! Вот это «не бросайте» вы сейчас пробежали взглядом и скорее всего даже не заметили. Но задумайтесь: именно это главное.

Собеседование

Сначала с вами проводит беседу HR-специалист. Как это заведено в современных крупных компаниях, в этой части будут вопросы о прошлой работе, об умениях и стремлениях, некоторые уточнения личного характера. Венцом скорее всего станет пара логических задач, хотя это совсем не обязательно, многое зависит от выбранной вами должности и HR-менеджера (часто хватает и вашей качественно количественной оценки своего вклада в прошлые проекты).

После чего с вами проводит беседу непосредственно team-leader, просит прокомментировать тестовое задание, даёт пару 5-минутных задач на подтверждение знаний

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

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

Чем курс отличается от других

1. Не для новичков

Часто вам будут говорить, что от вас ничего не требуется, через пару месяцев вы станете экспертом анализа данных. Я все еще помню фразу Andrew Ng из его базового курса «Machine Learning»: «вы не обязаны знать, что такое производная, и сейчас вы разберетесь, как работают алгоритмы оптимизации в машинном обучении». Или «вы уже почти что эксперт анализа данных» и т.д. При всем безмерном уважении к профессору — это жесткий маркетинг и желтуха. Вы не разберетесь в оптимизации без знания производных, основ матана и линейной алгебры! Скорее всего вы не станете даже Middle Data Scientist, пройдя пару курсов (включая наш). Легко не будет, и больше половины из вас отвалится примерно на 3-4 неделе. Если вы wannabe, но не готовы с головой погрузиться в математику и программирование, видеть красоту машинного обучения в формулах и добиваться результатов, печатая десятки и сотни строк кода — вам не сюда. Но надеемся, вам все же сюда.

В связи с вышесказанным мы указываем порог вхождения — знание высшей математики на базовом (но не плохом) уровне и владение основами Python. Как подготовиться, если этого у вас пока нет, подробно описано в группе ВКонтакте и тут под спойлером, чуть ниже. В принципе можно пройти курс и без математики, но тогда см. следующую картинку. Конечно, насколько дата саентисту нужно знать математику — это холивар, но мы тут на стороне Андрея Карпатого, Yes you should understand backprop. Ну и вообще без математики в Data Science — это почти как сортировать пузырьком: задачу, может, и решишь, но можно лучше, быстрее и умнее. Ну и без математики, конечно, не добраться до state-of-the-art, а за ним следить очень увлекательно.

2. Теория vs. Практика Теория и Практика

Курсов по машинному обучению полно, есть действительно классные (как специализация «Машинное обучение и анализ данных»), но многие сваливаются в одну из крайностей: либо слишком много теории (PhD guy), либо, наоборот, практика без понимания основ (data monkey).

Мы ищем оптимальное соотношение: у нас много теории в статьях на Хабре (показательна 4-я статья про линейные модели), мы пытаемся ее преподнести максимально понятно, на лекциях излагаем еще более популярно. Но и практики море — домашние задания, 4 соревнования Kaggle, проекты… и это еще не все.

3. Живое общение

Чего не хватает в большинстве курсов — так это живого общения. Новичкам порой нужен всего один короткий совет, чтобы сдвинуться с места и сэкономить часы, а то и десятки часов. Форумы Coursera обычно к какому-то моменту вымирают. Уникальность нашего курса — активное общение и атмосфера взаимоподдержки. В Slack OpenDataScience при прохождении курса помогут с любым вопросом, чат живет и процветает, возникает свой юмор, кто-то кого-то троллит… Ну а главное, что авторы домашних заданий и статей — там же в чате — всегда готовы помочь.

4. Kaggle в действии

Из паблика ВКонтакте «Мемы про машинное обучение для взрослых мужиков».

Соревнования Kaggle — отличный способ быстро прокачаться в практике анализ данных. Обычно в них начинают участвовать после прохождения базового курса машинного обучения (как правило, курса Andrew Ng, автор, безусловно, харизматичен и прекрасно рассказывает, но курс уже сильно устарел). У нас в течение курса будет предложено поучаствовать аж в 4 соревнованиях, 2 из них — часть домашнего задания, надо просто добиться определенного результата от модели, а 2 других — уже полноценные соревнования, где надо покреативить (придумать признаки, выбрать модели) и обогнать своих товарищей.

5. Бесплатно

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

Преподаватели

Они не только просто классные, но и крутые спецы в своем деле. Спасибо им огромное за терпение и желание научить. К тому же, в том, чтобы проверить 80-100 довольно больших работ на каждое ДЗ и персонально дать комментарии каждому студенту, есть некоторая доля героизма. 

Очень здорово, что большинство преподавателей умеют доносить сложные вещи просто и понятно. Лично мне больше всего запомнились Радослав Нейчев (вот и вот пару его курсов по ML в МФТИ), Сергей Николенко (его канал с лекциями и книга «Глубокое обучение» про нейросети), Даниил Лысухин и Михаил Хальман. Но это — скорее личные предпочтения. Все преподаватели по своему крутые

Онлайн-курсы с ДЗ

Для тех, кто не может обучатся в наших пяти основных проектах очного обучения, мы ведём онлайн-курсы на платформе Stepik.org. Они проходят в формате видеолекций и практических заданий. Состав и количество курсов время от времени меняется, но на данный момент список такой:

  • Углубленное программирование на C/C++;
  • Web-технологии;
  • Постановка задачи на разработку ПО;
  • Разработка веб сервиса на Java (часть 1);
  • Разработка веб сервиса на Java (часть 2);
  • Многопоточное программирование на С/С++;
  • Hadoop. Система для обработки больших объемов данных;
  • Анализ безопасности веб-проектов;
  • Подготовительная программа по программированию на С/C++;
  • Алгоритмы и структуры данных.

В 2016 году на курсы записалось более 50 000 человек. Кроме курсов для разработчиков, вышел курс по UX на платформе Coursera.

Лекции и мастер-классы онлайн — канал Технострим

Технострим — наш учебно-образовательный YouTube-канал. Здесь мы выкладываем видеозаписи выступлений и лекций многих учебных курсов, преподаваемых в образовательных проектах. Сегодня на канале доступно уже больше 500 видео с занятий. Уже 57 000 пользователей. Среди них есть и различные мастер-классы, проведенные нашими сотрудниками, например:

  • Поиск и проверка новых идей бизнеса
  • Программирование в управлении
  • Фриланс в тестировании
  • Геймдизайн: от идеи до релиза
  • Карьерное планирование
  • Электронное образование: инструкция по применению
  • Презентация бизнес-идеи
  • Почему Стив Джобс любил шрифты
  • Персональный тайм-менеджмент
  • Nginx: продукт и компания
  • Первые шаги в карьере разработчика
  • 20 ошибок при создании IT-компании
  • Основы Agile
  • Смыслопоиск. Карьера айтишника
  • С++ за одну пару
  • Проверка идеи на миллиард

Большую образовательную подборку материалов также смотрите в нашем посте Время учиться: дайджест бесплатных образовательных материалов.

О поступлении

Я начал интересоваться анализом данных в марте 2019 года. Кратко про мой уровень тогда:

  • закончил факультет телекоммуникаций университета информатики и электроники 9 лет назад; сразу после этого писал на Java 2 года, работая по распределению
  • целых 6 лет в маркетинге, веб-аналитике, лидогенерации, обучении Google Ads, небольшая «выросшая корона крутого специалиста»
  • из математики с трудом помнил, что такое логарифм и производная, без гугла не мог перемножить матрицы и где-то слышал про то, что существует статистическая значимость
  • писал сайты на node.js и php

Конечно же, с такими вводными я сразу захотел поступить в ШАД Для этого свернул все проекты и засел на фулл-тайм учиться в библиотеку по 8-10 часов. У меня было чуть меньше 1.5 месяца до экзаменов, и я по будням и выходным смотрел лекции по матанализу, линейной алгебре, проходил курсы по машинному обучению на coursera, учился писать на Python. 

Естественно, 40 дней подготовки для моего уровня было просто смешно и я не поступил. Провалил вступительный тест и не дошел до экзамена. Справедливости ради скажу, что до допуска к экзамену в тесте не хватило 1 балла. Но это уже не имело значения.


Так я не попал в ШАД

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


Так прошло вся моя весна и лето 2019

Что я сделал:

  • Просмотрел десятки часов лекций по высшей математике. Сидел с учебниками и прорешал десятки задач.
  • Закончил специализацию по машинному обучению на Coursera.
  • Прошел курс по алгоритмам от университета Сан-Диего на Coursera.
  • Прошел курс по статистике на Stepik-е.
  • И еще много всего по мелочи…

Получилось такое «второе высшее на минималках». Подробные обзоры на курсы, которые проходил, здесь.

И тут, 3 сентября, я вижу объявление о том, что Mail.ru будет бесплатно обучать специалистов в области Data Science и машинного обучения. И набор открыт уже сейчас. Естественно, я даже не думал ждать еще год до ШАД. Притом, программы обучения были очень похожи. Появилась возможность — сразу отправил заявку.


Через день после дня X

Великолепная пятёрка — очное обучение в вузах

Начнём мы с наших «локомотивов» — пяти образовательных проектов, запущенных на базе ведущих технических вузов России. Студенты могут выбрать свою специализацию в IT: полугодовую или двухгодичную программу.

Как это работает

Обучатся на проектах могут студенты вуза: сейчас в 5-ти вузах действует 67 дисциплин. Набор происходит два раза в год: в сентябре и в феврале. Сейчас на потоке учатся 1400 студентов. Преподаватели: сотрудники Mail.Ru Group — практикующие профессионалы, которые учат решать реальные задачи — 200 человек. В финале: сертификат Mail.Ru Group и стажировка с возможностью трудоустройства

Следующее зачисление: сентябрь 2017. Выбирайте свой вуз и подавайте заявку на сайтах проектов.

Технопарк

Совместный проект с МГТУ им. Баумана. Это наш первый, «пионерский» проект, он работает с 2011 года. Конкурс — 9 человек на место.

Программа обучения:

  • Двухгодичная, по направлению «Системный архитектор».
  • Семестровые курсы:
    • Базовое администрирование Linux;
    • Подготовительная программа по программированию на С/C++;
    • Программирование Cuda C/C++, анализ изображений и Deep Learning;
    • Разработка приложений на iOS;
    • Программирование на Perl;
    • Программирование на Python.

Техносфера

Совместный проект с МГУ им. Ломоносова. Работает с 2014 года. Конкурс — 9 человек на место.

Программа обучения:

  • Двухгодичная, по направлению «Анализ больших данных».
  • Семестровые курсы:
    • Программирование на Perl;
    • Подготовительный курс «Алгоритмы и структуры данных»;
    • Разработка интернет-приложений;
    • Разработка на C/С++;
    • Разработка на Go.

Технотрек

Совместный проект с МФТИ. Работает с 2015 года. Конкурс — 6 человек на место.

Программа обучения:

  • Двухгодичная, по направлениям «Веб-разработка высоконагруженных проектов», «Мобильная разработка».
  • Семестровые курсы:
    • Программирование на Perl;
    • Системное администрирование Linux;
    • СУБД в высоконагруженных проектах;
    • Введение в промышленное программирование и структуры данных.

Технополис

Совместный проект с СПбПУ. Работает с 2016 года. Конкурс — 5 человек на место.

Программа обучения:

  • Двухгодичная, по направлению «Java-разработка высоконагруженных приложений».
  • Семестровые курсы:

Техноатом

Совместный проект с МИФИ. Работает с 2016 года. Конкурс — 5 человек на место.

Программа обучения (семестровые курсы):

  • Программирование на C++;
  • Разработка на Java;
  • Программирование на Python;
  • Программирование на Perl.

С чего начать

Есть два варианта старта вашей карьеры в Mail.Ru: стажировка и полноценная работа. Допустим, вы работаете в университете или ваш рабочий график позволяет совмещать должности. В этом случае, хватайтесь за первый вариант. Это позволит лучше познакомиться с условиями труда и требованиями, выбрать подразделение, а также показать будущему работодателю товар лицом. Для записи на стажировку, следует заполнить анкету и загрузить резюме. Если вы не совсем далеки от профессии и имеете хоть какое-то подтверждение знаний, то вам обязательно пришлют письмо с приглашением на онлайн-тестирование.

Если у вас нет возможности проходить стажировку, тогда посетите раздел «Вакансии». Внимательно ознакомьтесь со всеми предложениями, там достаточно прозрачно написаны требования и пожелания, подберите то, что подходит именно вам. Далее отправляйтесь в раздел тестирования

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

Об учебной нагрузке

На сайте MADE пишут про нагрузку в 15-20 часов в неделю. Как шутили коллеги в чатике «15-20 часов в неделю — это если вы уже всё знаете». У меня в 1-м семестре уходило в районе 25-30 часов. Сейчас — в районе 20-25 часов в неделю. 

Допустим, мы сдаем минимум, 3 предмета. Можно посчитать:

  • 3 лекции и 3 практических занятия по 3-м предметам — это уже минимум 9 часов в неделю
  • Домашка по каждому занимает совсем не 2 часа. По алгоритмам было такое, что я сидел по 15-20 часов только над одной задачей. Но даже если вы — молодец и будете тратить на ДЗ по каждому предмету всего 5 часов в неделю (что маловероятно), выйдет 15 часов. 
  • Сопутствующее обучение. К примеру, мне пришлось быстро выучить основы C++, чтобы сдавать алгоритмы.

9 + 3 • 5 = 24 часа. В неделю. Это уже ближе к реальности. 

Из плюсов большого объема учебы кроме знаний и навыков:

  • Никаких экзистенциальных кризисов. Точно понятно, куда будет уходить ВСЁ свободное время в ближайшие 1.5 года.
  • Сильно упало экранное время в телефоне
  • Перестал смотреть сериалы.
  • Начал медитировать. Надо же как-то компенсировать хронические недосыпы.

Учиться сложно. ДЗ много, предметов — 3+. Кто-то выбирает «путь самурая» и берет 4. Я сдал в 1-м семестре 4 предмета и больше такой подвиг морально не готов повторять. 

Несмотря на то, что после вступительных с хорошим конкурсом кто попало поступить не мог, первый семестр «пережили» не все. Алгоритмы и структуры данных (обязательный в 1 семестре предмет) сдала примерно половина. Остальные, вроде как, дальше не пошли.


Было непросто, но с 1-м семестром справился. Притом, хорошо.

Если резюмировать по нагрузке — это отличный вызов, который я искал.

Онлайн чемпионаты для профессионалов

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

Ежегодно мы проводим четыре чемпионата: , , и . С 2011 года было проведено 20 чемпионатов, в которых приняли участие более 150 000 человек из 17 стран. Также на базе Техностарта мы проводим отдельный чемпионат студенческих IT-проектов. Смотрите разборы задач и готовьтесь к следующему этапу.

Почему не платные курсы?

Потому что задача MADE — подготовить востребованных на рынке специалистов, в том числе для Mail.ru. Потому что обучение будет сложное: не все потянут и их не будут подтягивать. Потому что будут учить не тому, что большинство сможет освоить, а тому, что сейчас нужно рынку. Потому что это просто эффективно. Но я понимал, что за эту эффективность придется платить всем свободным временем, нервами и сном. И был к этому готов.

Платные курсы — намного более мягкий вариант. Берут туда почти всех. Проведут за ручку, все объяснят, отстающим помогут. Будет проще. Требования ниже. Сходимость к концу курса большая: подозреваю, в районе 70-80% учеников «доживает» или даже больше. Не это не «путь самурая», как потом сказал мой коллега по MADE, Михаил

Хотя если бы у меня было свободных 10-15 часов в неделю, и я не мог бы себе позволить учиться фулл-тайм полгода в библиотеке, то платные курсы были бы хорошим выходом. 

Про предметы, которые изучаем


Самая первая лекция по машинному обучению. Ведет Виктор Кантор.

За 1-й семестр мы в основном проходили базу: алгоритмы, статистика, машинное обучение, продвинутый Python/С++. Получился своеобразный уравнивающий блок, после которого можно уже двигаться дальше к прикладным задачам.

За 2-й семестр мы изучали (и пока ещё изучаем) больше прикладных вещей: natural language processing, компьютерное зрение, big data, дизайн и планирование экспериментов. Довольно много работы с нейросетями: учились генерировать текст, переводить с одного языка на другой, находить точки на лице, распознавать автомобильные номера. Есть соревнования, когда нужно сделать алгоритм лучше, чем у других. Есть обычные ДЗ, где задача — к примеру, написать систему машинного перевода лучше, чем заданная планка качества. Или с подачи Сергея Николенко мы моделировали распространение коронавируса. 

И появились еще более теоретические предметы вроде методов оптимизации и продвинутого машинного обучения. 

Я взял NLP, Computer Vision, дизайн экспериментов (мини-курс), продвинутый ML и методы оптимизации. Но от последнего курса пришлось отказаться в середине семестра, ибо банально не успевал. 

На 2-м семестре так же начинается разделение по специализациям: Data Scientist, Machine Learning Engineer и Data Engineer. Но на нашем потоке это разделение скорее в виде рекомендаций, чем жестких ограничений. Если хотите пройти какой-то курс другой специализации, никто запрещать не будет.

За 3-й семестр, как я понял, будут углубленные предметы вроде нейробайесовских методов, распределенных систем и ML на графах. Но это уже посмотрим.

Авторы курса

Александр Емелин

Разработчик Python, Go. Сторонник open-source. Автор достаточно крупного open-source проекта https://github.com/centrifugal/centrifugo.

Мне давно нравилась идея дистанционного способа обучения. Спасибо Mail.Ru Group за возможность поучаствовать в создании подобного проекта.

Александр Жебрак

Программист, преподает курс по Python в Технопарке МГТУ и Mail.Ru Group. Занимается машинным обучением, 4,5 года работал в Mail.Ru в отделе внутренней разработки, руководил разработкой интранета. Сейчас занимается проектами в области анализа биомедицинских данных в InsilicoMedicine.

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

Дмитрий Швеенков

Окончил Пензенский государственный университет. Работает в Mail.Ru Group, руководит командой разработки. В последние несколько лет занимается разработкой высоконагруженных сервисов на Python.

Решил взяться за создание курса, чтобы попробовать новый для себя формат задач.

Вступительные экзамены

Все, чему я учился эти 6 месяцев в библиотеке, пригодилось. И алгоритмы, и машинное обучение, и конечно, математика. 

  1. Онлайн-тестирование по математике. Задачи от простых из матанализа, которые можно решить даже «на глаз», до сложных, где пришлось расписать, к примеру, неоднородный дифур 2-го порядка. Как-то решил все. До сих пор не уверен, что правильно.
  2. Тестирование по алгоритмам. Оно оказалось сильно проще, чем я ожидал. Первые 3 задачи можно было решить просто исходя из здравого смысла, а для 4-й уже понадобилось уметь обходить деревья. Конечно, потом (при учебе) такие странные решения, хоть они и давали правильный ответ, преподаватели просто не приняли бы. Но здесь была оценивающая система, и я умудрился сдать все 4 задачи. Сдавал на Python.
  3. Необязательный этап. Соревнование по анализу данных, чтобы набрать дополнительные баллы. Конечно, я участвовал в нем тоже. В отличие от тестов, здесь времени было не несколько часов, а 14 дней. В итоге, закончил его на 30 месте из 527 человек. 


Так я поучаствовал в своем первом соревновании по анализу данных и машинному обучению. И как не странно, не на Kaggle. Место 30 / 527

И 30 сентября мне пришло письмо. До последнего не верил, что пройду. Я был очень рад


Вот к этому письму я шел полгода

Как потом узнал, на очное был конкурс в районе 10 человек на место. А на дистанционное (куда поступал я), 32 человека на место. Иначе как упорство и удача я свой результат назвать не могу.

В этом году, судя по инфе на сайте, поступление будет похожим. За исключением двух моментов:

  • Конкурс будет один и тот же для очников и дистанционников. Это очень хорошо для тех, кто планирует учиться удаленно. 
  • Для части людей будет дополнительное онлайн-собеседование.

Итог

Mail.Ru – современная компания, в которой в первую очередь ценится заинтересованность самого сотрудника, его искренность и желание развиваться. Количество проектов позволяет соискателю найти работу себе по душе, уверенно продвигаться как в одном направлении, так и менять вектор уже оказавшись внутри коллектива.

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

Образование вперед: профессия «Веб-разработчик».