Самая сексуальная профессия десятилетия, специалист по данным, породила около дюжины столь же сексуальных, но несколько запутанных и частично совпадающих названий профессий. Основным ответвлением специалиста по данным является инженер данных. Давайте поговорим о разнице между дата-инженером и бэкэнд-инженером, потому что, честно говоря, границы могут быть довольно размытыми.
- Инженер данных (иногда его называют большим инженером данных) отвечает за проектирование и создание систем, позволяющих организациям собирать, хранить и анализировать большие объемы данных.
- Между тем, бэкэнд-инженер — это более широкое описание работы — он работает на стороне приложения продукта, создавая API и подключая базы данных к пользовательским интерфейсам.
При сравнении дата-инженеров и бэкенд-инженеров многое зависит и от компании. Некоторые компании могут иметь другое понимание инженерии данных, чем другие. Да, это сексуальная должность, но для одной компании это звучит как программирование с нуля, а для другой — как Excel.
Один особенно запутанный ответ на Reddit читает:
"Думаю, можно сказать, что инженеры данных — это бэкэнд-разработчики "разработки приложений, интенсивно использующих данные"".
Я предпочел другой ответ, который читает:
"TL:DR: В зависимости от роли это во многом совпадает, а иногда и одно и то же".
Самый простой ответ, на мой взгляд? Инженеры данных — это разновидность внутренних инженеров. Данные — огромная часть серверной части. Логично, что бэкенд-инженеры должны создавать системы для сбора и управления данными, которые обеспечивают работу внешнего интерфейса. Но по мере того, как роль данных расширялась, организации расширили роль инженера данных, чтобы он стал его собственным делом.
Давайте поговорим о каждой роли отдельно, а затем вернемся к сравнению. Кстати, если вы заинтересованы в том, чтобы стать инженером данных или бэкэнд-инженером, загляните на Boot.dev — вы можете учиться в Интернете в свободное время за вааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА" для > меньше, чем вы потратили бы на колледж или учебный лагерь.
Кто такой инженер данных?
Быть инженером данных означает, что данные — это ваш ребенок на вашей работе. Инжиниринг данных — это наука о проектировании и создании систем для сбора, хранения и анализа в течение всего дня, которые ваша организация имеет или когда-либо может захотеть в будущем. (Инженерия больших данных — это то же самое, но с большими объемами данных.)
Чем занимается дата-инженер?
Ваша работа как инженера данных заключается в создании систем, которые собирают, управляют и преобразовывают данные в полезную информацию. Эта информация используется специалистами по обработке и анализу данных и бизнес-аналитиками для интерпретации и превращения ее в полезную информацию. Это интересный момент — как инженер данных вы часто создаете инструменты и системы, позволяющие специалистам по данным выполнять свою работу.
Это само по себе вызывает некоторую путаницу — многие люди считают, что специалисты по данным сами несут ответственность за сбор данных — но достаточно сказать, что это развивающаяся область и развиваются более мелкие специализации.
В своей повседневной жизни вы можете собирать наборы данных, разрабатывать алгоритмы для преобразования данных, создавать архитектуры конвейеров баз данных, работать с руководством, чтобы понять бизнес-цели, проверять данные и обеспечивать соблюдение политик управления данными и безопасности. Это большая работа!
Проще говоря, думайте о себе как о человеке, готовящем еду. Специалист по данным в этом случае будет шеф-поваром, который объединяет все ингредиенты, чтобы приготовить что-то вкусное. Но ваша задача — взять только самые вкусные помидоры, только самые сочные листья салата и убедиться, что в этих листьях салата нет жуков. Продолжая аналогию, вы также отвечаете за сбор помидоров и создание систем, чтобы помидоры продолжали поступать к вам.
Какие навыки вам нужны, чтобы стать дата-инженером?
Чтобы стать дата-инженером, вам нужна связка профессиональных и социальных навыков. Само собой разумеется, что вы должны уметь программировать — такие языки, как C++, Java и Python, занимают высокие позиции. Поскольку большая часть вашей работы связана с Адой, вы также должны много знать о базах данных и пригласить вас на свидание. Вы должны быть знакомы с процессами ETL и хранилищами данных.
Вы также должны быть знакомы со статистическими методами, используемыми для анализа данных. Даже если вы не делаете это сами, несите ответственность за сбор данных, которые будут проанализированы, поэтому полезно знать, как это будет выглядеть. Вы также должны иметь навыки критического мышления. В настоящее время это практически данность для любой работы, но особенно важно для инженеров данных. Все знают, что данные беспорядочны. Сбор и обслуживание данных для организации требует много гибкого решения проблем. Вот куда вы входите.
Также нужно уметь общаться. Немногие люди связывают слова «данные» и «коммуникация», но это союз, заключенный на небесах. Любой может посмотреть на цифры. Инженер данных должен уметь доносить до других людей действительно важные концепции.
Каковы требования к работе по обработке данных?
Это сильно отличается от компании к компании. Я выбрал запись GSK для Data Engineer в качестве произвольного работодателя. Чтобы стать дата-инженером, вам может понадобиться:
- Степень бакалавра / магистра в области компьютерных наук, аналитики или аналогичный опыт / образование
- 2+ года профессионального опыта разработки программного обеспечения
- Опыт работы с Linux и Python
В ваши задачи входит:
- Разработка решений для сбора, хранения, обработки и анализа огромных наборов данных о взаимодействии малых молекул с белками.
- Выбор методов сбора, хранения и т. д. данных, а затем внедрение и поддержка этих методов.
- Интеграция выбранных вами методов с остальной информационной архитектурой GSK
- Поддержка устаревших систем
- Сотрудничество с аналитиками, инженерами, R&D, командами вычислительной химии/биологии
Сколько зарабатывает дата-инженер?
Что вы получаете за всю эту невероятную работу? По состоянию на сентябрь 2022 года средняя зарплата инженера данных составляет 110 000 долларов в год, а максимальная — 174 000 долларов в год. Вы также получаете стабильность работы. LinkedIn назвал это самой востребованной работой в 2021 году, превзойдя даже знаменитую работу специалиста по обработке и анализу данных!
Что такое Backend-инженер?
Как фоновый инженер, данные по-прежнему являются вашим детищем, но теперь у вас есть целое семейство дополнительных обязанностей. Вы несете ответственность за максимально бесперебойную работу веб-сайта или продуктов веб-сайта вашей организации. Это включает в себя базы данных, внутреннюю логику, API, архитектуру и серверы. Во многих случаях, особенно в небольших компаниях, вы можете также заниматься инжинирингом данных в качестве более общего бэкэнд-инженера.
Чем занимается Backend-инженер?
Давайте сломаем это. Как разработчику серверной части вам необходимы технические знания, аналитическое мышление и навыки совместной работы для проектирования веб-инфраструктуры.
Это включает в себя: создание и поддержку веб-сайтов, написание кода (конечно), тестирование обеспечения качества, повышение эффективности и скорости веб-сайта, устранение неизбежных проблем и отладку, а также обучение и поддержку групп клиентов и младших разработчиков.
В своей повседневной жизни вы можете разрабатывать новые функции безопасным способом, возможно, сотрудничать с другими группами, такими как менеджеры по продуктам или интерфейсные инженеры, чтобы убедиться, что ваш веб-сайт идеален, писать код для высокопроизводительных сред, и проведение код-ревью.
Если мы продолжим аналогию с кухней, приведенную ранее, вы можете думать о бэкэнд-инженере как о человеке, который является поставщиком и специалистом по системам. Вы гарантируете, что у всех ножи из нержавеющей стали и они острые. Вы также отвечаете за сбор помидоров. Если у суповой команды есть проблема с качеством помидоров, вы должны иметь возможность поговорить с этой командой о качестве и установить для них новую систему.
Какие навыки вам нужны, чтобы стать Backend-инженером?
Бэкэнд-инженеры и инженеры данных очень похожи с точки зрения необходимых навыков. Чтобы стать бэкенд-разработчиком, нужно еще уметь общаться и мыслить аналитически.
К техническим навыкам относятся: разработка API-интерфейсов REST, знакомство с SQL или другими соответствующими реляционными базами данных, создание надежных API-интерфейсов, полное владение стратегией объектно-ориентированного программирования, умение создавать масштабируемые и распределенные системы, а также знание одной или нескольких популярных внутренние языки программирования, такие как Go, Python и Node.js (JavaScript). Если вы решите заняться самообучением и стать бэкенд-инженером, не получив степени в области компьютерных наук, вероятно, на изучение бэкэнда уйдет от 6 до 12 месяцев.
Каковы требования к работе backend-инженера?
Как и у дата-инженеров, обязанности бэкэнд-инженеров различаются от компании к компании. Вот только один пример из Hired.
Вам понадобиться:
- Степень в области компьютерных наук / веб-разработки / компьютерной инженерии или эквивалентный опыт
- Опыт работы с любым из: SQL, Ruby on Rails, Ruby, Java для внешнего и внутреннего программирования, Go, Swift, Docker, Azure, AngularJS и Angular 2.
- Опыт создания остальных API в легком наборе управления версиями
- Опыт работы с современными MVC-фреймворками.
- Знание архитектуры приложений, включая слой API, бизнес-логику, моделирование данных, хостинг, сеть и UI/UX
- Опыт создания мобильных приложений с использованием Objective C, Swift или Android.
- Опыт разработки облачных сред, таких как AWS, Microsoft Azure или Google Cloud.
- Список можно продолжить — есть много потенциальных требований, но вам не нужно знать их все. Вам просто нужно знать о технологическом стеке, специфичном для тех компаний, в которых вы хотите работать.
Бэкенд-инженерам, похоже, нужны самые разные навыки.
В этой роли вам нужно знать, как:
- Создайте всю внутреннюю функциональность для веб-сайта и сделайте ее эффективной
- Используйте фреймворки для создания сервисного ПО и интеграции API и облачных вычислений.
- Анализировать и компилировать данные, коды и процессы, используемые для определения областей улучшения
- Записывайте данные и сообщайте о результатах соответствующим партнерам.
- Создавайте настройки безопасности и технологии резервного копирования для баз данных и веб-сайтов.
Сколько зарабатывает Backend-инженер?
В обмен на труд вы будете зарабатывать около 131 000 долларов в год. По данным Glassdoor, это может вырасти до 217 000 долларов в год.
Инженер по данным против инженера по бэкенду: Резюме
Многие из этих вакансий трудно сравнивать, отчасти потому, что люди, которые нанимают, на самом деле не знают, что на самом деле влечет за собой работа. Во многих случаях вы получите работу и обнаружите, что просто попали в дыру, где, по мнению компании, вы должны быть. Никто толком не знает, что такое большие данные. И если у вас есть кто-то, кто говорит, что да, что ж, мне понравился подход Таро Сато:
«Лично я избегаю знакомства с людьми, которые часто используют термин «большие данные», потому что, скорее всего, они не понимают, о чем говорят. :)”
При этом есть некоторые явные различия и сравнения между инженером данных и инженером по бэкенду. Как специалист по данным, все, что вы делаете, — это данные. Это в названии. Как бэкенд-инженер вы можете рассчитывать на работу с данными внутри баз данных, но вам придется делать гораздо больше на стороне приложения — поддерживать веб-сайт или мобильное приложение с серверной части.
По мере того, как эти роли будут уточняться с годами, я ожидаю, что инженеры данных увидят, как их работа будет расширяться, чтобы включать больше новых интересных функций, связанных со сбором, хранением и обработкой данных. Бэкенд-инженеры могут меньше иметь дело с данными, поскольку эту роль берут на себя инженеры данных. На данный момент есть небольшое совпадение.
Не знаете, какую работу вы хотите, дата-инженера или бэкэнд-инженера? Я советую вам внимательно изучить должностные обязанности в каждой компании. Это скажет вам больше, чем любая объяснительная статья, подобная этой. Компаниям нужны органы, которые умеют программировать, умеют настраивать процессы ETL и умеют работать с данными. После того, как вас наняли, ваша роль будет развиваться в соответствии с потребностями этой организации в данный момент.
Первоначально опубликовано на https://blog.boot.dev 21 сентября 2022 г.