Менеджеры проектов — это ключевые сотрудники в команде. На их плечах лежит основа успеха компании. 5 лет назад мы изменили подход к мотивации и обучению руководителей проектов. Рассказываю, как отбирал сотрудников, и как сейчас устроена их работа в агентстве.
Как мы работали до 2019 года: все на зарплате
Nineseven.ru специализируется на разработке и поддержке интернет-магазинов для крупных e-commerce проектов. Агентство существует уже 14 лет и за это время пережило немало перемен. Мы открылись в 2010 году, начав работу командой из трех человек и 563 долларами начального капитала, а наш первый офис был всего 5 кв. метров.
Сначала работа агентства была построена хаотично: мы брали заказы на FL.ru, а бухгалтерия велась в записной книжке. В 2012 году начали появляться первые небольшие белорусские заказчики, а с 2013 года пошел ощутимый рост. Мы все еще концентрировались на дизайне, но стали активнее браться за разработку. Однако проблема с финансовым учетом все еще не была решена, а с позиционированием и продажами дела шли плохо.
Постоянного потока клиентов и долгоиграющих проектов у нас не было. Заказчики приходили и уходили. Наша работа была похожа на финансовую пирамиду — минусовые проекты перекрывались оплатами с новых.
В 2018 году меня пригласили поработать в блокчейн-проекте. Я стал руководителем команды разработчиков, отодвинул Nineseven на второй план и плотно работал в проекте два года.
К 2019 году «успешный и автономный» бизнес Nineseven практически испустил дух без моего надзора. На зарплаты не хватало 10 000 долларов. Я собрал команду в офисе и сказал, что практически всем нужно уволиться — сейчас денег нет, но потихоньку будем рассчитываться. Так штат из 15 человек сократился до 4, остались только менеджеры. Офис из кареты на 120 квадратов превратился в тыкву на 32.
После этого настало время реформ. Мы отменили зарплату менеджерам — теперь они получают часть от прибыли, которую генерируют для компании, а дизайнеров, разработчиков и других исполнителей перевели на работу с почасовой оплатой. Я написал софт для финансового учета, где вносится дебиторка, кредиторка, а менеджеры формируют отчеты и могут сами себе посчитать зарплату.
В дизайне я разбирался больше всего, поэтому на старте тащил одеяло в эту сторону. Думал, достаточно просто нарисовать хороший дизайн. Это работало, но приходилось палками выбивать из остальных подрядчиков, чтобы финальная версия сайта выглядела так же, как отрисованный макет.
Раньше была нормальная история, когда приходил клиент и жаловался: «Вот, мне нарисовали дизайн, а после продакшена получилось совсем другое!» — шрифты поплыли, пропорции элементов не те.
Также дизайн — это история про разовые проекты. Заказчику не нужны постоянные доработки и поддержка. Получил результат и ушел. Приходилось постоянно генерировать поток клиентов, чтобы хоть как-то выживать. Анализ проектов показал, что интернет-магазины — самые долгоиграющие проекты, поэтому фокус сместился на разработку и работу с конечным продуктом для клиентов из e-com. Мы сделали упор на наш опыт в e-commerce проекте МТС.
После этих реформ 2019 года мы начали расти и увеличили оборот с 300 000 до 700 000 долларов к 2023 году.
Однако на этом наши изменения не закончились. «Под капотом» работы команды оказалось еще немало проблем.
Проблемы в команде: нет навыка мыслить дальше своей зоны ответственности
Изучая верстку и программирование, я понял, что проблема в первую очередь не в исполнителях, а в том, что каждый дальше своего участка не смотрит — не знает, что происходит на других этапах, потому не понимает, как подготовить свою работу для передачи на следующий этап. Более того, команда не умеет друг с другом коммуницировать.
Дизайнеры не разбирались в технической части верстки. Дизайнер рисует макет с опорой на вводные заказчика и свою узкую специализацию: типографику, теорию цвета, композицию. Но в веб-дизайне также важен инжиниринг всей системы, потому что далее макет идет на верстку.
Многие дизайнеры про верстку знают минимум — могут отличить друг от друга тег <table> от <p>. Большинство слабо представляет, как строятся сетки в CSS и что получится при переводе нарисованного макета в HTML-разметку.
Далее макет попадает в руки верстальщика. Верстальщик пытается сделать из этого веб-страницу. Если в десктопе еще получается сделать, то могут возникнуть сложности с адаптацией для мобильных устройств или с разметкой текста. Например, отступы у заголовков должны быть заданы сквозной системой на весь проект, а дизайнер от страницы к странице рисовал отступы на глаз, потому что это быстрее, чем строить вертикальную сетку и соблюдать ее.
Или например, приходит верстальщик Pixel Perfect. Его задача — сделать так, чтобы верстка совпадала на 100% с нарисованным макетом. Если он сделает все по уму и унифицирует отступы для всех страниц, то к нему придет менеджер и скажет, что они не совпадают с отступами на макете, и верстальщик такой — ну окей, сделаю как у дизайнера. Из-за таких ситуаций верстальщику приходилось делать множество версий заголовка для каждой страницы.
Теперь все это нужно перевести в код. Задача программиста — перевести в код то, что нарисовал дизайнер и подготовил верстальщик. На выходе должен получиться темплейт для системы управления сайтом.
Тут у программиста начинаются проблемы с версткой. Например, у системы «Битрикс» единая структура шаблона, которая состоит из трех частей: header, footer и body.
Грубо говоря, header — это шапка сайта, footer — подвал, ну и body — наполнение посередине. Исходя из этой структуры, у программиста есть требования в разработке, чтобы в дальнейшем упростить поддержку сайта.
К требованиям относится то, что шапка и подвал на всех страницах не должны отличаться по разметке, а верстальщик про это не знает! На своем этапе работы с макетом он может на каждой странице сверстать шапку и подвал по разным структурам. В результате это оказывается большой головной болью для разработчика, которому приходится создавать костыли, чтобы неоптимальную структуру верстки положить на «Битрикс».
Отсутствие коммуникации в команде тормозило работу
Каждый висит в своих задачах и не хочет бегать к программисту и спрашивать: а как надо, как тебе будет удобнее. По сути, они и не должны этим заниматься — у исполнителей есть задачи, и они их выполняют.
Проблему между этапами нужно было решать, потому что она сильно тормозит процесс, тратит время, нервы, деньги и сказывается на конечном результате.
Для решения этого момента я поставил себе три задачи:
- Разобраться, в чем заключается работа каждого этапа и отдела
- Выявить, какие проблемы есть у каждого
- Выработать систему, чтобы свести эти проблемы на минимум
Я разобрался с задачами — изучил, оцифровал данные, сделал чек-листы для отделов, провел парочку воркшопов с дизайнерами, верстальщиками, программистами. Но по итогу внедрил менеджеров проектов — за конечный продукт и коммуникацию стали отвечать именно они.
За что отвечают менеджеры проектов
У руководителя в работе пул из трех-пяти проектов и своя команда верстальщиков и разработчиков. С этой командой он постоянно на связи и поддерживает ее в рамках проектов. Руководитель принимает макет у дизайнера, дает правки, передает верстальщику адекватную версию макета — так на каждом этапе.
Руководитель проекта должен быть технически подкован
У него есть чек-лист, в котором написано, что, допустим, HTML-разметка в тегах head и body до тега h1 не должна отличаться. Как он это проверит? Скорее всего, никак, если у него нет каких-либо технического бэкграунда или понимания, что вообще такое тег, из чего состоит HTML-документ.
Если он не понимает суть требования, а просто пытается механически проходиться по этим чек-листам, то магии не случится — должен быть какой-то контроль качества. Это возможно, если человек понимает, зачем это делается — только так можно на совесть оценить работу на каждом этапе.
Поэтому я решил обучать менеджеров, чтобы они тащили свою команду с пониманием дела. Только так удалось ускорить работу и в целом повысить эффективность команды. Потому что когда менеджер занимается почтальонством а-ля «клиент сказал, что у вас тут блок съехал, я просто вам принес эту новость, разбирайтесь сами» — у разработчиков появляется скепсис, что менеджер у нас просто в качестве мебели присутствует, могли бы и напрямую пообщаться.
Какие «гибкие» навыки нужны менеджеру
Планирование и время. Важно не забывать про встречи, уметь работать с календарем, делать какое-то прогнозирование.
Риск-менеджмент. Разработчики чаще всего переоценивают свои возможности и называют слишком короткие сроки — нужно оценивать сложность задач и закладывать время для страховки. Может оказаться, что работу, которую обещали сделать за 10 часов, сделают за 24.
Стрессоустойчивость. Могут попасться эмоциональные клиенты — все-таки мы работаем в сфере услуг. Если менеджер не сдерживается, далеко он не уедет.
Клиентоориентированность. Я всем менеджерам говорю о том, что зарплату плачу не я, а клиенты. Потому что у нас все менеджеры получают зарплату в виде процента от прибыли.
В чем менеджер должен разбираться по технической части
Разбираться в этапах разработки на уровне джуна. Подробно об этом я расскажу дальше и покажу примеры тестовых заданий. Коротко: нужно понимать, как устроена работа в Figma, «Битрикс», понимать, какие нюансы могут возникнуть на каждом этапе.
Понимать архитектуру проекта. Где хранятся данные, как выглядит структура базы данных, как работает кэш, какие есть периодические задания, что такое crontab, что такое операционная система, что такое SSH, как работает Git, зачем нужны репозитории, хранилища и так далее.
Как мы собеседовали проджектов
Я разработал систему отбора по техническим навыкам. Для найма нужных людей было важно, чтобы каждый попробовал получить ощутимый результат или хотя бы опыт на каждом из этапов, сделав это своими руками.
Собрал базу знаний для кандидатов. Документы и курсы, откуда можно почерпнуть знания о процессе и выполнить практическое задание.
Продумал задания. Они не должны быть сверхсложными, но достаточно углубленными, чтобы человек понял суть этапа, с какими инструментариями работают спецы, с какими нюансами и тонкостями имеют дело.
Определил, как буду оценивать работу. Я не требовал, чтобы менеджер отрисовал полноценный макет, но он должен знать, как выглядит Figma, где эти макеты рисуют. Как в ней можно управлять макетом, как работает система слоев, компонентов и так далее.
Примеры тестовых заданий для каждого этапа собеседования
Первое задание: построить схему макета в Figma. Можно было выбрать произвольную тематику: сделать себе визитку, схематично отразить рандомный сайт.
Второе задание: сверстать макет. У меня уже был удобный с точки зрения верстки дизайн-макет: условно, слайдер на всю длину, немного текста, внизу текст в два ряда, табличка. Задача была — собрать на HTML структуру, сделать CSS-верстку и макет, но без использования JavaScript, потому что это другой уровень сложности.
Третье задание: перевести макет в код на «Битрикс». В качестве вводных у меня был простенький шаблон текстового сайта. Нужно было сделать несколько страниц на системе управления «Битрикс»: создать темплейт, сделать нарезку header и footer, и в body подключить несколько простеньких компонентов, вроде news.list, news.detail, настроить пагинацию и несколько менюшек.
Допустим, вывести страницу списка новостей, деталей и передать мне ссылку, чтобы я ее просто проверил. Для тестового также рекомендовалось пройти курс Content Manager Bitrix: изучить возможности админки, как она выглядит, немного изучить программную часть.
Финальный этап: собеседование. По итогу всех тестовых хотелось увидеть, что у человека появилось понимание, в чем заключается хотя бы практическая часть работы, и какой результат дает каждый спец.
Как мы обучаем менеджеров в процессе работы
Сейчас у меня базовым требованием для проджектов является умение работать в серверной консоли по протоколу SSH: знать команды, уметь в Linux зайти в какую-то директорию, отредактировать файл, перезагрузить веб-сервер и так далее.
К этому можно добавить еще историю работы с табличками в базе данных, знания простейших команд — SELECT, INSERT, DELETE, чтобы он мог построить какой-то запрос, посмотреть данные.
Поэтому мы периодически собираемся пару часов на тематических воркшопах. Это может быть разбор работы с SQL, работа по SSH или Docker. По SQL, я рассказываю вводную часть, потом мы заходим в интерфейс баз данных, объясняю, что такое джойны, как делать селекты. Пробуем создать таблички и добавить в них что-то или удалить. Далее смотрим, как выглядит хранение данных в базе данных CMS Bitrix. За пару часов специалистом по базам данных не станешь, но появляется какая-то база и понимание как это устроено.
После воркшопов менеджеры могут консультировать клиентов и решать мелкие задачи руками. Например, когда приходит клиент и сообщает о поломке, менеджер понимает под капотом, как это должно работать. Он может открыть консольку, посмотреть коды ошибок, понять — проблема на фронте или на бэке, сразу сформулировать проблему, поставить задачу на нужного специалиста и договориться с тимлидом, чтобы он присмотрел.
Важная оговорка
На проектах, где используются фреймворки, какая-то кастомщина, у нас есть тимлиды, которые решают архитектурные вопросы.
Как мы организуем работу менеджеров
Ребята работают внутри своих команд, с проекта на проект не прыгают. Когда недостаточно нагрузки, допустим, у дизайнера, то он берет в работу задачи других команд. Программисты же чаще у каждой команды постоянные, проекты плюс-минус тоже.
У нас полностью открытая система по деньгообороту: команда знает, сколько стоит каждый программист и сколько нам платит клиент. Поэтому сотрудники ежемесячно считают себе зарплату, подают мне счет, я его валидирую и выплачиваю.
Проджекты могут инициировать дополнительные продажи. Могут что-то клиенту предложить, или, если не хватает рук, начать поиск еще одного разработчика в команду.
То есть они могут просто мне сказать: «Слушай, я там двух разработчиков на проект поставил. Бюджеты с клиентом согласовал, баланс посчитал, в план по дебиторке поставил. Мы в плюсе».
Зарплаты и профессиональный рост менеджеров
У нас очень хорошие зарплаты по рынку. Был проджект, который заходил в компанию стажером и получал 300-400 долларов. Сейчас он получает в 5 раз больше.
С профессиональным ростом сложнее. Ребята как нажратые коты уже засели на постоянных проектах, которым с нами комфортно. Как с этим бороться и нужно ли — я не знаю. Тут единственная опасность, если комфортный стек клиентов в какой-то момент отваливается, менеджеру будет больно, так как придется включаться в новые проекты с нуля.
При этом свои навыки они прокачивают. Проекты и клиенты разношерстные — каждому нужно свой опыт, под каждого нужно подстраиваться, все время появляется новое и непонятное.
Как к нам попали ребята, которые работают до сих пор
Основная команда менеджеров состоит из 5 человек, Паша и Юра с нами дольше всех. Паша пришел в ноябре 2016 года, а Юра на месяц раньше.
Юра учился в БГУ на радиофизике и компьютерных технологиях. Во время универа работал на стройке: держал обои, красил стены и получал по 30 долларов в день. Учебу решил бросить в пользу этих невероятно шальных денег и стал работать «официальным» подсобником. После двух кризисов строительных работ, когда вся бригада сидела и не делала приблизительно ничего, прислушался к знакомым, которые говорили бросать, и ушел со стройки. У нас тогда работала его бывшая одногруппница. Она предложила Юре попробовать пойти на вакансию менеджера и дала рекомендации по подготовке. Он прошел самый базовый курс по HTML, почитал про разработку сайтов. В Nineseven у Юры было первое и единственное собеседование в жизни.
Паша закончил военную академию, какое-то время поработал и ушел со службы. После армии пошел в классийский офлайн-бизнес — грузоперевозки, но надолго там задерживаться не стал. Жена Паши работала в IT, у него вроде всегда душа лежала к этому. Посмотрел какие-то курсы по программированию — не понравилось. Решил пойти на курсы для менеджеров. Прошел два курса и начал искать работу — натолкнулся на вакансию продажника в Nineseven, прошел собеседование и устроился на испытательный срок.
Текучка кадров
Про выживаемость набранных менеджеров сложно сказать. Изначально набрали 5-6 менеджеров, из них кроме Паши и Юры никого сейчас не осталось, уходили по разным причинам.
Один человек уволился и пошел работать дальнобойщиком. Почему? Кто его знает. Другой играл в покер, выиграл что-то в районе 150 000 долларов, открыл свой бар и сейчас им управляет. Девчонка была бывшая программистка, поработала у нас какое-то время и сказала «не, ну его» и ушла.
Наверное, меня этот вопрос еще ждет впереди, если будут новые проекты. Но, скорее всего, мы будем медленно расти в плане менеджеров. У нас 2-3 сделки в год — это как бы хорошо, а менеджер может вести, условно, по пять проектов.
Мы сейчас загружены, и мне чтобы еще одного менеджера взять штат, надо еще 2 года набирать проекты.
Плоды реформ: увеличили оборот в 2,5 раза за 4 года
Nineseven.ru начала активно расти с 2019 года. Мы увеличили оборот с 312 296 долларов в 2020 году и команды из 10 человек до 723 477 долларов и штата из 30 человек в 2023 году. Сейчас в команде 33 человека, и в основном это технические специалисты.
Краткая выжимка наших изменений:
- Сменили фокус с дизайна на разработку и создание конечного продукта
- Сосредоточились на e-commerce проектах
- Создали софт для финансового учета
- Отменили зарплаты менеджерам и перевели их на процент с прибыли агентства по проектам, которые они ведут
- Перевели исполнителей на почасовую оплату
- Сформировали четкие критерии отбора менеджеров и организовали поэтапное собеседование с обучением и тестовыми заданиями
- Начали обучать менеджеров основам дизайна, верстки и программирования.
Как вы строите коммуникацию в команде и обучаете менеджеров проектов?
А какой был процент выживаемости в ходе собеседования и тестового? Заданий много и они явно требуют глубокого погружения и мотивации устроиться. Нередко даже простое оплачиваемое тестовое делать не хотят и пропадают.
Спасибо, что поделились, очень вдохновляющая история👍