data scientist

Почему команды Data Science нуждаются в универсалах, а не специалистах

В книге «Исследование о природе и причинах богатства народов» Адам Смит на примере сборочного конвейера булавочной фабрики демонстрирует, как разделение труда становится главным источником повышения производительности: «Один [человек] растягивает проволоку, другой выпрямляет её, третий режет, четвертый затачивает, пятый шлифует». Со специализацией, ориентированной на функцию, каждый работник становится высококвалифицированным в узкой области, ведущей к эффективности процесса. Выпуск продукции в расчёте на одного работника увеличивается многократно; завод становится чрезвычайно эффективным в производстве булавок.

Это разделение труда по функциям так укоренилось в нас, что мы всегда организуем команды таким образом. Data Science — не исключение. Для осуществления бизнес-функционала на всех стадиях требуется выполнение многих процессов, поэтому компании обычно создают команды специалистов: ученых-исследователей, инженеров данных, инженеров машинного обучения. Работа специалистов координируется продакт-менеджером, а функции передаются как на булавочной фабрике: «один человек получает данные, другой моделирует их, третий вводит в работу, четвёртый собирает статистику.

DS
Специализация Data Science
Идет набор в группу 12 500₽ в месяц

Но в Data Science мы не должны оптимизировать наши команды для повышения производительности. Цель Data Science не в том, чтобы произвести что-то, а в том, чтобы изучить и развить новые бизнес-возможности. Алгоритмические продукты и услуги, такие как системы рекомендаций, вовлечения клиентов, классификации предпочтений, сопоставления размеров, дизайна одежды, оптимизаторы логистики, алгоритмы обнаружения сезонных трендов и многое другое, не могут быть разработаны заранее. Этому нужно учиться. Нет готовых планов, которым нужно следовать. Коэффициенты, модели, типы моделей, гиперпараметры — все элементы, которые вам понадобятся, нужно изучить путем экспериментов.

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

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

2. Она увеличивает время ожидания. Это даже более бесполезная трата времени, чем первый пункт. Если затраты на координацию обычно можно измерить в часах, необходимых для проведения совещаний и обсуждений, то время ожидания обычно измеряется в днях, неделях или даже месяцах. Графики работы функциональных специалистов трудно согласовать, поскольку каждый специалист должен быть выделен для нескольких инициатив. Часовая встреча для обсуждения изменений может занять несколько недель. Более того, даже после согласования изменений сама работа также должна быть запланирована в контексте нескольких других проектов, соперничающих за время специалистов. Опять — долго и сложно. Нет времени на обучение.

data science

3. Она сужает контекст. Разделение труда может искусственно ограничить обучение, вознаграждая людей за то, что они остаются в своей колее. Например, ученый-исследователь, которому поручено оставаться в рамках своей функции, сосредоточит свою энергию на экспериментах с различными типами алгоритмов: регрессией, нейронными сетями, случайным лесом (метод машинного обучения на основе комитета регрессионных деревьев принятия решений — прим. пер.) и т. д. Конечно, хороший выбор алгоритмов может привести к постепенным улучшениям. Но, как правило, гораздо больше можно получить от других видов деятельности. Например, интегрировать новые источники данных.

Решение этих проблем заключается, конечно, в том, чтобы избавиться от модели булавочной фабрики. Для поощрения обучения и итераций роли специалистов в Data Science должны быть более общими, с широкими обязанностями, не зависящими от конкретных функций. Это означает, что нам нужны «full-stack data scientists» — универсалы, которые могут выполнять разные функции: от концепции до моделирования, от реализации до измерения. Важно отметить, что я не предполагаю, что найм full-stack сотрудников приводит к меньшему количеству людей в целом. Скорее я считаю, что людей надо организовать так, чтобы их стимулы лучше согласовывались с обучением и повышением эффективности.

Наш универсальный сотрудник, возможно, не настолько погружён в одну конкретную функцию, как профессионал этой сферы. Но мы не стремимся к функциональному совершенству или небольшим постепенным улучшениям. Скорее, мы стремимся узнать и открыть для себя все новые бизнес-возможности. С полным контекстом для целостного решения full-stack scientist видит возможности, которые узкий специалист никогда не заметит. У него больше идей и больше возможностей попробовать что-то новое и совершить необходимые ошибки. Да, неудачи постоянно случаются. Однако цена неудачи невелика, а польза от обучения огромна. Эта асимметрия способствует быстрым итерациям и вознаграждает обучение.

Важно отметить, что эта степень автономии и разнообразия навыков, предоставляемых full-stack scientist, в значительной степени зависит от предположения о прочной платформе данных, на которой можно работать. Хорошо построенная платформа данных абстрагирует Data Scientists от сложностей контейнеризации, распределенной обработки, автоматической отработки отказа и других передовых концепций информатики. В дополнение к абстракции, надежная платформа данных может обеспечить беспрепятственный доступ к экспериментальной инфраструктуре, автоматизировать мониторинг и оповещение, обеспечить автоматическое масштабирование и визуализацию выходных данных отладки и алгоритмических результатов. Эти компоненты разработаны и построены инженерами платформы данных, но, чтобы быть ясным, нет передачи от ученого данных к команде платформы данных. Это Data Scientist, который отвечает за весь код, который развернут для работы на платформе.

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

Напротив, универсальные роли обеспечивают всё то, что создает удовлетворённость работой: автономию, мастерство и цель. Автономия в том, что они не зависят от чужого успеха. Мастерство — в чётком и полном понимании возможностей бизнеса. И цель в том, что они имеют прямое влияние на бизнес, которым занимаются. Если нам удастся заставить людей увлечься своей работой и оказать большое влияние на компанию, всё остальное встанет на свои места естественным путем.

перевод: Астафьева Наталья

текст: Why Data Science Teams Need Generalists, Not Specialists

Специализация Data Engineer

Специализация Data Science

Специализация Аналитик Данных

Поделиться: