Журнал / польза

Кто такой технический менеджер в Яндексе и как им стать

Не всегда навыков проджект-менеджера достаточно, чтобы вести проект. Иногда для этого требуются технические знания. Тогда за работу берётся технический менеджер — специалист, который владеет навыками и разработки, и управления проектами. Что это за профессия, разбираемся вместе с Данилой Панфиловым, техническим менеджером сервиса краудсорсинга в Яндексе

Кто такой технический менеджер

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

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

Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе

Какие задачи выполняет

Вот какие задачи решает технический менеджер в сервисе Яндекса Crowd *:

— декомпозиция проекта — когда сложный проект разбивается на простые подзадачи;

— постановка задач исполнителям — понимание, какими знаниями и умениями должны обладать люди, чтобы выполнить эти подзадачи, и где их найти;

— техническая реализация проекта — как данные будут собираться из источника, обрабатываться и возвращаться в виде результата.

* Crowd — это внутренний сервис краудсорсинга, который помогает продуктам Яндекса решать бизнес-задачи.

Представим, что в Яндекс обратился заказчик с задачей: сделать светофоры, которые автоматически включают зелёный свет пешеходам, когда к дороге подошло больше 10 человек.

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

Чтобы обучить алгоритмы, нужно:

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

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

Этот процесс у нас называется краудсорсингом. Им в том числе занимается технический менеджер.

Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе

Какие инструменты использует

Для решения своих задач технические менеджеры в Crowd используют три инструмента:

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

2. Янг. Аналог Толоки, в котором работают не сторонние пользователи, а внутренние исполнители Яндекса. К ним обращаются, если нужно выполнить какие-то сложные проекты, требующие специальных знаний.

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

Например: 

Шаг 1. Забрать данные из хранилища.

Шаг 2. Преобразовать их.

Шаг 3. Передать исполнителям в виде задач.

Шаг 4. Собрать результаты работы исполнителей и передать заказчику.

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

Какие знания и навыки нужны, чтобы стать техническим менеджером

Написание кода. Для этого не обязательно быть разработчиком с опытом. Главное — владеть одним из популярных языков общего назначения, например Python, Java, C++, C#.

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

Умение выстраивать процессы. Способность раскладывать сложные процессы на простые. Понимание, какие вводные для этого понадобятся.

Например, есть сервис Яндекс Карты. Мы запускаем его в новом городе и хотим собрать адреса всех домов и организаций, чтобы отобразить их на карте.

На собеседовании спрашиваем у кандидата: «Как вы это сделаете?» И дальше начинаем вместе раскручивать: какие данные нужно собрать, как их проверять.

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

Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе

Знание основ проектного менеджмента. Желательно понимать принципы управления проектами: как определять цели проекта, подбирать состав команды, составлять план реализации.

Хорошо бы иметь понимание направления, в которое вы идёте работать. Например, если технический менеджер требуется в команду тестирования, знать, как тестирование устроено, в команду найма — про наём персонала.

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

Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе