[Учебный процесс в IT, Карьера в IT-индустрии, Интервью, Data Engineering] Как строилась Data-практика в EPAM

Автор Сообщение
news_bot ®

Стаж: 6 лет 9 месяцев
Сообщений: 27286

Создавать темы news_bot ® написал(а)
19-Фев-2021 14:32

Компания EPAM давно работает с данными, первые крупные заказчики с проектами по Big Data появились в далёком 2001 году. В то время известные аналитические компании Gartner и Forrester, а также крупные поставщики Oracle, Microsoft и IBM отмечали, что компании должны двигаться в сторону Big Data, поскольку эти технологии незаменимы во всех областях, связанных с обработкой больших объёмов данных. С того времени команда экспертов EPAM постепенно росла, работая над всё более сложными проектами и предлагая проверенные решения и качественные продукты для работы с большими данными. Сегодня только в российском EPAM более 500 человек работают в Data-практике. О том, как всё начиналось, какие проекты встречались, какие провалы случались, к чему должны готовиться Data-специалисты и о том, какие вообще бывают Data-специалисты, я поговорила с руководителем Data-практики EPAM в России — Ильей Герасимовым.  Карьера 
Расскажи, как ты пришёл в направление Data В EPAM я пришёл в 2006 году как junior-разработчик на .NET и MS SQL Server, до этого работал в продуктовой компании и занимал должность тимлида, разрабатывал ПО для автоматизации гостиниц и ресторанов. Но в EPAM я начал карьеру с нуля. К 2013 году я дорос до тимлида и искал новые возможности своего развития в EPAM, и именно в это время я встретился на SEC’e в Минске с руководителем центра компетенций Big Data, и мы договорились о том, что в России надо развивать это направление.   Тогда нас было два или три человека. Нам помогали коллеги из других стран, читали нам курсы, вовлекали нас в различные активности, связанные с этим направлением. Очень много приходилось учиться, а потом распространять полученные знания.  
Почему так долго работаешь в компании? Ещё до Data я подумывал пару раз уйти, но что-то не отпускало меня. Сейчас я могу сказать точно, что здесь меня держат люди, с которыми пройдено много всего. И здесь всегда появляется что-то новое — новые проекты, заказчики. Почему именно Data? Потому что весь мир — это Data, и мы в ней Data.  :)Что сейчас представляет собой Data-практика? Постепенно появлялись новые Data-компетенции: Data Science, Machine Learning, Business Intelligence, Enterprise Search, DevOps in Data, Data Quality, Business Data Analysis. Сегодня в нашей практике более 500 человек — это очень большое подразделение с глубокой экспертизой в разных областях.  Постепенно трансформировалось понимание подходов к реализации проектов в этой области. Если раньше мы отвечали на вопрос «Как» и концентрировались в основном на технологиях, то теперь фокусируемся на вопросе «Зачем» и методологии работы с данными.  Для любого крупного предприятия рано или поздно встает вопрос Data-менеджмента и Data governance, т.е. понимания какие данные у предприятия есть в активе, какие данные они могут получить, как объединить эти данные, источниками которых являются разные подразделения и внешние источники.  Понять кто несёт за эти данные ответственность, кто имеет к ним доступ, как быстро данные устаревают, насколько они достоверны и т.д. Более глубокое понимание качества данных — это способ лучше понять бизнес клиента.  Ценность сотрудника в практике определяется не только глубиной его знаний и навыков, но также широтой охвата компетенций, связанных с данными. Сотрудники могут приобретать различные компетенции, переходя между подразделениями практики — разработка программного обеспечения, моделирование данных, аналитика данных, Data Science и др.  ПроектыВспомни необычный или сложный проект, где пришлось буквально с нуля выстраивать все процессы, применять технологии и методы, которые раньше не использовали Когда в 2013-2014 году мы начинали, у нас было буквально два-три проекта, мы работали с иностранной нефтегазовой компанией, с российским банком, потом появился проект с расшифровкой генома, а затем и первый проект с Data Science. Самым сложным и масштабным на тот момент был проект с расшифровкой генома, к тому же это был абсолютно новый для меня язык программирования Scala и первое знакомство с облачными технологиями, серьёзное погружение в DevOps, погружение без скафандра, как говорится. Мы до ночи сидели, пытаясь собрать проект, мы построили много различных акселераторов, это было действительно интересно. А самый большой провал и как справились с этим? Первое время провалов было много. В основном они были связаны с нехваткой людей, потому что мы не могли найти готовых людей с улицы со знанием технологий. Мы набираем разработчиков со знанием Java, Python, DevOps-инжиниринг и потом доучиваем. Все специалисты проходят курсы «молодого бойца», чтобы освоить наши технологии и процессы, которые в своё время прошел и я. Внешние курсы не соответствовали нашим запросам, поэтому в 2012 году было принято решение создать свой собственный курс — ёмкий, а главное имеющий практическое применение. Писали его сами, своими руками, основываясь на собственном опыте, ошибках. Понятно, что курс требует адаптации и должен меняться в соответствии с технологических ландшафтом и приобретенным опытом. Для поддержания курса в актуальном состоянии требуется много ресурсов, и нам приходится идти на это, чтобы оставаться на передовой, потому что без этого никак, внешние курсы сильно запаздывают от бизнес-реалий, в которых находится EPAM. Помимо общего курса нашими специалистами разработано много внутренних курсов по разным направлениям — Data Analytics, облачные решения, Data Engineering, Data Science и другие, — доступных всем сотрудникам EPAM. Пока это курсы для текущих сотрудников, но сейчас мы пытаемся масштабировать вовне, чтобы к нам приходили специалисты уже подготовленными. В Нижнем Новгороде первый пилотный проект — мы открыли доступ к курсу, который могут пройти все желающие освоить эти технологии. Про технологии За чем сейчас будущее? На какие технологии появляется и сохраняется спрос? Если я начну перечислять все технологии, то какие-то пропущу, какие-то не вспомню, на какие-то обращу больше внимания, чем они этого заслуживают. Технологий очень много, они быстро стареют и так же быстро появляются новые. Гнаться за суперсовременными технологиями не всегда получается, да и не всегда нужно. Зачастую новые решения появляются на рынке в довольно сыром состоянии. Однажды на одном проекте мы погнались за технологией Cadence, которая показалась заказчику приемлемой, но в итоге с ней постоянно возникало много проблем с производительностью, она не справлялась с тем объёмом данных, который был на проекте, и мы с трудом находили людей, которые могли бы быстро в ней разобраться. Был ещё один кейс, на этот раз с технологией Reinforcement Learning. Один из наших заказчиков хотел внедрить систему с использованием этой технологии. Этому фреймворку на тот момент было около 2-х месяцев, он был довольно сырой. В целом было очень мало систем промышленного масштаба, где эта технология используется. В итоге ничего не получилось, и нам пришлось быстро откатить систему и создать решение, которое справлялось с задачей заказчика уже без использования Reinforcement Learning. Хотя технология очень перспективна, мы следим за её развитием и, возможно, даже уже в этом году мы сможем использовать её в проектах. Но всё же существует некоторый «золотой стандарт», который должны знать Data-специалисты. Причём этот стандарт тоже постоянно обновляется. На самом деле, в инкубаторе много проектов, которые «завтра» взлетят. Многие проекты, которые вошли в «золотой стандарт» — это вчерашний инкубатор. Были, конечно, технологии, которые не взлетели. Так случилось, например, с технологией Theano, она появилась примерно в одно время с TensorFlow, но Theano куда-то исчезла.
  • У Apache есть целый набор инструментов, технологий, которые нужно знать — среди них Spark, Cassandra, Elasticsearch и другие.  
  • Yarn, HDFSMapReduceHiveKafkaZooKeeper — это базовые технологии, с которых всё начиналось. Базовая технология Hadoop никуда не делась, хотя она выглядит немного устаревшей, но все принципы, которые в ней заложены, используются в современных технологиях. 
  • В различных облачных технологиях — в Amazon, Microsoft Azure, JCP — есть свои аналоги Hadoop, с которыми мы работаем.  
  • Также актуальными являются инструменты защиты данных, такие как Kerberos, Knox, Ranger.  
  • Понятно, что различные NoSQL и NewSQL базы данных — Cassandra, например (уже не новая), Snowflake, Amazon Redshift, HBase, MongoDBTeradata
  • DevOps технологии — Kubernetes, Docker, Jenkins.  
  • Технологии визуализации данных: Power BI, Tableau, QlikView. 
  • В Data Science тоже множество различных фреймворков, например TensorFlow и Google BERT (который тоже уже «вчерашний день», сегодня есть реализации лучше), PyTorchKeras.  
  • Отдельно стоит перечислить технологии Streaming. Streaming это новый вызов мира Data, поэтому инструменты стоит знать — Spark Streaming, Kafka Streams, Apache Flink, Apache Storm.   
Во многом набор знаний зависит от направления специалиста.   Для всех обязательно знание SQL (стандартного и аналитического), теории DWH (какие типы организации хранилищ данных бывают — звезда, снежинка, Data Vault, как организовать историчность хранения справочников и т.д.), нормализации данных (чем отличаются первая, вторая и третья нормальные формы, что это такое вообще, в каких случаях полезна денормализация), и понимать, чем отличается DWH, Data Mart, Data Lake.  Для всех обязательно понимание процесса промышленной разработки, знание систем контроля версий. В последние годы обязательным становиться опыт работы с облаками, хотя бы с одним из наиболее популярных AWS, Azure, GCP. Для тех, кто занимается ETL (загрузка и преобразование данных перед их использованием) обязательно понимание разницы ETL и ELT, стадий загрузки, способов проверки и очистки данных, понятия slowly changed dimension. Также обязательно знание как минимум одного языка программирования для написания ETL вручную (PL/SQL, T-SQL, pgSQL, Python, Spark), оркестраторов для запуска процессов (например, Airflow), специализированных программ, как комерческих, так и бесплатных (TalendInformatica Power CenterPentaho, etc.). Для репортеров (Data Analytics and Visualization), помимо знания хотя бы 2-х репортинговых программ (Power BI, Tableau, TIBCO Spotfire, MicroStrategy, Pentaho, и т.д.) необходимо знание различных подходов в создании отчётов и дашбордов (например, Storytelling). А вы сами участвуете в разработке каких-то технологий? Наши сотрудники контрибьютят в Apache —  Spark, NiFi, Elasticsearch и многие другие. Любой сотрудник может принять участие в проекте. Даже в рамках нашего обучающего курса, о котором я рассказывал, одно из заданий — доработать какую-то фичу или исправить решение в Open Source проекте.  Кроме того, мы разрабатываем и свои Open Source продукты, например, Open Data Analytics Hub (ODAHU) проект, предоставляющий компоненты для создания систем автоматизации полного жизненного цикла ML моделей.  Какие технологии используются у вас на проектах? Мы немного по-другому смотрим на то, как должен строиться подход к управлению проектами в Data — он основан не на выборе технологий, а на методологиях. У нас есть несколько шаблонов (blueprint) для решения тех или иных задач. Это решения задач, с которыми мы часто сталкивались на наших проектах, уже проверенные временем. Грубо говоря, у нас есть шаблон, который мы наполняем технологиями в зависимости от задач заказчика, от его приоритетов, инфраструктуры. С готовым blueprint мы можем прийти к заказчику и просто как по чек-листу собрать информацию, например, есть ли у него в архитектуре хранилище сырых данных, витрина данных, эксплуатируемое окружение для Data Scientists, процесс миграции данных, вычисления дельт и т.д. Отличаются ли подходы к проектам в разных отраслях? Мы работаем с нефтегазовой отраслью, с банками, с фармацевтическими компаниями, e-commerce, с медиа, со страховым бизнесом, в области Life Science много проектов — одним словом, в различных бизнес-направлениях. Может показаться, что всё это абсолютно разные направления задач, но blueprints позволяют нам мыслить в одних шаблонах, решать разные задачи с помощью одних и тех же подходов.   Конечно, в каждой отрасли есть специфические задачи и подходы, и если мы видим растущий бизнес, то мы делаем специализированное решение для той или иной отрасли. Мы разрабатывали специализированные решения для нефтегазовой, фармацевтической, банковской сферы и других.Что изменил 2020 год? Четкое осознание, что данные нужно уже не только копить, но и заставлять их работать на бизнес у компаний появилось в XXI веке. И 2020 год подтолкнул компании, так называемое позднее большинство (late majority), которые до этого сомневались в ценности использования данных, к изменениям взглядов и походов. 
The diffusion of innovations according to Rogers. (From Wikipedia)Про обучение Как его лучше организовывать тем, кто интересуется датой: с чего начать, на что делать упор? Существует много курсов как платных, так и бесплатных, где дают много информации о технологиях, подходах. И, возможно, придётся прослушать десятки курсов, прежде чем изучить тему.  Чтобы начать учиться, необходимо иметь желание, уверенность в будущем Data, и умение программировать хотя бы на одном из языков Java, Scala или Python. В тренинг-центре EPAM есть бесплатные курсы для начинающих специалистов, в том числе по направлениям Data Engineering, Data Science, BI, а также Python и другим языкам, которые помогут стартовать в профессии.
Что должен знать идеальный инженер, претендующий на место в команде Data в EPAM? Выше подробно описан стек технологий. Если кратко, идеальный Data герой должен уметь программировать — на Java, Scala или Python (вообще, большинство ребят полиглоты в терминах языков программирования), знать SQL, понимать различные подходы к хранению и обработке данных, их плюсы и минусы, знать различные архитектуры построения гетерогенных систем, обязательно знать DevOps-инструменты и методологии ведения проектов, умение работать с облачными технологиями и понимание Machine Learning также приветствуются.   
===========
Источник:
habr.com
===========

Похожие новости: Теги для поиска: #_uchebnyj_protsess_v_it (Учебный процесс в IT), #_karera_v_itindustrii (Карьера в IT-индустрии), #_intervju (Интервью), #_data_engineering, #_intervju (интервью), #_data, #_epam, #_epamsystems, #_blog_kompanii_epam (
Блог компании EPAM
)
, #_uchebnyj_protsess_v_it (
Учебный процесс в IT
)
, #_karera_v_itindustrii (
Карьера в IT-индустрии
)
, #_intervju (
Интервью
)
, #_data_engineering
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 22-Ноя 16:17
Часовой пояс: UTC + 5