Содержание
- Содержание курса
- Подробнее о новом запуске
- Новый акционер и подведение результатов
- Новые разработки и достижения Mail.ru
- Об учебной нагрузке
- Стремительный рост Mail.ru
- Онлайн чемпионаты для профессионалов
- Авторы курса
- Преподаватели
- Вступительные экзамены
- Объединение Port.ru и netBridge: рождение Mail.ru
- Почему не платные курсы?
- Адаптация
- ООП и паттерны проектирования в Python
- Как американская идея перекочевала в Россию?
- Создание Web-сервисов на Python
- Про предметы, которые изучаем
- О поступлении
- Чем курс отличается от других
- Обучение
- Как выглядит офис
- Собеседование
- Итоги прошлого запуска
- Итог
- Подведём итоги
Содержание курса
Курс состоит из шести модулей — «недель», в ходе которых слушатели изучают конкретную тему или выполняют проект. Вначале даются ключевые знания о структуре и синтаксисе языка, и чем дальше, тем больше вы будете осваивать тонкости 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 перед тем как задать вопрос;
- группа ВКонтакте. Стена будет удобным местом для официальных объявлений.
Удачи! Напоследок хочу сказать, что все получится, главное — не бросайте! Вот это «не бросайте» вы сейчас пробежали взглядом и скорее всего даже не заметили. Но задумайтесь: именно это главное.
Новый акционер и подведение результатов
В начале 2007 г. холдингом Naspers куплено 30,7 % акций Mail.ru, а сумма сделки была действительно внушительной 165 млн. $. В конце этого же года Naspers увеличивает свою долю ещё на 2,6 % за 26 млн. $, а сама компания Mail.ru оценивается в 1 млрд. $.
По результатам 2007 г. чистая выручка Mail.ru составила 55,8 млн. $, из них 68 % пришло от медийной рекламы, 14 % – от контекстной рекламы.
Согласно статистике (TNS, ноябрь 2008 г.), ежедневная численность пользователей порталом Mail.ru взлетела до отметки 6,1 млн. человек. Июнь 2009 г. – 18,6 млн. человек, а это второе место после IT-гиганта Яндекса.
Новые разработки и достижения Mail.ru
В 2013 г. запускается Облако Mail.ru. Тогда же игра Warface устанавливает рекорд Гинесса по численности одновременно играющих пользователей.
2015 г. – приложение Maps.Me (бесплатные онлайн-карты с навигацией) и ОК.Ru становятся одними из лучших приложений в Google Play.
В 2018 г. Mail.Ru Group представила пользователям обновлённый дизайн Почты и самого портала Mail.ru.
В июне 2019 г. на сайте Mail.Ru Group появилась статья «Почта Mail.ru откажется от паролей». Сообщается, что теперь войти в электронную почту можно при помощи кода из SMS либо push-уведомления. По словам представителей компании, в будущем планируется создавать электронные ящики без паролей. Посмотрим, что у них выйдет.
2019 г. – Search.Mail.ru занимается третье место среди наиболее популярных поисковых систем в России, значительно уступая бесспорным лидерам Google и Яндекс, но опережая при этом Rambler.
Об учебной нагрузке
На сайте 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-м семестром справился. Притом, хорошо.
Если резюмировать по нагрузке — это отличный вызов, который я искал.
Стремительный рост Mail.ru
В 2002 г. пополнилось количество доменов почтовой службы – кроме mail.ru появились bk.ru, list.ru, inbox.ru.
В 2003 г. на портале появляется поиск, использующий технологию Google WebSearch. Дальше открывается Софт@mail.ru – каталог софта с рейтингами и обсуждениями ПО. Тогда же в открытый доступ выложена 1-ая версия мессенджера – Mail.ru Агент.
Начало 2004 г. запуск мобильных сервисов – Mobile@Mail.ru, а также проекта по недвижимости Realty@Mail.Ru (позже переименован в Недвижимость@Mail.Ru).
Октябрь 2004 г. – количество зарегистрированных почтовых ящиков достигло 20 миллионов. Почтовый сервис Mail.ru получает звание лучшей почты Рунета.
Много новых проектов запущено в 2005 г., а именно: Фото@mail.ru – для создания своих архивов фотографий, Блоги@Mail.Ru, WIW@mail.ru и Жуки (многопользовательские онлайн-игры). Дальше открываются сервисы «Хостинг» и «Энциклопедия», платёжная система Деньги@Mail.Ru. В завершении 2005 г. портал пополняет обновлённый проект Афиша@mail.ru
В 2006 г. появляются новые удачные проекты: Игры@mail.ru, Обучение@Mail.Ru и Ответы@mail.ru, Карты@Mail.Ru и Видео@Mail.Ru. В этом же году создаётся социальная сеть Одноклассники.
Онлайн чемпионаты для профессионалов
Кто-то ошибочно считает, что чемпионаты — всего лишь состязания. Но в то же время это эффективный мотиватор для самообразования. Чтобы принять участие в чемпионате нужно не просто уметь программировать, нужно делать это лучше других. Нужно знать и уметь применять наиболее выгодные в текущей ситуации подходы, быть изобретательным. А без обучения и практики этого в себе не развить.
Ежегодно мы проводим четыре чемпионата: , , и . С 2011 года было проведено 20 чемпионатов, в которых приняли участие более 150 000 человек из 17 стран. Также на базе Техностарта мы проводим отдельный чемпионат студенческих IT-проектов. Смотрите разборы задач и готовьтесь к следующему этапу.
Авторы курса
Александр Емелин
Разработчик 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.
Решил взяться за создание курса, чтобы попробовать новый для себя формат задач.
Преподаватели
Они не только просто классные, но и крутые спецы в своем деле. Спасибо им огромное за терпение и желание научить. К тому же, в том, чтобы проверить 80-100 довольно больших работ на каждое ДЗ и персонально дать комментарии каждому студенту, есть некоторая доля героизма.
Очень здорово, что большинство преподавателей умеют доносить сложные вещи просто и понятно. Лично мне больше всего запомнились Радослав Нейчев (вот и вот пару его курсов по ML в МФТИ), Сергей Николенко (его канал с лекциями и книга «Глубокое обучение» про нейросети), Даниил Лысухин и Михаил Хальман. Но это — скорее личные предпочтения. Все преподаватели по своему крутые
Вступительные экзамены
Все, чему я учился эти 6 месяцев в библиотеке, пригодилось. И алгоритмы, и машинное обучение, и конечно, математика.
- Онлайн-тестирование по математике. Задачи от простых из матанализа, которые можно решить даже «на глаз», до сложных, где пришлось расписать, к примеру, неоднородный дифур 2-го порядка. Как-то решил все. До сих пор не уверен, что правильно.
- Тестирование по алгоритмам. Оно оказалось сильно проще, чем я ожидал. Первые 3 задачи можно было решить просто исходя из здравого смысла, а для 4-й уже понадобилось уметь обходить деревья. Конечно, потом (при учебе) такие странные решения, хоть они и давали правильный ответ, преподаватели просто не приняли бы. Но здесь была оценивающая система, и я умудрился сдать все 4 задачи. Сдавал на Python.
- Необязательный этап. Соревнование по анализу данных, чтобы набрать дополнительные баллы. Конечно, я участвовал в нем тоже. В отличие от тестов, здесь времени было не несколько часов, а 14 дней. В итоге, закончил его на 30 месте из 527 человек.
Так я поучаствовал в своем первом соревновании по анализу данных и машинному обучению. И как не странно, не на Kaggle. Место 30 / 527
И 30 сентября мне пришло письмо. До последнего не верил, что пройду. Я был очень рад
Вот к этому письму я шел полгода
Как потом узнал, на очное был конкурс в районе 10 человек на место. А на дистанционное (куда поступал я), 32 человека на место. Иначе как упорство и удача я свой результат назвать не могу.
В этом году, судя по инфе на сайте, поступление будет похожим. За исключением двух моментов:
- Конкурс будет один и тот же для очников и дистанционников. Это очень хорошо для тех, кто планирует учиться удаленно.
- Для части людей будет дополнительное онлайн-собеседование.
Объединение Port.ru и netBridge: рождение Mail.ru
Но в это время происходили и положительные изменения: летом 2000 г. был открыт сервис News.port.ru, осенью у IBM закуплено мощное серверное оснащение. Численность зарегистрированных пользователей Mail.ru достигла отметки в 1 миллион, а результат был занесён в Книгу рекордов России.
В начале 2001 г. Port.ru и netBridge (глава Мильнер) объединяются в равнозначных долях. Но со временем акционеры Port.ru отходят от бизнеса, который переходит в руки New Century Holdings, Юрия Мильнера и Фингера.
В конце 2001 г. новые акционеры решают отказаться от многих брендов, отдав все силы в развитие наиболее популярного – Mail.ru, генеральным директором которого становится Дмитрий Гришин.
Почему не платные курсы?
Потому что задача MADE — подготовить востребованных на рынке специалистов, в том числе для Mail.ru. Потому что обучение будет сложное: не все потянут и их не будут подтягивать. Потому что будут учить не тому, что большинство сможет освоить, а тому, что сейчас нужно рынку. Потому что это просто эффективно. Но я понимал, что за эту эффективность придется платить всем свободным временем, нервами и сном. И был к этому готов.
Платные курсы — намного более мягкий вариант. Берут туда почти всех. Проведут за ручку, все объяснят, отстающим помогут. Будет проще. Требования ниже. Сходимость к концу курса большая: подозреваю, в районе 70-80% учеников «доживает» или даже больше. Не это не «путь самурая», как потом сказал мой коллега по MADE, Михаил
Хотя если бы у меня было свободных 10-15 часов в неделю, и я не мог бы себе позволить учиться фулл-тайм полгода в библиотеке, то платные курсы были бы хорошим выходом.
Адаптация
Команда, в которую приходит новичок, знакомится с ним первой, остальные коллеги узнают о появлении нового сотрудника из объявления на внутреннем корпоративном портале. В нём указана должность сотрудника, прикреплена его фотография и небольшой рассказ о нём. Через неделю после выхода новичок заполняет небольшую анкету и отвечает на несколько неформальных вопросов (например, про увлечения, цели). Затем ответы присылают команде, в которой он будет работать.
В первый рабочий день на рабочем столе сотрудника ждёт всё оборудование. Дополнительно ему выдают наушники, необходимые многим в оупенспейсе. Кроме того, каждому новичку дарят приветственный сувенир — коробку печенья, сделанного на заказ. Там же размещена карта заданий на испытательный срок и лего-человек. Эту мини-фигурку новичок «селит» на огромный логотип Mail.Ru Group на втором этаже. Размер букв рассчитан так, чтобы можно было следить за заполненностью офиса. Когда не останется свободных делений, это будет означать, что площадь офиса пора увеличить. Но пока эта схема немного сбоит: в компании нередко проходят праздники для детей, которые могут прихватить с собой лего-человечка.
Для всех начинающих сотрудников проходит однодневный ознакомительный тренинг. На нём рассказывают, что происходит внутри компании, какие направления развивает Mail.Ru Group и чем они отличаются.
ООП и паттерны проектирования в Python
Для когоДлительность Содержание курса
-
Тестирование и отладка программ
- парадигма структурного программирования и проектирования приложений «сверху-вниз»,
- библиотеки для тестирования программ на Python,
- парадигма разработки TDD,
- модульное тестирование,
- создание модульного теста функции factorize.
-
Объектно-ориентированное проектирование
- принципы и парадигмы ООП,
- построение схемы наследования,
- создание базовых классов,
- UML-нотация,
- создание иерархий классов.
-
Паттерны проектирования (часть 1)
- паттерны проектирования,
- создание декоратора класса,
- создание адаптера для класса,
- паттерн Наблюдатель.
-
Паттерны проектирования (часть 2)
- реализация Chain of Responsibility,
- реализация абстрактной фабрики,
- парсинг YAML-файла.
- Итоговый проект. В рамках итогового проекта «Рыцарь в подземелье» участникам нужно будет реализовать сложную систему классов с использованием изученных паттернов проектирования.
АвторыЕгор Максимов, преподаватель кафедры информатики МФТИТимофей Хирьянов, старший преподаватель кафедры информатики МФТИ и онлайн-школы ФоксфордМихаил Герцев, преподаватель кафедры информатики МФТИРегистрацияэтой ссылке
Как американская идея перекочевала в Россию?
История Mail.ru тесно связана с американской компанией DataArt (разработчик софта), созданной Евгением Голандом. Под его руководством работал Алексей Кривенков, написавший совместно с другими программистами движок для электронной почты, который изначально не планировалось продвигать в России. Но по стечению обстоятельств, Кривенкову пришлось вернуться в Санкт-Петербург, откуда он продолжил свою работу на DataArt.
Алексей Кривенков (Москва) 1999 год
В 1997 г. Алексей Кривенков и его небольшая команда принимают решение о создании почтового сервиса в России. Заручившись поддержкой Голанда, они выкупают домен mail.ru за 500 $, а в ноябре 1998 г. открывают почтовую службу Mail.ru, которая к их удивлению начинает набирать популярность среди пользователей.
Благодаря американским коллегам, им удаётся получить значительные инвестиции – около 1 млн.$. Проект продолжает развиваться – менее чем за год численность пользователей достигает отметки в несколько десятков тысяч.
А дальше – борьба с основным конкурентом Chat.ru, которая закончилась победой в пользу команды Кривенкова. Ставка была поставлена на развитие сервисов и технологическую составляющую, в то время как Chat.ru получил репутацию веб-сайта, который постоянно «падает».
Создание Web-сервисов на Python
Для когоДлительностьСодержание курса
-
Общее представление о WEB и сбор данных со сторонних сайтов
- основы сетевого взаимодействия,
- HTTP + DNS,
- практика по requests,
- регулярные выражения.
-
Beautiful Soup и работа с API
- библиотека Beautiful Soup,
- работа с API,
- сбор данных.
-
Хранение данных. SQL / NoSQL
- системы управления базами данных,
- хранение данных,
- MySQL,
- Redis.
-
Веб-интерфейсы с Django и Bootstrap
- сетевое взаимодействие и web-фреймворки,
- routing,
- шаблонизация,
- Django ORM,
- HTML, CSS,
- верстка сайта.
-
Работа с данными пользователя
- отправка, получение, валидация данных,
- обработка данных на сервере,
- аутентификация и авторизация.
-
Дополнительный инструментарий
- создание простого бота,
- Git,
- хостинг Heroku.
- Проект: умный дом. В качестве итогового проекта слушатели разработают приложение для управления «умным домом».
Авторы Тимур Абрамов, руководитель внутренней разработкой в МегаФон, бывший руководитель разработки в Mail.Ru GroupНикита Пестров, Data Science Lead в Habidatum — стартапе про большие данные и урбанистику; основатель CocoaHeads Moscow; сооснователь образовательного приложения easy tenАлександр Опрышко, разработчик Mail.Ru Group, сооснователь студии веб-разработки KTSАлексей Партилов, бэкэнд-разработчик в Mail.Ru GroupРегистрация
Про предметы, которые изучаем
Самая первая лекция по машинному обучению. Ведет Виктор Кантор.
За 1-й семестр мы в основном проходили базу: алгоритмы, статистика, машинное обучение, продвинутый Python/С++. Получился своеобразный уравнивающий блок, после которого можно уже двигаться дальше к прикладным задачам.
За 2-й семестр мы изучали (и пока ещё изучаем) больше прикладных вещей: natural language processing, компьютерное зрение, big data, дизайн и планирование экспериментов. Довольно много работы с нейросетями: учились генерировать текст, переводить с одного языка на другой, находить точки на лице, распознавать автомобильные номера. Есть соревнования, когда нужно сделать алгоритм лучше, чем у других. Есть обычные ДЗ, где задача — к примеру, написать систему машинного перевода лучше, чем заданная планка качества. Или с подачи Сергея Николенко мы моделировали распространение коронавируса.
И появились еще более теоретические предметы вроде методов оптимизации и продвинутого машинного обучения.
Я взял NLP, Computer Vision, дизайн экспериментов (мини-курс), продвинутый ML и методы оптимизации. Но от последнего курса пришлось отказаться в середине семестра, ибо банально не успевал.
На 2-м семестре так же начинается разделение по специализациям: Data Scientist, Machine Learning Engineer и Data Engineer. Но на нашем потоке это разделение скорее в виде рекомендаций, чем жестких ограничений. Если хотите пройти какой-то курс другой специализации, никто запрещать не будет.
За 3-й семестр, как я понял, будут углубленные предметы вроде нейробайесовских методов, распределенных систем и ML на графах. Но это уже посмотрим.
О поступлении
Я начал интересоваться анализом данных в марте 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
Чем курс отличается от других
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. Бесплатно
Ну тоже немаловажный фактор, чего уж там. Сейчас на волне распространения машинного обучения вы встретите немало курсов, предлагающих обучить вас за весьма кругленькую компенсацию. А тут все бесплатно и, без ложной скромности, на очень достойном уровне.
Обучение
В компании есть образовательный портал, куда менеджеры по кадрам вносят все тренинги (как онлайн, так и офлайн), семинары и курсы (их около 150). Каждый может выбрать понравившиеся и записаться на них. Часто опытом делятся и сами сотрудники. Например, после поездки на конференцию можно собрать коллег и рассказать им о ней. Попасть на международную конференцию несложно: достаточно написать заявку и приложить к ней свои кейсы. На многие мероприятия приглашают не только сотрудников компании, но и коллег с IT-рынка. Офис часто выступает площадкой для проведения многих отраслевых мероприятий (больших конференций), а также на его территории часто проходят митапы и встречи комьюнити.
В офисе есть корпоративная библиотека. Если нужной книги найти не удаётся, её можно заказать за счёт компании
Причём неважно, нужна эта литература для работы или для хобби
Как выглядит офис
Штаб-квартира Mail.Ru Group находится в Москве на Ленинградском проспекте. Офис Mail.Ru Group целиком занимает 27-этажную башню бизнес-центра SkyLight с подземной пятиэтажной парковкой.
Фото: пресс-служба Mail.Ru Group
Всего в компании работает около 3500 человек, 75% которых занимаются разработкой различных интернет-продуктов Mail.Ru Group — от социальных сетей Одноклассники, ВКонтакте и Мой Мир до почты, многочисленных медиапроектов и онлайн-игр.
Фото: пресс-служба Mail.Ru Group
Все сотрудники работают в просторном оупенспейсе: стеклянными стенами отделены лишь переговорки и кабинеты руководителей.
Фото: пресс-служба Mail.Ru Group
В рабочих зонах столы объединены в кластеры-ромашки. Столы стоят таким образом, чтобы, во-первых, сотрудникам было удобно обсуждать рабочие вопросы с коллегами, а во-вторых, чтобы у каждого был вид на Москву. На всех этажах есть мобильные кабинеты, где можно собраться командой — например, на планерку или брейншторм.
Над каждым кластером расположена отдельная система вентиляции. Кроме того, сотрудники могут настроить для себя оптимальный уровень освещенности, не мешая соседям.
Фото: пресс-служба Mail.Ru Group
В оформлении повсеместно используются стекло и белый цвет. Глянцевые стены в офисе, а также колонны и дверцы шкафов можно использовать в качестве доски для пометок маркером или магнитных креплений.
Собеседование
Сначала с вами проводит беседу HR-специалист. Как это заведено в современных крупных компаниях, в этой части будут вопросы о прошлой работе, об умениях и стремлениях, некоторые уточнения личного характера. Венцом скорее всего станет пара логических задач, хотя это совсем не обязательно, многое зависит от выбранной вами должности и HR-менеджера (часто хватает и вашей качественно количественной оценки своего вклада в прошлые проекты).
После чего с вами проводит беседу непосредственно team-leader, просит прокомментировать тестовое задание, даёт пару 5-минутных задач на подтверждение знаний
Здесь важно попытаться перебороть своё волнение, если вы что-то не знаете, не врать. Дело в том, что специалисты Mail.Ru готовы закрыть глаза на неполное соответствие ваших знаний и требований к должности, если вы хорошо себя проявите в том, что действительно знаете и дадите честное слово, что пробелы будут устранены в кратчайшие сроки
В крайнем случае, вам предложат другую должность, а позднее вы сможете перейти на желаемую вакансию.
Итоги прошлого запуска
На первый запуск курса записалось 3 тысячи человек. Однако дойти до конца смогли меньше 5 % поступивших. Обычно количество окончивших курс примерно в два раза больше. Мы проанализировали ситуацию и упростили сдачу заданий, чтобы увеличить возможность пройти курс. Изменения не коснулись его содержания.
Открываем модули
Курс разделён на четыре модуля по две недели каждый. Раньше вы получали доступ к новому модулю только если набрали достаточно баллов в предыдущем. Такой подход оказался тяжелым для студентов курса — только 20 % смогли пройти во второй модуль.
Сейчас новый модуль откроется вне зависимости от ваших успехов в предыдущем. Кроме того, вы теряете баллы за просроченные задания медленнее, чем раньше. Надеемся, что это поможет завершить курс в удобное вам время.
Итог
Mail.Ru – современная компания, в которой в первую очередь ценится заинтересованность самого сотрудника, его искренность и желание развиваться. Количество проектов позволяет соискателю найти работу себе по душе, уверенно продвигаться как в одном направлении, так и менять вектор уже оказавшись внутри коллектива.
Подход к подбору кандидатов можно назвать универсальным с поправкой на специфику. Единственное, что может помешать заинтересованному человеку попасть в Mail.Ru – это несоответствие желаемого уровня должности и предлагаемого, а также банальное нежелание проходить длительные разношерстные собеседования.
Образование вперед: профессия «Веб-разработчик».
Подведём итоги
Сегодня брендом Mail.ru владеет холдинг Mail.ru Group, основанный в 2005 г. Компания, начинающая с электронной почты, создала множество весьма успешных сервисов для общения и повседневной жизни пользователей. В результате проекты привлекают медийного рекламодателя, что и приносит основной доход.
В нужный момент руководители компании чётко определили направление бренда – они постоянно идут вслед за развитием интернета. Когда пользователям стала интересна коммуникация в сети, они предложили почту, дальше развлечения в виде компьютерных игр. Сейчас актуальны потребительские сервисы – e-commerce, соответственно, компания стремится удовлетворить потребности своей аудитории с помощью новых проектов.
В отличие от своего главного конкурента Яндекса, Mail.ru выбрал сервисно-медийную модель бизнеса, а не поисковую. В итоге, он успешно занимает лидирующие позиции в своей нише.
Поделиться