От аналитика данных до инженера данных: мой 12-месячный план самостоятельного обучения.
Инструменты, которые я изучаю, проекты, над которыми я работаю, и ошибки, которые я уже ожидаю совершить.
Делиться

Честно говоря, отчасти я начал этот путь потому, что инженерия данных — одна из самых востребованных и высокооплачиваемых профессий на данный момент. Не буду притворяться, что это не сыграло своей роли.
Но дело не только в этом.
Я уже довольно давно изучаю анализ данных. SQL, Power BI, Python (Pandas, NumPy, немного Polar), очистка данных, разведочный анализ данных (EDA). Что угодно, я вникал в это досконально. И мне это действительно нравится. Но где-то по пути я начал интересоваться тем, что происходит до того, как данные попадают ко мне на стол. Как они перемещаются? Кто создает эти конвейеры обработки данных? Как на самом деле выглядит инфраструктура, лежащая в основе всего этого?
Это любопытство посеяло семя.
Затем ИИ начал значительно ускорять и упрощать многие мои задачи. Это здорово. Но это также заставило меня задуматься: если ИИ может справиться с анализом, в чем мое преимущество? Что я могу создать и понять глубже? Я работаю системным аналитиком в стартапе, и хотя мне нравится эта работа, я понял, что не бросаю себе вызов так, как хотел бы. Я был готов к большему.
Решающим толчком стало видео от Data With Baraa, где он представил полную дорожную карту по разработке систем обработки данных. Увидев её в структурированном и разбитом на этапы виде, я почувствовал, что это реально и выполнимо. Вот я здесь.
Я изучаю инженерию данных в открытом доступе. И эта статья — начало этого пути.
Также хочу оговориться, что я не связан с компанией Data with Baraa. Я просто делюсь своим личным опытом. Надеюсь, это поможет.
Почему именно инженерия данных?
Я хочу уделить этому немного времени, потому что считаю, что этот вопрос заслуживает реального ответа.
Анализ данных научил меня работать с данными после их поступления. Очищать их, исследовать, визуализировать, извлекать из них полезную информацию. Этот навык действительно ценен. Но чем больше я учился, тем чаще натыкался на одну и ту же преграду. Данные, с которыми я работал, уже были обработаны и перемещены кем-то другим. Кто-то создал конвейер, который доставил их мне. Кто-то решил, как их хранить, как структурировать, как часто обновлять.
Я хотел быть таким человеком.
Инженерия данных находится на более высоком уровне, чем аналитика. Она заключается в создании систем, которые делают анализ вообще возможным. Конвейеры данных, архитектура хранения, оркестрация рабочих процессов, крупномасштабная обработка данных. Это фундамент, на котором строится все остальное. И, честно говоря, такая инфраструктурная работа привлекает меня больше, чем чистый анализ.
Есть и практический аргумент. Профессии инженеров данных неизменно входят в число самых высокооплачиваемых в индустрии данных. По мере того, как инструменты ИИ совершенствуются в автоматизации аналитического уровня, спрос на специалистов, способных создавать и поддерживать надежную инфраструктуру данных, будет только расти. Я бы предпочел создавать каналы передачи данных, а не просто использовать их.
И ещё кое-что. В стартапе, где я работаю, не используются никакие инструменты, которые я сейчас буду изучать. Это значит, что каждый час, который я этому посвящу, будет полностью посвящен самостоятельной работе. Нет команды, у которой можно было бы учиться, нет рабочих проектов, где можно было бы применить полученные знания. Только я, интернет и всё, что я смогу создать сам. Это вызов, который я выбираю намеренно.
Почему я делаю это на публике
Я уже давно глубоко убеждена в том, что нужно писать о том, что я узнаю. Это заставляет тебя действительно понять что-то, прежде чем объяснять это. Это помогает тебе быть ответственной. И со временем это создает нечто такое, чего одно только резюме никогда не сможет создать.
Но я честно расскажу и о своих опасениях, потому что, думаю, в этом и смысл публичного выступления.
У меня синдром погони за блестящими объектами. Вот, я это сказала. До того, как заняться анализом данных, я пробовала себя в графическом дизайне, анимации, писательстве, маркетинге и IT. Меня всегда что-то новое и захватывающее привлекает. Если я не буду целенаправленно этим заниматься, то инженерия данных легко может смениться очередной броской фишкой в моей ленте.
Ещё один важный момент — это последовательность. Я работаю с 9 до 5, и практически не использую инструменты, которые буду изучать. На работе нет естественного подкрепления, нет коллег, с которыми я мог бы обсудить вопросы по Airflow. Я создаю этот проект полностью в своё свободное время, вне своих должностных обязанностей.
И баланс. Цель — три-четыре часа в день. В некоторые дни это будет легко, в другие — невозможно.
Публикация этого рассказа — моя система самодисциплины. Если я замолчу, вы будете знать, что я сбилась с пути. А я бы предпочла этого не делать.
С чего я начинаю
Я не начинаю с нуля, и это помогает. У меня уже есть базовые знания SQL (от начального до среднего уровня) благодаря работе в области анализа данных, основы Python и некоторый практический опыт работы с Pandas. Это дает мне фундамент, на котором я могу строить дальше, а не создавать все с нуля.
Вот полный набор учебных материалов, примерно в том порядке, в котором я буду их изучать.
1. SQL: Выход за рамки аналитики
Я разбираюсь в SQL. Но аналитический SQL и инженерный SQL — это совсем разные вещи. Я углублюсь в оптимизацию запросов, индексирование, работу с очень большими наборами данных и написание SQL-запросов, ориентированных на производительность, а не просто на исследование. Если вы использовали SQL только для извлечения и фильтрации данных, то за этим скрывается целый ряд важных нюансов, которые стоит понять.
Почему это первый шаг: В области инженерии данных все так или иначе связано с SQL. Освоение этого языка до внедрения более сложных инструментов значительно упростит дальнейший путь.
2. Python: от исследовательского подхода к внедрению в производство.
У меня есть базовые знания. Pandas, NumPy, немного Polar. Но код на Python, который я пишу, в основном хранится в блокнотах. Он экспериментальный, неряшливый, недолговечный. Теперь цель — писать более чистый, структурированный и многократно используемый код. Функции, модули, обработка ошибок, скрипты. Такой Python, который действительно можно использовать в конвейере обработки данных.
Почему это важно: Python — это связующее звено, объединяющее большинство современных стеков обработки данных. Airflow использует его. PySpark построен на нём. Освоить его — обязательное условие.
3. Git и GitHub: правильно организованное управление версиями
Честно говоря, мои знания Git сейчас ограничиваются фразой «скопируй команду, надеясь, что сработает». Это нужно изменить. Контроль версий — это основополагающий принцип работы инженера, а не просто аналитика. Я буду изучать ветвление, запросы на слияние (pull requests) и правильное управление кодом в разных проектах.
Почему это важно: Каждый проект, который я буду создавать с этого момента, будет размещен на GitHub. Это портфолио, это дисциплина, и это то, как работают настоящие команды.
4. Apache Spark и PySpark: обработка больших данных
Вот тут-то и начинается самое интересное. Apache Spark — один из наиболее широко используемых движков для обработки больших объемов данных. PySpark — это Python API для него, а это значит, что я могу использовать язык, с которым я уже немного знаком, для работы с распределенными данными в больших масштабах.
Переход от Pandas к Spark — это смена мышления. Pandas работает на одной машине. Spark же создан для работы в кластерах. Умение мыслить в таком распределенном режиме — один из навыков, отличающих инженеров данных от аналитиков.
Почему это важно: Если вы хотите работать с большими данными в производственной среде, Spark практически неизбежен. Он постоянно упоминается в описаниях вакансий и является основой экосистемы Databricks, которую я буду развивать.
5. Apache Airflow: оркестрация конвейеров обработки данных
Конвейеры обработки данных сами по себе не работают. Вам нужно что-то, что будет планировать их выполнение, отслеживать их работу и корректно обрабатывать сбои. Именно здесь на помощь приходят инструменты оркестрации рабочих процессов, и Airflow — мой выбор.
Я рассмотрел несколько вариантов. Databricks Workflows отлично подходит, если вы уже хорошо знакомы с экосистемой Databricks. Azure Data Factory имеет смысл для сред с большим количеством Azure. Но Airflow — это бесплатное, открытое, облачно-независимое решение, широко используемое в отрасли. Оно также обучает основным концепциям оркестровки таким образом, что эти знания можно применять и в других инструментах. Начать с Airflow показалось правильным решением, особенно учитывая, что я стараюсь минимизировать затраты.
Почему это важно: Оркестрация — это то, что превращает набор скриптов в реальный конвейер обработки данных. Понимание Airflow — это понимание того, как управляются рабочие процессы обработки производственных данных.
6. Databricks: Платформа данных
В какой-то момент вам нужно выбрать платформу для работы с данными и углубиться в её изучение. Я выбираю Databricks. Она построена на основе Spark, пользуется большим спросом, и у неё есть бесплатная версия Community Edition, которая позволяет практиковаться без оплаты облачных кредитов.
Альтернативы тоже неплохи. Snowflake — это чистое, быстрое хранилище данных SQL, которое нравится многим компаниям. BigQuery — это полностью управляемый бессерверный вариант от Google, и он действительно превосходен, если вы склоняетесь к Google Cloud. Но Databricks находится на стыке больших данных, машинного обучения и инженерии данных таким образом, что это соответствует моим целям. Он оказался наиболее подходящим вариантом для моих задач.
Почему это важно: Работодатели хотят, чтобы у вас был опыт работы с платформами. Глубокое знание одной платформы ценнее, чем знание лишь мельком всех.
Как я планирую свои 12 месяцев
Честно говоря, это может занять больше 12 месяцев. И меня это устраивает. Я лучше потрачу 15 месяцев, чтобы действительно понять, что я делаю, чем буду спешить за 12 и в итоге окажусь неуверенным в основах.
Общий подход заключается в последовательном освоении каждого навыка и отказе от дальнейшего продвижения, пока не будет создано что-то на основе полученных знаний. Учебные пособия хороши для ознакомления, но настоящее обучение происходит на проектах. Мой план — документировать каждый этап здесь, на Towards Data Science: концепции, проекты, трудности и успехи.
Для отслеживания прогресса я использую в качестве основы дорожную карту Notion от Data With Baraa. Она разбивает каждый навык на основные темы и позволяет мне отслеживать, где я нахожусь, не перегружаясь всей картиной сразу.
Что касается времени, то целевое время составляет три-четыре часа в день. Часть этого времени будет посвящена структурированному обучению, часть – построению устойчивых моделей поведения, а часть – написанию эссе о том, что я только что узнал, что само по себе является формой обучения.
Что означает успех?
Цель – получить высокооплачиваемую должность инженера по обработке данных. Это реально, и я не собираюсь это приукрашивать.
Но помимо этого, я хочу стать авторитетным голосом в этой области. Тем, кто создает вещи, о которых стоит говорить, документирует свой путь, не замалчивая сложные моменты, и, возможно, делает этот путь немного яснее для тех, кто придет за мной.
Письменная работа и обучение взаимно дополняют друг друга. Портфолио становится доказательством. Доказательство формирует бренд. В этом и заключается наша цель.
Начиная с сегодняшнего дня
Эта статья — моя официальная дата начала работы. Я не жду, пока почувствую себя готовой или пока всё идеально не будет спланировано. Я начинаю прямо сейчас, пишу по ходу дела, и позволяю процессу быть публичным и немного хаотичным.
Если вы находитесь на схожем пути, будь то аналитика, размышляющая об инженерии, IT-специалист, задающаяся вопросом о будущем, или просто человек, стремящийся развить навыки, которые будут востребованы в мире, ускоренном развитием искусственного интеллекта, — следите за обновлениями.
Думаю, нам будет о чём поговорить. Я также буду делиться своими знаниями на своём YouTube-канале. Так что подписывайтесь и следите за обновлениями.
Это первая статья в серии публикаций, посвященных моему пути в области инженерии данных. Я буду регулярно публиковать информацию о своем прогрессе, проектах, над которыми работаю, и обо всем, чему учусь в процессе.
А если вы хотите получить доступ к шаблону Notion, если вы находитесь на том же пути, что и я, вы можете сделать это здесь.
Следите за моим путешествием ниже.
YouTube
Середина
Твиттер
Ибрагим Салами. Все материалы от Ибрагима Салами.
Источник: towardsdatascience.com

Добавить комментарий
Для отправки комментария вам необходимо авторизоваться.