Кадровое агентство по подбору персонала

Разработчик за работой с WMS — кейс UPMARKET

Кейс UPMARKET: подбор шести IT-специалистов для фулфилмента до сезона

Клиент: UPMARKET — фулфилмент полного цикла для селлеров Ozon, Wildberries и Яндекс Маркета: склад 5 700 м² в Подольске, до 50 000 упаковок в день, собственная WMS, личный кабинет UPMARKET online и франшиза с доступом к своему софту.

Услуга: подбор IT-специалистов

Срок сотрудничества: 4 месяца, с мая по август, разовый проект с жёстким дедлайном

Позиции: PHP-программист, Frontend-разработчик, разработчик мобильных приложений, Python-программист

Результат: к 1 сентября закрыли 6 мест из 6, и все новые сотрудники вошли в работу за 3-10 недель до начала осеннего пика.

Софт, который вырос вместе со складом

UPMARKET начинался в 2017 году как склад собственного интернет-магазина, а с 2020 года обслуживает других селлеров. В 2023 году число отгрузок выросло в шесть раз, компания получила премию «Фулфилмент года» MPSELLERS, а в 2024 году отгрузила больше 10 млн товаров. Под управлением почти 2 млн SKU, среди клиентов известные бренды вроде MIXIT и Septivit.

Всё это время склад работал на собственном софте: WMS, личный кабинет UPMARKET online для селлеров, Telegram-бот, интеграции с маркетплейсами. Софт писался в режиме роста, быстро и под текущие задачи. Теперь он стал продуктом в прямом смысле: франшиза UPMARKET продаётся вместе с доступом к этим ИТ-наработкам, а значит, код должен работать не только на складе в Подольске, но и на складах партнёров. Небольшая группа разработчиков, которая всё это создала, перестала успевать.

Руководство решило собрать полноценную in-house команду: PHP-программистов на ядро WMS, Frontend-разработчика на личный кабинет селлера, разработчика мобильных приложений на приложение для терминалов сбора данных (ТСД) и Python-программистов на интеграции с API маркетплейсов. И сразу поставило условие, которое определило весь проект: команда должна быть набрана и введена в работу до осени.

Центральная идея проекта: в фулфилменте ИТ-найм живёт по складскому календарю: людей надо нанять и ввести в работу до осеннего пика, потому что в сезон менять код WMS и учить новичков некогда.

Как мы устроили работу

Мы начали не с вакансий, а с обратного плана. Осенний пик начинается в сентябре, а с октября до новогодних праздников релизы в WMS сведены к минимуму. Новому разработчику нужно 3-6 недель, чтобы разобраться в коде склада. Значит, ключевые люди должны выйти на работу не позже двадцатых чисел июля, остальные до конца августа.

Отсюда приоритеты. Первая волна: PHP-программисты и Python-программисты, потому что ядро WMS и интеграции с маркетплейсами это то, без чего склад останавливается. Вторая волна: Frontend-разработчик и разработчик мобильных приложений, их задачи важны, но могут стартовать позже.

Формат: удалённая работа с первой неделей на складе в Подольске. Это условие мы вписали в оффер: каждый новый разработчик проводит несколько смен рядом с приёмкой, сборкой и отгрузкой, чтобы видеть, как его код используют живые люди. Каналы: hh.ru, Хабр Карьера, прямой поиск по разработчикам из e-commerce, логистики и WMS-интеграторов, telegram-чаты разработчиков под маркетплейсы.

Сложности и решения

1. Дедлайн вместо открытой вакансии. Обычная вакансия может висеть, пока не найдётся идеальный кандидат. Здесь каждую неделю задержки у нового человека становилось на неделю меньше до пика. Мы договорились с руководителем ИТ-направления о еженедельном срезе: сколько кандидатов на каждом этапе, кто выйдет к какой дате, где отставание. Когда второй PHP-программист в начале июля срывался, мы не стали ждать идеального профиля и вместе с клиентом пересмотрели требования: опыт работы с WMS перестал быть обязательным, а сильный PHP и опыт высоконагруженного e-commerce остались в требованиях.

2. Код, написанный в режиме роста. WMS создавалась быстро, и кандидатам честно говорили: здесь есть legacy, его нужно не переписывать с нуля, а улучшать по шагам, не останавливая склад. Вместо классического тестового мы дали PHP-программистам код-ревью: обезличенный фрагмент реального модуля резервирования остатков. Нужно было найти проблемы и предложить, в каком порядке их исправлять. По ревью сразу видно, кто мыслит «всё снести», а кто думает о том, что этот код прямо сейчас обрабатывает тысячи заказов.

3. Приложение для ТСД. Разработчик приложения для терминалов сбора данных это редкий профиль: Android на промышленных устройствах, работа со встроенными сканерами, офлайн-режим в глубине стеллажей, где пропадает Wi-Fi. Готовых кандидатов с таким опытом на рынке единицы. При подборе разработчика мобильных приложений мы расширили поиск на Android-разработчиков из курьерских, складских и розничных приложений и в скрининг добавили вопрос: «сканирование прошло, а ответ сервера не пришёл; что увидит кладовщик и что произойдёт с остатком». Позиция закрылась последней, за 3 недели до сентября, и это был осознанный компромисс по срокам ради точного попадания.

4. Интеграции с маркетплейсами, которые всё время меняются. API Ozon, Wildberries и Яндекс Маркета меняются регулярно, у них лимиты запросов, разные модели поставок FBO и FBS, плюс маркировка «Честный знак». На вакансию Python-программиста откликалось много фрилансеров, которые делали парсеры и боты для селлеров. Для склада этого мало. Мы спрашивали, как кандидат обработает ситуацию, когда маркетплейс принял поставку частично, а в WMS она числится целиком, и как устроит повторные запросы при превышении лимитов. Дальше проходили те, кто думал о сверке и логах, а не только о получении данных.

5. Личный кабинет с большими данными. Селлер в личном кабинете смотрит остатки, поставки, движение товаров и счета, и у крупного клиента это десятки тысяч строк. При подборе Frontend-разработчика выяснилось, что кандидаты с опытом лендингов и витрин на таких объёмах теряются. В тестовом задании давали таблицу остатков на 50 000 строк с фильтрами и выгрузкой и смотрели, как кандидат решит производительность. До финала дошли те, кто уже делал админки и аналитические интерфейсы.

6. Код, который поедет к франчайзи. Софт, работающий на одном складе, и софт, который ставится партнёрам, требуют разного мышления: настройки под каждый склад, разделение данных, роли, обновления без участия разработчика на месте. На финальных интервью с руководителем ИТ-направления обсуждали именно это. Кандидаты с опытом B2B-продуктов для нескольких клиентов получали заметное преимущество.

Управляющий партнёр A2

Час с HR-директором бесплатно

Продуктивный разговор о найме с HR-директором A2. Только для компаний от 20 сотрудников

Аналитика по воронке

Сводная воронка по позициям, май-август

Позиция Кандидатов Скрининг Тестовое или код-ревью Техническое интервью Оффер Вышли
PHP-программист 187 42 17 8 3 2
Frontend-разработчик 163 36 14 5 1 1
Разработчик мобильных приложений 97 19 7 4 1 1
Python-программист 158 37 15 7 2 2
Итого 605 134 53 24 7 6

Разработчик мобильных приложений (ТСД), конверсии

Этап Количество Конверсия
Отклики и активный поиск 97 —
Прошли скрининг (вкл. вопрос про офлайн-режим) 19 19,6%
Тестовое задание 7 36,8%
Техническое интервью 4 57,1%
Оффер 1 25,0%
Вышел на работу 1 100,0%

Выход на работу относительно пика

Позиция Сотрудник Дата выхода Запас до 1 сентября
PHP-программист первый 23 июня 10 недель
Python-программист первый 30 июня 9 недель
PHP-программист второй 14 июля 7 недель
Python-программист второй 21 июля 6 недель
Frontend-разработчик первый 28 июля 5 недель
Разработчик мобильных приложений первый 11 августа 3 недели

Источники кандидатов

Позиция Основные каналы
PHP-программист hh.ru (~50%), прямой поиск по e-commerce (~35%), Хабр Карьера (~15%)
Python-программист hh.ru (~45%), telegram-чаты разработчиков под маркетплейсы (~30%), прямой поиск (~25%)
Frontend-разработчик hh.ru (~60%), Хабр Карьера (~25%), рекомендации (~15%)
Разработчик мобильных приложений прямой поиск (~50%), hh.ru (~35%), telegram-чаты Android-разработчиков (~15%)

Таблица выходов показывает, что обратный план сработал: первая волна, PHP и Python, вышла с запасом в 6-10 недель и успела освоить WMS до сезона. Самая узкая воронка у разработчика мобильных приложений: из 97 кандидатов скрининг прошли 19, а единственный оффер получил человек из курьерского приложения, который уже работал с офлайн-очередью. У PHP-программиста на код-ревью отсеялось больше половины: 17 человек получили фрагмент модуля, на техническое интервью вышли 8. У Python-программистов прямой поиск и профильные чаты дали больше половины кандидатов, потому что на hh.ru преобладали фрилансеры с опытом парсеров, а не складских интеграций.

Что в итоге

К 1 сентября UPMARKET получил ИТ-команду из шести человек: двух PHP-программистов, двух Python-программистов, Frontend-разработчика и разработчика мобильных приложений для ТСД. Все прошли свою неделю на складе и вошли в работу до начала пика. Осенний сезон склад прошёл без остановок по вине софта, а команда параллельно готовила версию WMS и личного кабинета для франчайзи.

Главный вывод: если бизнес сезонный, найм ИТ-команды нужно планировать от даты пика назад, а не от даты открытия вакансий. Срок выхода человека важнее, чем ещё две недели поиска идеального кандидата, и требования стоит заранее разделить на обязательные и те, которые можно ослабить, если план отстаёт.

И второе. Разработчик, который неделю постоял рядом с упаковщиками и кладовщиками, пишет другой код. Это дешёвая мера, которую стоит заложить прямо в оффер.

Если у вас склад, фулфилмент или другой сезонный бизнес со своим софтом, напишите нам. Подбор IT-специалистов спланируем от вашего календаря пиков.

Новые кейсы
HR-специалисты обсуждают кандидатов на планшете

HR отдел
на аутсорсе

Десятки кандидатов по 5-ти должностям одновременно без ограничений

Наши исследования

Исследование:Изменения рынка труда менеджеров по продажам(Россия, Москва и область, 2020–2025)
Как рассчитать KPI для сотрудников: формулы, примеры расчета, методы измерения и оценки показателей
Ниже представлен структурированный список основных HR-метрик, которые рекомендуется отслеживать HR-м
Логотип кадрового агентства А2

Получить консультацию

Услуги

Обучение

Не нашли нужную услугу?

Свяжитесь с нами – подберем решение под ваши задачи

+7 950 908 84 24

Скидка 50% 
на первый месяц

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

Быстрый старт
в течение 1-3 дней
Эксперты

в найме digital и IT

Прозрачный

и понятный процесс