Глеб Синяков закончил МФТИ и пошел на работу аналитиком-разработчиком в «Тинькофф». Уже имея академическое образование, он продолжает учиться и берет курсы по математике и другим фундаментальным дисциплинам. Войти в профессию не сложно, уверен Глеб, но нужно интересоваться данными и быть усидчивым.
Кто такой Data Scientist?
В Data Science несколько разных профессий. Есть собственно Data Scientist: те, кто хорошо понимают математику, модели данных и руководят аналитикой. А есть ML-инженеры: их задача — писать код для моделей машинного обучения. ML-инженерами становятся бывшие программисты: им надоедает заниматься каким-нибудь Java и они идут в Data Science. Среди профессионалов есть и те, к кому ML приходит сам. Например, специалисты по биоинформатике начинают учить науку о данных, чтобы решать задачи в своем деле.
Мне повезло попасть на работу в Data Scienсe после специальных кафедр технического вуза. На самом деле наука о данных — еще слишком новая для российского высшего образования область. В профессию попадают люди с самым разным бэкграундом. Есть те, кто переучиваются после технических вузов или работы программистом в других областях.
Кто такой аналитик-разработчик?
Я работаю аналитиком-разработчиком, занимаюсь системой автоматического мониторинга данных компании «Тинькофф» с помощью машинного обучения. Банковские продукты компании генерируют много данных: они помогают отслеживать эффективность бизнес-процессов, например изменения доходности по вкладам или продаж страховок. Обычно за каждым из процессов следят аналитики. Моя задача — помочь им автоматизировать этот процесс, чтобы они могли получать своевременные оповещения, если в их данных что-то пошло не так. Так аналитики могут увидеть нестандартное поведение своих параметров и изменить свои процессы.
Моя специализация — временные ряды. По сути, это зависимости разных величин во времени. Эти данные можно анализировать с помощью математических моделей, чтобы спрогнозировать будущие значения. Например, так прогнозируют спрос на товары в супермаркетах. Если знать статистику продаж творога в прошлые годы, этой весной можно выложить на полки нужное покупателям количество пачек с высокой точностью. В «Тинькофф» по тому же принципу мы предсказываем продажи продуктов экосистемы.
Почему я пошел в Data Science
Я закончил МФТИ: сначала учился на факультете физической и квантовой электроники. После бакалавриата я попал в научную организацию, которая занимается фотоприемниками, приборами для регистрации оптических сигналов. Там я не видел больших перспектив, поэтому решил сменить направление. Это довольно стандартная история для Data Scientist из российских технических вузов, вроде МФТИ. В российской науке, к сожалению, нет больших перспектив, а работать простым кодером для многих скучно. Поэтому я пошел в Data Science: в этой области есть баланс интереса и перспектив.
В магистратуре я перешел на факультет инноваций и высоких технологий. На этом факультете «Тинькофф» открыл первый набор на кафедру финансовых технологий. После конкурса я попал туда на работу. Я выбирал между разными крупными IT-компаниями: в «Тинькофф» к тому моменту уже была полноценная работа с технологиями.
Какие ошибки делают новички
Когда я только пришел на работу, мне хотелось применять как можно больше новых технологий и подходов. На самом деле это не всегда полезно. Например, мне нужно было смоделировать поведение данных по одному из банковских продуктов. У разных методов прогнозирования разная точность: среди моделей нужно выбирать наиболее быструю и точную. По неопытности я потратил много времени, чтобы создать сложную модель, а в итоге получил то же качество, что и у тривиальных (самых простых).
Это достаточно стандартная ошибка новичков: многие сразу хотят сделать что-то сложное и интересное там, где это не нужно. Так я понял, что лучше вести разработку от простого к сложному. Не усложняйте свои задачи до тех пор, пока работают быстрые проверенные методы.
Мой рабочий день
Обычно я встаю где-то с 7 до 10 утра, делаю завтрак и кофе в любимой гейзерной кофеварке. Если встаю рано, то использую утро для задач с максимальной концентрацией: например, чтения статьи на Хабре или Archive. До 10:30 я разбираю рабочую и личную почту и обдумываю задачи на день.
В 10:30 у нас ежедневный созвон с командой — после него начинается работа. В зависимости от загрузки я работаю до 5-8 вечера. Например, сейчас я работаю над классификатором временных рядов — это поможет выявить сезонность в банковских данных.
Вечером я преподаю Python по Zoom, а если занятий нет, езжу на тренировки по сноуборду в комплекс Снеж.ком — он всего в пяти минутах от моего дома. Если хватает времени, то сам прохожу разные курсы или читаю что-нибудь актуальное по работе, чтобы не отставать от жизни. С самодисциплиной по вечерам не очень, поэтому, к сожалению, на учебу время есть редко. Перед сном обычно залипаю в интернете или доделываю какие-то задачи. В выходные четкого расписания нет. C утра катаюсь, а днем и вечером могу делать что угодно: работать, учиться, гулять или кодить что-нибудь для себя.
В нашей индустрии нужно постоянно учиться новому и освежать в голове старые знания
В нашей индустрии все постоянно занимаются самообразованием. Новые технологии и фреймворки (наборы инструментов для быстрой разработки) проще освоить самому на практике, а вот фундаментальные вещи со временем забываются. Например, недавно я взял курс по теории вероятностей, чтобы освежить знания из института.
К тому же после нескольких лет работы в Data Science нужно выбирать специализацию. На этом этапе ты уже понимаешь основные подходы к данным и углубляешься в какую-то область, например, обработку естественного языка (NLP) или компьютерное зрение.
Также я преподаю сам: уже 2,5 обучаю студентов Python, веду семинары по временным рядам для сотрудников «Сбербанка», помогал с кейсами для курса SkillFactory по Data Science. Мне нравится учить и понимать, как думают другие люди и какими вопросами задаются. К тому же многие приходят в IT после больших успехов в своих профессиональных областях. Мне очень интересно помочь им применить программирование для решения их задач.
Например, один ученик работает аналитиком в известном интернет-магазине. У них была проблема с работниками склада — они часто увольнялись после нескольких месяцев работы. На курсах мы взяли его данные и построили модель, которая предсказывает вероятность увольнения соискателя в течении полугода по его социально-демографическим характеристикам.
Как войти в профессию с нуля
В профессию можно попасть и с нулевыми знаниями. Для этого нужно обладать двумя вещами: по-настоящему интересоваться данными и иметь высокую самодисциплину. Если с этим все в порядке, нужно просто брать курсы и учиться. Для классического пути в Data Science нужно знать несколько вещей: Python, математику (линейная алгебра, теория вероятности и статистика, матанализ) и пройти курс по ML.
Что мне нравится в моей работе
Я работаю в «Тинькофф» уже три с половиной года. В нашей компании много задач для сайентистов и почти нет ограничений по развитию. Наука о данных — достаточно универсальная область. По сути тебе не важно какими данными ты занимаешься: о торговле продуктами или о поведении пользователей в интернете. Для всех задач есть одинаковая база: математика и программирование. Зная базовые вещи уже можно углубляться в конкретные области, например, компьютерное зрение или обработку естественного языка.
Большинство задач в индустрии довольно стандартные, они ориентированы прежде всего на бизнес-результат. Поэтому в какой-то момент каждому специалисту хочется начать делать что-то свое параллельно основной работе. Я, например, хотел бы привнести что-то новое в open-source (программы и технологии для разработчиков), но пока своих значимых кейсов нет.
Мне нравится создавать технологии, которые автоматизируют ручную работу. Например, известная в машинном обучении библиотека scikit-learn поделила профессию на «до» и «после»: у разработчиков появились инструменты для быстрой работы с алгоритмами ML.
Еще мне хотелось бы углубиться в другие области машинного обучения. Я занимаюсь временными рядами, обычно в этой специализации лучше работают классические модели. И хочу поглубже копнуть в Deep Learning — глубинное обучение, где нейросети способны решать очень сложные задачи. Именно в этой области сейчас происходят наиболее интересные в машинном обучении вещи.