Таинственная Data Science

Мария Иванина занимается Data Science, одной из самых интересных областей работы с данными. Узнали, что это направление из себя представляет, чем отличается от «классического» программирования и как проекты с использованием Data Science помогают решить проблему голода в Африке.

Когда ты поняла, что хочешь связать свою жизнь с IT?

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

Начала присматриваться к другим профессиям, где нужны хорошие знания в моих любимых предметах. Так я открыла для себя программирование со всем его разнообразием: от веб-разработки до сложных алгоритмов и искусственного интеллекта (тогда я еще даже и не мечтала, что смогу работать с подобными задачами).

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

Несмотря на поверхностный уровень школьной информатики, меня очень вдохновляли первые программы, написанные на Pascal. Настолько вдохновляли, что я решила справиться и всему научиться! Так я поступила на факультет ФПМИ БГУ и уже на 2 курсе начала работать. Рада, что не побоялась сделать этот выбор, и теперь очень довольна своей работой и тем, как развивается моя карьера.

Data Science – не самое распространенное, но очень интересное направление. Расскажи пожалуйста, как ты пришла именно к нему?

Свой путь в IT я начинала как full-stack .NET-разработчик, что поначалу меня полностью устраивало. Было интересно добавлять новый функционал в приложения, искать причины багов (чувствовала себя как детектив, который раскручивает дело), обучать других (я менторила двух человек).

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

Во время обучения в магистратуре мне дали шанс провести один семестр по обмену в Штутгартском университете Германии по специальности «Техническая кибернетика». Эта специальность изучает методы оптимизации и, если сказать точнее, методы управления с предсказывающей моделью.

Подобные методы применяются в робототехнике, управлении процессами на заводах химической, нефтеперерабатывающей промышленности. После стажировки окончательно решила посвятить себя Data Science. Для меня это нечто большее, чем просто разработка программного обеспечения – скорее, область на стыке с исследовательской работой. Об этом я ни разу не пожалела – здесь задачи не превращаются в рутину.

В чем специфика этого направления в рамках работы с большими данными, IT в целом?

Главное отличие Data Science от разработки – это степень неопределенности в результатах работы. Например, задача написать веб-сайт – выполнима. Конечно, есть много нюансов: назначение сайта, технологии, фичи и т. д., но сделать это – вполне реально.

Для сравнения, в Data Science, пока мы до конца не изучим данные и не определим цели и задачи проекта, нельзя сказать наверняка, возможно ли решить задачу. Бывает, что заказчикам необходима заданная точность модели, а с теми данными и алгоритмами, которые существуют, невозможно добиться нужного качества.

Поэтому зачастую проект начинается с PoC (proof of concept) стадии, чтобы примерно обозначить проблему и пути ее решения. При этом есть много моментов, которые пересекаются с «классическим» IT – на этапах, когда нужно внедрять результаты моделей в продакшн путем создания веб-сервиса, например.

Как ты попала в команду EPAM?

Когда я решила углубиться в Data Science, присматривалась к нескольким компаниям и поняла, что для Data Scientist EPAM будет идеальным местом.

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

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

В чем заключается твоя работа?

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

Речь может идти о процессах «ручного труда», которые можно автоматизировать с помощью машинного обучения. Иногда клиенты приходят с задачей, которая уже поставлена в рамках Data Science, и тогда ее либо нужно решать с нуля, либо нужно улучшать существующее решение.

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

Что больше всего привлекает тебя в работе? Что ты находишь самым сложным?

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

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

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

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

Что вдохновляет тебя расти и профессионально развиваться?

Я очень люблю учиться и постигать что-то новое. В сфере Data Science, как и во всем IT, без постоянного обучения ты потеряешься как специалист. Меня радует и вдохновляет, что в EPAM вся корпоративная культура построена на обучении и саморазвитии.

Здорово, что принято делиться друг с другом информацией о курсах и тренингах, есть тематические рассылки, где ты всегда можешь себе что-то подобрать. У нас много возможностей прокачивать как технические навыки, так и софт скиллы. Такого набора собственных курсов и партнерских программ с Microsoft/AWS/O’Reilly я не видела ни в одной компании.

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

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

О любимых проектах

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

Первый проект, по заказу Корнеллского университета, связан с разработкой помощника для исследователей статей в сфере сельского хозяйства. Заказчики запустили программу Ceres2030, чтобы победить голод в африканских странах к 2030 году.

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

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

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

Второй проект – это open-source продукт EPAM – Report portal. Он помогает отслеживать прохождение автоматизированных тестов: собирать статистику о состоянии билдов, отслеживать ошибки в тестах и находить похожие, чтобы ускорить процесс фиксов багов или обнаруживать регрессии.

Я работаю над функционалом нахождения похожих логов и классификацией их на ошибки продукта, автоматизации или неправильной настройки окружения. Мы использовали алгоритмы машинного обучения и смогли улучшить метрики качества классификации до 30%.

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

Что нужно помнить тем, кто хочет в перспективе заниматься Data Science?

  • Data Science – это слияние нескольких областей: хорошие математические знания, навыки разработки программного обеспечения и экспертиза в бизнес-процессах или определенной доменной области. Поэтому имеет смысл развиваться в этих трех направлениях.
  • Хорошая математическая база: теория вероятности, статистика, знания математического анализа и дифференцирования, методы оптимизации и т.д. Многие студенты думают, что для разработки софта подобные знания ни к чему, но для Data Science нужно подружиться с этими дисциплинами. Они помогут понимать, как правильно решать задачу, почему в алгоритмах что-то не работает, проверять гипотезы и делать правильные выводы.
  • Уверенные знания основ Python – основного языка программирования Data Science.
  • Знания в паттернах программирования будут плюсом: как писать чистый и оптимизированный код, знания CI/CD.
  • Пригодится умение работать с одним из популярных облачным сервисов (Microsoft Azure, AWS, GCP). В EPAM много партнерских программ с облачными провайдерами, есть возможность пройти курсы и получить сертификат. В рамках одной из таких программ я получила сертификат от Microsoft Azure.
  • Понимание бизнес-процессов, которое помогает общаться с заказчиком на его языке. Чем лучше вы друг друга понимаете, тем быстрее получится разобраться в проблеме и целях, понять, как измерить успех для бизнеса, и донести идею своего решения. Такому, к сожалению, не учат там, где учат программистов и математиков. Одна из лучших книг для начинающих и даже продолжающих – «Data Science for Business», Tom Fawcett. Перечитывала несколько раз, снова и снова находя что-то новое. В книге разбирают примеры задач: как к ним подступиться, какие вопросы можно задать заказчику и какие могут быть идеи решения. Очевидно, что понимание процессов приходит с собственным опытом, но литература будет хорошей отправной точкой.
  • Английский язык. Скорее всего, ваш клиент будет англоговорящим, и хорошее владение языком необходимо по понятным причинам. В EPAM масса возможностей поддерживать языковые навыки: от курсов до мероприятий.
  • Навыки презентации. Нам часто нужно выступать с презентациями: показывать предполагаемые решения заказчику, убеждать, аргументировать и делиться с коллегами своими наработками на конференциях или митапах. Развитие soft-скиллов в целом очень поможет.

Для многих Data Science звучит немного таинственно. Есть мнение, что это очень сложно и доступно далеко не всем. На твой взгляд, так ли это? Что нужно, чтобы стать успешным специалистом в этой области?

В каждой профессии есть нечто таинственное и недоступное – те самые знания и экспертиза, которые и делают человека профессионалом в своем деле. Все приходит благодаря упорному труду и постоянному обучению – в Data Science те же правила.

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

Поэтому поделюсь общим советом – выбирайте ту область деятельности, к которой лежит душа (Data Science, Software Engineering или что-то другое), упорно работайте и учитесь – успех не заставит себя ждать!

Посмотрите еще

Комментировать