Нужно Ли Менеджеру Уметь Программировать?

На прошлой неделе начался седьмой набор в Школа Менеджера Яндекса .

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

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

Нужно ли менеджеру уметь программировать?

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

Слова «бэкенд», «макет», «база данных» не должны быть новыми для менеджера.

Чтобы отловить ошибки или увидеть точки роста в продукте, нужно не только постоянно им пользоваться, но и понимать, как он работает. Лучше подойти к разработчикам с формулировкой «макет долго отрисовывается в мобильном интернете» или «в этом сценарии часть данных не загружается», а не говорить «что-то здесь медленно, посмотрите».

Таким образом, менеджер перекладывает генерацию и проверку гипотез о том, что происходит в проблемной зоне, на разработчика, у которого «нога та же, но не болит».

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

Аналогичная ситуация возникает и с умением программировать.

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

Как этот человек воспринимается остальной командой?

  • Здравствуйте, я думаю, что нам нужно создать потрясающую функцию A (B, C, D,.

    ), я хочу проверить, насколько она будет популярна.

    Посчитайте мне, пожалуйста, какова доля таких-то сценариев в использовании нашего продукта?

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

    Проверьте, что происходит?

  • Здравствуйте, вот в моем эксперименте AB метрика статистически значимо меняется, давайте разберемся почему?
  • Здравствуйте, пишу здесь пост о нашей новой реализации, проверьте пожалуйста, правильно ли я описал детали реализации.

  • .

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

И здесь умение программировать может помочь руководителю более эффективно организовать свою работу и работу своей команды.

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

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

Многие программисты не любят переключать контексты, а просьбы менеджера «быстро прикинуть» что-то на основе данных отвлекают и могут надолго «сбить настроение к работе».

Менеджер, который умеет сам «быстро во всем разобраться», будет меньше давить на свою команду, тем самым повышая ее продуктивность.

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

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

Кроме того, умение программировать помогает проверять правильность расчетов, которые приводят аналитики.

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

Даже самые базовые навыки программирования иногда могут очень помочь говорить с разработчиками на одном языке.

Это как минимум добавляет «кармы» менеджеру среди разработчиков, ведь как он может ставить им задачи, если не понимает, что они делают? Если разработчик говорит, что ему нужно неделю на рефакторинг, а менеджер не понимает, зачем это нужно, и кидает его фичами, и тогда у разработчика образуется огромный технический долг, от этого может пострадать весь проект. Это тоже может помочь при планировании, потому что позволяет лучше понять трудоемкость задачи, а если разработчики говорят, что разработка идет три дня, а менеджер понимает, что он сделает за день, то можно и больше.

адекватно оценивать сроки и не бояться оспаривать заявленные варианты развития.

В любой специальности ценятся классные, самодостаточные специалисты.

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



С чего мне начать?

Многие рабочие файлы, скрипты и некоторые данные расположены на серверах с консольным доступом по ssh, поэтому для работы с ними необходимо владеть командной строкой.

Интерфейс командной строки доступен как в Unix-подобных системах (Linux, MacOS), так и в Windows. Если вы раньше не работали с командной строкой, можете начать знакомство с чтения, например, статьи «Основы Linux: введение в Bash» .

Конкретные ссылки я привожу только в качестве примера.

Мне бы хотелось, чтобы вы наконец имели представление о том, как:

  • перемещаться по дереву файлов
  • создавать, копировать и удалять файлы
  • редактировать файлы с помощью Vim или nano
  • используйте ssh и scp для обмена любым файлом с ноутбука на сервер и обратно.

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

Поэтому стоит ознакомиться с командами для работы с текстовыми файлами:

Будет полезно, если в итоге вы получите представление о следующих командах: cat, sort, uniq, wc, head, Tail, awk, sed, grep, join. Очень полезно хорошо знать команду grep с использованием регулярных выражений: Python — более мощный и гибкий инструмент для работы с данными.

Для его освоения подойдет любой онлайн-курс, начать можно с кодовая академия .

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

В заключение хотелось бы уточнить, что умение программировать для менеджера не означает чтение десятков книг по Python или Pro, или тысяч строк коммитированного кода (хотя от такого менеджера, скорее всего, никто не откажется!).

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

И в данном случае «программирование» — это умение понимать структуру данных, критическое отношение к получаемой информации и желание самому докопаться до самых-самых глубин своего продукта.

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

Менеджеру может потребоваться оценить предложенную разработчиками архитектуру проекта, проследить за наличием тестов для всех компонентов и подсказать, что необходимо рефакторить.

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

Честь и хвала таким менеджерам.

Теги: #программирование #Управление разработкой #Управление проектами #Управление продуктом #обучение #Яндекс #регистрация #школа менеджеров #школа менеджеров

Вместе с данным постом часто просматривают: