Как сменить профессию и попасть на стажировку в IT: из музыканта в дата-инженеры
Многие сегодня задумываются о том, чтобы сменить профессию, а бесчисленное количество онлайн-курсов лишь усиливает впечатление того, что это доступно каждому. В реальности же дело обстоит немного сложнее — прохождение обучения вовсе не гарантирует трудоустройство, да и как выбрать курс, который даст базу, необходимую для начала работы?
Меня зовут Лиза, и в этой статье я расскажу о том, как в 28 лет решила стать дата-инженером, отправила свой первый в жизни отклик на HH, прошла бесплатное обучение от работодателя и получила оффер в консалтинговую IT-компанию Sapiens Solutions.
Кадр из фильма «Стажер»
Бэкграунд
Моя история не типична для перехода в дата-инженеры. Кто-то уже умеет кодить, знает python, имеет опыт в бэкенд-разработке, аналитике или data science. Я же получила полноценное высшее музыкальное образование по специальности «Музыковедение». Мой путь был стандартным для любого музыканта: 8 лет в музыкальной школе, 4 года в училище, 5 лет в консерватории. И затем — несколько лет работы в сфере академической музыки.
«Я закончила консерваторию! У меня богатая внутренняя жизнь!» © сериал Бригада
Одно из самых главных качеств, которое у меня получилось развить — это усидчивость. Нужно очень много заниматься на музыкальном инструменте, читать, решать музыкальные задачки и так далее, чтобы хоть что-то получалось. Именно это качество, как показывает практика, требуется и для IT-специальностей. Вообще мир искусства дал мне широкий бэкграунд и очень сильно помог развить soft skills.
Обучение на курсе
Оставлю за кадром причины, по которым я решилась на такую радикальную смену профессии. Мир работы с большими данными меня действительно увлек. Проходя курсы по SQL, базовому Python и математике, я параллельно начала изучать разные специальности. Самая раскрученная сейчас аналитика данных меня не заинтересовала, а направление data science показалось слишком сложным для старта. В какой-то момент я наткнулась на подкаст о дата-инженерах, и тогда первая лампочка загорелась.
Я решила поискать вакансии на HH и обнаружила, что стажировок для дата-инженеров там было откровенно мало. Сейчас, когда пишу эту статью, я даже специально проверила: запрос «аналитик данных стажировка» выдает 226 результатов для Москвы, а «инженер данных стажировка» — всего 55. В своем опыте я еще не была уверена, так как не проходила никакие обширные программы обучения, скорее, точечно выбирала темы для изучения и читала статьи. Поэтому мне хотелось найти обучение от работодателя с возможностью получения оффера на стажировку. Что, собственно, я и нашла у компании Sapiens Solutions — курс «Аналитика и работа с данными (СУБД GREENPLUM)». Меня сразу привлекла программа — она направлена на реальную практику и очень выделяется на фоне тех же платных курсов. К моменту, когда я нашла этот курс, я, видимо, уже настолько преисполнилась в решении задачек на SQL, что прошла вступительный тест с первого раза и на более, чем 90%. Но это были лишь цветочки :)
Обучение проходило полностью онлайн — на сайте размещены видео-уроки, конспекты и задания, а в Telegram был создан чат для обсуждения вопросов. Чат курировали эксперты от компании, но и сами обучающиеся приходили друг к другу на помощь. Задумка с чатом — это очень полезно, так ты сразу оказываешься в сообществе единомышленников, а заодно тренируешься говорить о своих проблемах и ошибках на публику. Да, ошибки возникали часто — то букву не ту написал, то запятую забыл поставить. В одиночку не всегда получалось найти место ошибки, но ребята в чате быстро откликались, стоило только написать.
Первые уроки были достаточно легкими, но где-то с середины курса начался хардкор (лично для меня). Хотя в самый сложный момент, когда нужно было написать пользовательскую функцию на plpgsql по созданию внешних таблиц и расчету витрины, включился некий азарт — взлетит или не взлетит? Сойдутся расчеты или не сойдутся? Так загорелась вторая лампочка. Плюс та самая усидчивость, которая помогла мне пройти курс до конца.
После окончания обучения нужно было пройти техническое интервью — 30 минут отвечать не теоретические вопросы по материалам курса. Каким-то чудом я смогла дойти до этого интервью в числе первых, и у меня было не так много времени на подготовку. Затем в игру вступил грипп — все обучение пронеслось перед глазами, но выбора не было, пришлось готовиться в последние 24 часа. Интервью прошло хорошо, и буквально через несколько минут мне написали, что я допущена к защите итогового проекта. Та-да-да-даааам… А вот к этому я уже точно не была готова, как мне тогда казалось. Думаю, многих, кто делает первые шаги в новой для себя сфере, преследует синдром самозванца. Он был и у меня.
Задолго до поступления на курс я спланировала улететь в Сочи. В итоге перелет совпал со временем подготовки к защите. Мне пошли навстречу и допустили к защите онлайн, что меня тоже порадовало, хотя по правилам она обычно проходит оффлайн в офисе компании. Готовиться к защите тоже пришлось быстро. В итоге все цифры в отчете сошлись, презентация подготовилась… Защита длится примерно час, где твой сделанный проект — не самое важное. Важно то, как ты об этом рассказываешь. И, конечно, как отвечаешь на коварные вопросы экспертов.
Три дня спустя я получила письмо от HR о том, что набрала проходной балл и меня готовы пригласить на стажировку. Для меня это был настоящий шок! Но надо сказать, что я действительно потратила много времени на то, чтобы тщательно изучить все материалы курса и выполнить задания. Я с радостью приняла оффер и купила билет обратно в Москву.
Прохождение стажировки
Так как компания реализует проекты, связанные с продуктами SAP, в начале стажировки мы проходили еще одно обучение — по работе с SAP BW. Затем всех стажеров распределили в команды. Я попала на крупный банковский проект в команду по экстракции и миграции данных уровня Staging и DWH из SAP BW/4HANA в корпоративное хранилище данных от Arenadata, ведущего российского разработчика платформы сбора и хранения данных. То есть здесь пригодились знания обоих курсов, которые были пройдены. Сначала нужно было получить все-все-все доступы — это отдельный квест, для которого один из наших стажеров даже написал развернутую инструкцию. Затем начались первые задачи: мы собирали реестры с технической информацией по всем объектам хранилища, которые нужно мигрировать.
Миграция осуществляется с помощью собственного фреймворка ETL-процессов, который, кстати, выложен в open source. Иногда данные перемещаются из таблицы А в таблицу Б практически без изменений. Но чаще ситуация обстоит гораздо сложнее. Бывают трансформации по 3000–6000 строк кода, написанного для SAP HANA SQL, который нужно адаптировать под PostgreSQL. Встречаются функции, которых нет в Postgres, и тогда приходится дорабатывать логику преобразований, искать решения и рефакторить код, написанный другими разработчиками.
Сейчас мы следим за тем, чтобы данные в одних и тех же объектах сходились в разных системах. Чтобы избавиться от расхождений, бывает достаточно просто перезапустить загрузку. Но не всегда это работает. Тогда приходится погружаться в дебаг и разбираться более детально. Еще мы экспериментируем и проводим тесты, чтобы найти оптимальное решение — например, однажды меня попросили написать огромный запрос, построенный на CTE, который не мог выполниться в оперативной памяти. На основе этого запроса был построен другой тест. Так мы исследовали возможности оперативки и скорость выполнения запроса.
Проект, в котором я работаю, рассчитан более чем на год, поэтому впереди нас ждет перенос всех оставшихся объектов, автоматизация загрузок и, конечно, оптимизация. Про тех, кто роняет прод, в рабочих чатах сразу начинают ходить легенды. И про тех, кто удаляет данные из объектов в разработке, тоже.
Другие бонусы и возможности
Раньше мне казалось, что работа в IT — скучная, и я плохо представляла себе людей, которые работают в этой сфере. И я очень удивилась, когда пришла в офис и узнала, что совсем скоро состоится музыкальный конкурс среди сотрудников компании. Мы с коллегой объединились в дуэт: он играл на скрипке, а я — на фортепиано. Примерно за неделю мы собрали наш музыкальный номер, репетировали в офисе после работы и записывались тоже в офисе на выходных. Вообще весь офис целый месяц перед конкурсом так и бурлил обсуждениями, кто что играет и кто что уже успел выучить. Все закончилось настоящей Музыкальной Битвой по типу Евровидения, и снова чудо — мы выиграли там второе место. В качестве приза нам подарили сертификаты в очень крутое московское джаз-кафе. Из-за всего этого веселья первые два месяца работы я никак не могла понять, точно ли я сменила профессию.
Наша лаунж-зона в офисе превратилась в студию звукозаписи
Перед конкурсом вместе с командой от компании я успела сходить на конференцию ArenaDay.Sapiens Solutions выступили там в качестве партнера и представили два доклада: «Миграция SAP HANA на Arenadata» и «Жизнь после SAP — как собрать платформу данных». Посмотреть можно тут и тут. На конференции я погрузилась в мир реальных кейсов дата-инжиниринга и узнала об истории развития хранилищ данных в исторической ретроспективе, что было полезно для общего понимания того, как развивается индустрия.
Конференция ArenaDay 23 апреля 2024
Если говорить про корпоративную культуру, то у нас принято друг другу помогать и не бояться задавать вопросы. Это дает огромный буст в развитии на старте, когда ты только пришел, ничего не знаешь и всего боишься.
Подводя итоги, хочу отметить следующие моменты:
Если вам гораздо больше лет, чем выпускникам университетов, но вы все равно хотите сменить работу — пробуйте. На моем стажерском потоке многие ребята пришли не из IT, уже имея опыт работы по другой специальности.
Если вам говорят, что у вас нет технического/математического образования, но вам по-настоящему интересно развиваться в выбранном направлении — пробуйте. Не стоит тормозить себя ограничивающими установками мышления.
Если у вас в силу предыдущего опыта софт-скиллы развиты сильнее, чем технические харды — пробуйте. Пусть это станет вашим преимуществом. Во время реализации проектов очень важно уметь договариваться и слышать участников как своей команды, так и других. Но при этом придется дополнительно учиться. В свободное время я продолжаю решать задачки, читать статьи или документацию.
Если вы уже попробовали, но вам отказали — пробуйте снова. Так, в тот же день, когда я уже получила оффер на стажировку, мне пришел отказ из одного банка, хотя там я решила тест по SQL на максимальный балл.
Кроме мотивации не менее важным будет изучение релевантной информации, которая поможет решать уже рабочие задачи, а не учебные. И получение практических навыков на основе этой информации, чтобы понимать, как ее правильно применять. Поэтому если вы заинтересованы в смене работы или ищете свою первую в жизни стажировку в качестве data engineer — проходите курс, в котором есть и то, и другое. Проверить, есть ли открытый набор сейчас, можно здесь.