Учи.ру

Автоматизируем процесс performance-review в EdTech проекте Учи.ру

Учи.ру — образовательная онлайн-платформа для детей и школьников. В этой EdTech компании работают более 700 человек разных специальностей: не только педагоги и методисты, но и иллюстраторы, разработчики, дизайнеры, редакторы, тестировщики, продакт-менеджеры. Все они помогают Учи.ру работать бесперебойно.

Мотивировать, обучать и контролировать такую большую команду непросто: за процессы управления персоналом отвечает HR-департамент. Они нанимают сотрудников, отвечают за их адаптацию, обучение и развитие. И делать это в ручном режиме легко, пока людей в компании мало.

Например, чтобы собрать опрос, довольны ли 30 сотрудников небольшой компании своей работой, нужна пара дней. Разослать на почту гугл форму, собрать результаты. Если кто-то забудет, можно сходить ногами и напомнить о себе. Все данные загнать в Excel и получить красивые графики для отчёта.

А вот вручную обработать результаты 400–500 сотрудников будет очень тяжело и долго. Поэтому динамично растущие компании стараются автоматизировать и оцифровать некоторые свои процессы, так как, например, вручную обработать ответы более 1000 человек будет буквально невозможно.

С этой задачей к нам и обратился HR-департамент Учи.ру

Задача — оцифровать и автоматизировать сбор обратной связи от сотрудников

Одна из задач компании — довольные, замотивированные сотрудники. Компания хочет, чтобы сотрудники были удовлетворены местом и характером работы, а значит и эффективны, а сотрудники хотят заниматься любимым делом, развиваться и иметь справедливую компенсацию.

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

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

Мы уже работали с командой Учи.ру над другими проектами, поэтому они попросили нас собрать команду проекта целиком и дали конкретные технические требования по стеку: Ruby on Rails, React. Это классический стек Учи.ру, поэтому поддерживать проект собственными силами после запуска будет проще. Кроме требуемых технологий команда разработки должна была помочь спланировать выход продукта и помочь определить фиче-лист, чтобы успеть к дедлайну.

Первая версия решения — полноценный сервис по performance review за 2 месяца

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

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

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

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

На бэкенде использовали консервативный набор технологий: Ruby on Rails, PostreSQL, Sidekick, Redis. На фронтенде — React-SPA, Redux для стейт-менеджмента. С этим надёжным и привычным стеком команда Учи.ру сможет поддерживать сервис без нашего участия после завершения работ при необходимости.

Оцифровываем организационную структуру компании

Один из вызовов проекта — интеграция с организационной структурой компании.

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

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

Логика работы сервиса реализована наподобие системы контроля версий GIT. Вне зависимости от статуса работника (работает, в декрете, уволен и т. п.) мы в конкретный период времени понимаем связи сотрудника с другими коллегами и можем проверить — правильно ли ему были высланы формы для опросов, не сломало ли это аналитику.

Гибкая архитектура для экономии ресурсов

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

Обычно оно существует и на фронтенде, и на бэкенде. Администратор хочет удалить пользователя? Фронтенд-приложение проверяет, есть ли у роли «администратор» доступ к кнопке и рисует её. Бэкенд проверяет, есть ли у роли «администратор» право удалять пользователей и совершает нужную операцию.

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

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

Шаблонные нотификации

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

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

Все уведомления создаются на основе разметки Markdown. Всего их 21, каждый вид можно быстро редактировать. Также можно создавать новые типы уведомлений с 50 видами вставок формата «ИМЯ», «ФАМИЛИЯ», «ДОЛЖНОСТЬ», включая вставки смежных данных, вроде ссылок на профили и руководителей.

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

Результат

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

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

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

Мы всегда открыто говорим нашим клиентам о рисках такого подхода — проблемах поддержки и развития в будущем. Поэтому мы рады сложившейся с командой Учи.ру коммуникации и высокой степени доверия нашим решениям.

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

За время сотрудничества мы совершили серьезный шаг в развитии проекта благодаря высокому уровню взаимопонимания с командой разработки и их умению решать поставленные задачи.
Илья Паршин
Руководитель образовательной платформы Учи.ру
Связаться с нами
Нужна команда?
Давайте обсудим ваш проект
Прикрепить файл
Максимальный размер файла: 8 МБ.
Допустимые типы файлов: jpg jpeg png txt rtf pdf doc docx ppt pptx.