Инженерия данных — это не только создание больших и быстрых конвейеров! Вот что еще важно!

Прежде чем читать это, ознакомьтесь с первой частью серии: Технические навыки для вашей первой работы Data Engineer.

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

Понимание конфиденциальности

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

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

Защита конфиденциальности пользователей — это не только шифрование, но и изменение мышления в масштабах всей организации, когда мы применяем такие методы, как:

  • Собираем только те данные, которые вам нужны
  • Предоставление доступа к данным только тем, кто в них нуждается, до тех пор, пока они им нужны
  • Удаление данных, когда они вам больше не нужны

Имейте представление о правилах использования данных в вашей стране или штате.

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

Понимание бизнеса

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

Понимание бизнеса создает контекст и может помочь инженерам сопереживать заинтересованным сторонам бизнеса и, что более важно, клиентам.

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

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

Понимание данных

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

Задавайте такие вопросы, как

  • Как данные разделены в источнике?
  • Что такое схема? Может ли измениться схема? Что от нас ожидается, если схема изменится?
  • Данные упорядочены? Что произойдет, если мы получим данные не по порядку, должен ли конвейер быть достаточно надежным, чтобы обрабатывать их?
  • Есть ли дубликаты и нужно ли обрабатывать дубликаты? Все это сильно зависит от того, как публикуются исходные данные. Некоторые источники данных гарантируют однократную доставку, в то время как другие обеспечивают хотя бы однократную доставку.

Поймите пользователя

Это самый важный нетехнический аспект для понимания, потому что он влияет на все моменты, которые мы рассмотрели выше.

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

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

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

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

Напутствие

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

Когда вы в последний раз видели эти пункты в должностной инструкции?

Надеюсь, это поможет!

Если вы хотите связаться, вы можете найти меня в Твиттере: @pavanraju023