В Авито горизонтальная структура. Вся наша разработка разбита на множество кросс-функциональных команд (юнитов), в каждой из которых есть представители разных функций — инженеры, специалисты по качеству, продуктовые менеджеры, аналитики, дизайнеры. Руководит разработкой CTO и команда, которую мы называем TMG (Tech Managers Group), в которую входят руководители всех кластеров.
Кластеры - это объединения юнитов, которые решают похожие задачи. Кластеры и входящие в них юниты делятся на платформенные, они занимаются разработкой платформы на базе которой можно строить новую продуктовую функциональность (например, кластеры Архитектуры и Инфраструктуры) и продуктовые, которые пилят непосредственно продуктовые фичи (например, Buyer experience и Seller Experience, которые отвечают за опыт покупателей и продавцов соответственно).
Состав команды в основном определяется ее направлением деятельности. Чаще всего они формируются вокруг реализации какой-то потребности пользователя, либо вокруг определенной части сервиса. Пара примеров.
-
Коллеги из юнита Messenger, как можно догадаться из названия, разрабатывают всё, что связано с нашим мессенджером. Мессенджер есть и в десктопной версии Авито и в приложениях, поэтому в команде юнита есть бекенд-, фронтенд- и мобильные разработчики. Для того, чтобы мессенджер был удобным и работал безотказно, в команде есть выделенные дизайнер и QA.
- Unit-Leader
- Server-Side Developer
- Client-Side Developer
- iOS Developer
- Android developer
- Designer
- QA
- Unit-Leader
-
Юнит TechPR организует митапы, помогает докладчикам готовить доклады, публикует статьи на Хабре, Медиуме и материалы в социальных сетях. В нём у нас работает всего 6 человек:
- Unit-Leader (Developer Relations manager);
- менеджер внешних мероприятий;
- менеджер внутренних сообществ и мероприятий;
- менеджер контентных проектов;
- старший создатель контента и креатива;
- ассистент команды.
- Unit-Leader (Developer Relations manager);
И таких команд у нас несколько десятков. Мы стараемся обеспечить максимально независимую работу всех команд. Структура компании позволяет нам быть быстрыми и гибкими. Каждая из команд сфокусирована на своих целях, они способны за короткие промежутки времени выпускать полноценные фичи, не отвлекаясь на второстепенные детали.
Сотрудники могут переходить из одного юнита в другой. Алгоритмизировать этот процесс невозможно. Иногда возникают проблемы, которые можно решить, иногда смена юнита обоснована какими-то объективными причинами. Каждый случай мы разбираем отдельно.
Unit-Leader отвечает за следующие направления работы:
Понимает стратегию компании и роль своего юнита в ней, разрабатывает долгосрочную стратегию юнита, организует её выполнение и отслеживает ключевые метрики юнита.
На тактическом уровне, формирует OKR и отслеживает их достижение, подбирает людей в команду, координирует её работу и управляет ресурсами.
Выстраивает коммуникацию внутри команды и с другими юнитами. Представляет и отстаивает интересы юнита в компании: делится текущими проектами, планами, успехами, неудачами своей команды с другими юнитами и взаимодействует с ключевыми стейкхолдерами компании.
Действует как тренер и наставник, а не диктатор. Unit-Leader собственным примером вдохновляет и мотивирует команду. Обеспечивает ее необходимыми ресурсами, формирует комфортную среду для продуктивной работы: предотвращает конфликты, способствует уважительному отношению между участниками команды. Распределяет ресурсы, чтобы каждый чувствовал свой вклад и пользу в развитии проекта, и помогает решить проблемы, если работник юнита зашел в тупик при их решении. Способствует развитию всех членов команды: подскажет, каких знаний и навыков не хватает, предлагает направления, в которых члену команды нужно стать лучше, как ему расти в компании.