Об этом рассказал Андрей Белов, руководитель команды подбора персонала Яндекса, на встрече Data&Science. По роду службы он сталкивается с людьми, которые позиционируют себя как аналитики, разработчики, и всё такое. И так оказывается, что если разработчик и аналитик - один и тот же человек, от этого все выигрывают.
Традиционная позиция - data scientist, он же аналитик. Другая позиция - МЛ-инженер. Это тот же самый аналитик, но он ещё умеет писать продакшн-код и хорошо шарит в алгоритмах. Для компании использование таких универсалов даёт рост эффективности - большее число задач можно покрыть с тем же бюджетом (важно для маленьких компаний), и кругозор сотрудников высок, а значит, они более вовлечённые (важно и для крупных тоже).
Если аналитик пытается писать код, но он не профессионал, это может привести к ошибкам, и в итоге к финансовым потерям. Кроме того, это может увеличить число итераций доработки проекта, и замедлить внедрение. Поэтому компании выгодно нанимать универсалов.
А самому специалисту классно становиться универсалом, так как он сам может самостоятельно продумывать логику решения. Ещё он может хорошо понимать условия и ограничения продакшена, а значит, более эффективно пользоваться инструментами, а при необходимости создавать новые. Ну и наконец можно просто развивать сам продакшн настолько далеко, насколько захочет.
Если подразделения аналитики и разработки разные, то обычно разработчики дают аналитикам данные. Если они неполные, запускаются циклы обогащения данных - это может отнимать время. Аналитики, построив модель, передают её разработке для внедрения, но так может столкнуться с ограничениями внутри продашкна, и модель придётся дорабатывать, это тоже отнимает время. В итоге результат может прийти позже и/или с более низким качествам.
Как можно прокачаться в разработке, если вы аналитик? Пойти учиться в ШАД или Курсеру, банально писать больше кода, и участвовать в соревнованиях - например, Яндекс.Алгоритм и ML-блиц.
30 к 70 - соотношение вакансий по data science и ML-инженеров. Но очень часто умение писать код является зоной роста, и Яндексу (и вообще рынку) часто таких людей не хватает. При этом, например, в Управление машинного интеллекта и исследований Яндекса стараются набирать именно таких людей. И продакшн-код, и дата сайнс стоит около 150-200 тысяч. Нанимая универсалов, компания вроде бы экономит. Но универсалы обычно стоят дороже чисто разработчиков.
Q: Как дать людям понять, что разработка, как и аналитика - это тоже секси?
A: Они сами это понимают, когда видят, как работает продукт, который они создавали своими руками - это очень приятно. Например, Яндекс.Переводчик за счёт таких специалистов сделал нейронный перевод, и все были очень довольны.
Q: Классическая схема - узкие специалисты, и над ними стоит тим лид, и вся ответственность на нём. А как распределяется ответственность в командах универсалов?
A: Если команда однородная, в ней тоже есть тим лид и тоже ответственность на нём, но данные и модели меньше гуляют между разными людьми.
Q: Как классному разработчику стать ещё и классным аналитиком?
A: В первую очередь, просто практиковать - на эту тему есть куча курсов и тот же Кэггл.
Другие доклады с того же мероприятия раскрыли смежные темы:
- Как выбрать схему ценообразования ML-проекта? Стоит ли привязывать его стоимость к затратам или результату, или оставить фиксированной?