Специалисты по анализу данных полного цикла 

нынче в тренде: как вы можете стать одним из них

Программная инженерия и инженерия данных – два навыка, которые вам надо освоить

В 2019 каждый хотел стать специалистом по анализу данных.

В 2020 каждый хотел стать инженером данных.

В 2021 каждый хотел стать инженером по машинному обучению.

В 2022 все становится на свои места – почти.

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

В этот раз в 2022 году компании ищут универсальных специалистов по работе с данными.

Кто такой специалист полного цикла по работе с данным? (или full-stack специалист)

Никогда ранее мы не видели такого количества объявлений с вакансиями full-stack специалиста по данным. Но кто же именно он такой?

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

Этот подход “полного жизненного цикла” означает, что full-stack специалист по работе с данными способен выявить потребности бизнеса (или работать с руководителями высшего звена, чтобы определить, какую проблему необходимо решить), установить необходимую для проекта архитектуру данных, проанализировать данные и спроектировать модели и, наконец, развернуть модель в прод-среде.

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

Чем отличается специалист по анализу данных полного цикла от специалиста по анализу данных общего профиля?

Специалисты полного цикла могут быть чуть проще, чем вы думаете.

По сути, большинство начинающих и опытных специалистов по анализу данных обладают практически всеми навыками, необходимыми для того, чтобы стать full-stack специалистом.

Единственная вещь, которая отличает full-stack специалиста – это его навыки разработки программного обеспечения и инженерии данных. Именно в этом месте специалист полного цикла и общего профиля различаются. Специалисты широкого профиля в области науки о данных обладают разнообразными навыками во множестве областей (если хотите, это “разнорабочий”), но у них может не быть глубокого опыта в выполнении сквозной работы целой команды.

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

Как стать full-stack специалистом

Full-stack специалист по анализу данных обладает всеми основными навыками обычного специалиста по анализу данных, а также сильными навыками работы с данными и программным обеспечением.

На базовом уровне full-stack специалист будет обладать математическими, аналитическими, дизайнерскими и кодовыми навыками, необходимыми для решения любой общей задачи в области data science. Эти основы выходят за рамки данной статьи, но более подробную информацию можно найти здесь:

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

Программная инженерия

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

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

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

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

Последним шагом в совершенствовании навыков разработки программного обеспечения является развитие навыков автоматизированного тестирования. По сравнению с обычным тестированием, которое включает в себя прогон кода вручную и проверку того, не выдает ли он ошибку каждый раз, когда вы вводите логический сегмент, автоматизированное тестирование проводится с помощью инструментов, которые выполняют эти задачи за вас. Типы автоматизированного тестирования, которые вы можете проводить, включают модульное тестирование, дымовые тесты, интеграционные тесты, регрессионные тесты, тестирование API, тесты безопасности, тесты производительности, приемочные тесты и многое другое. Некоторые из инструментов, с которыми вы познакомитесь, включают Selenium, LambaTest и QMetry Automation Studio. Вот отличное видео, которое поможет вам начать автоматизированное тестирование:

Инженерия данных

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

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

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

Навыки работы с данными, как и навыки работы с программным обеспечением, можно легко приобрести на бесплатных онлайн-курсах. Лучшим источником для получения всестороннего образования в области инженерии данных является бесплатный онлайн-курс от DataTalks.Club под названием Data Engineering Zoomcamp. Этот курс расскажет вам об основах, начиная с настройки среды, изучения оркестровки рабочих процессов и заканчивая созданием конвейеров данных локально и в облаке. Также рассматриваются хранилища данных, пакетная обработка и сквозные проекты.

translated from: https://towardsdatascience.com/full-stack-data-scientists-are-trending-right-now-heres-how-you-can-become-one-d5398dff60e7 images from source

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.