Кто такой технический менеджер в Яндексе и как им стать
Кто такой технический менеджер
Технический менеджер — это менеджер с опытом в разработке. Набор необходимых знаний и обязанностей может различаться от компании к компании, а иногда — от отдела к отделу.
В отличие от менеджера продукта, технический менеджер больше занимается автоматизацией и разработкой, а не коммуникацией с бизнесом и подрядчиками. Но его нельзя назвать разработчиком. Технический менеджер не пишет код с нуля, только делает небольшие вставки. Для этого у нас есть готовые блоки кода, которые реализуют определённые функции: например, забрать файл из хранилища. В редких случаях, когда этих блоков не хватает, приходится писать самому.
Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе
Какие задачи выполняет
Вот какие задачи решает технический менеджер в сервисе Яндекса Crowd *:
— декомпозиция проекта — когда сложный проект разбивается на простые подзадачи;
— постановка задач исполнителям — понимание, какими знаниями и умениями должны обладать люди, чтобы выполнить эти подзадачи, и где их найти;
— техническая реализация проекта — как данные будут собираться из источника, обрабатываться и возвращаться в виде результата.
* Crowd — это внутренний сервис краудсорсинга, который помогает продуктам Яндекса решать бизнес-задачи.
Представим, что в Яндекс обратился заказчик с задачей: сделать светофоры, которые автоматически включают зелёный свет пешеходам, когда к дороге подошло больше 10 человек.
Прежде чем подступиться к этой задаче, нужно собрать данные. Например, понадобится много фотографий, на которых будет разное количество людей перед светофорами в разное время года, в разных погодных условиях, с разным освещением. Это научит алгоритмы различать ситуации, когда собралось больше 10 человек, абстрагируясь от других условий на картинке.
Чтобы обучить алгоритмы, нужно:
— собрать фотографии, где есть люди и пешеходный переход;
— отсеять фотографии, которые не имеют отношения к светофорам;
— определить, есть ли люди на фотографиях;
— обвести области, по которым модель будет определять людей, например их лица;
— проверить, что люди обведены корректно;
— выделить фотографии, где больше 10 человек.Так мы декомпозировали проект на шесть подзадач. Их можно раздать исполнителям. Теперь специалисту по машинному обучению не нужно самому сидеть и размечать миллион изображений.
Этот процесс у нас называется краудсорсингом. Им в том числе занимается технический менеджер.
Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе
Какие инструменты использует
Для решения своих задач технические менеджеры в Crowd используют три инструмента:
1. Толока — платформа для исполнителей. Любой пользователь может зарегистрироваться там и выполнять различные задания. Например, разметить что-то на изображении, перевести фразу, дойти до места на карте и проверить, что там действительно существует организация. Технические менеджеры могут загружать на эту платформу свои задачи.
2. Янг. Аналог Толоки, в котором работают не сторонние пользователи, а внутренние исполнители Яндекса. К ним обращаются, если нужно выполнить какие-то сложные проекты, требующие специальных знаний.
3. Нирвана. Платформа, которая позволяет оформлять бизнес-логику проекта в виде визуальной блок-схемы.
Например:
Шаг 1. Забрать данные из хранилища.
Шаг 2. Преобразовать их.
Шаг 3. Передать исполнителям в виде задач.
Шаг 4. Собрать результаты работы исполнителей и передать заказчику.
Внутри каждого блока можно написать код, чтобы описать то, как выполнять шаг. Реализовывать эти блок-схемы — основная работа технического менеджера.
Какие знания и навыки нужны, чтобы стать техническим менеджером
Написание кода. Для этого не обязательно быть разработчиком с опытом. Главное — владеть одним из популярных языков общего назначения, например Python, Java, C++, C#.
Навык работы с базами данных. Понимание, как представить и разложить сущности в базе и написать SQL-запрос, чтобы быстро извлечь нужные данные.
Умение выстраивать процессы. Способность раскладывать сложные процессы на простые. Понимание, какие вводные для этого понадобятся.
Например, есть сервис Яндекс Карты. Мы запускаем его в новом городе и хотим собрать адреса всех домов и организаций, чтобы отобразить их на карте.
На собеседовании спрашиваем у кандидата: «Как вы это сделаете?» И дальше начинаем вместе раскручивать: какие данные нужно собрать, как их проверять.
Смотрим, как кандидат декомпозировал бы этот проект для краудсорсинга. Важно, чтобы были простые задачи, которые исполнитель может сделать за раз. Затем говорим о технической реализации — где будем хранить данные, как их обрабатывать и так далее.
Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе
Знание основ проектного менеджмента. Желательно понимать принципы управления проектами: как определять цели проекта, подбирать состав команды, составлять план реализации.
Хорошо бы иметь понимание направления, в которое вы идёте работать. Например, если технический менеджер требуется в команду тестирования, знать, как тестирование устроено, в команду найма — про наём персонала.
Это не обязательное знание, а дополнительный плюс. Основной «жёсткий» навык, без которого не стать техническим менеджером, — умение писать код.
Данила Панфилов, технический менеджер сервиса краудсорсинга в Яндексе