Кейс «Байкал Сервис»: подбор семи IT-специалистов за 5 месяцев
Клиент: Байкал Сервис — федеральная транспортная компания: больше 30 лет на рынке, больше 4 000 сотрудников, перевозка сборных грузов по России и странам СНГ, доставка в маркетплейсы и торговые сети, своё мобильное приложение, личный кабинет и открытый REST API для интеграций.
Услуга: подбор IT-специалистов
Срок сотрудничества: 5 месяцев
Позиции: разработчик мобильных приложений, Backend-разработчик, Python-программист, тестировщик
Результат: закрыли 7 мест по четырём позициям, а срок от технического интервью до оффера сократили с 19 до 9 дней.
Когда твой API встроен в чужие магазины
Байкал Сервис давно не просто возит грузы. У компании есть мобильное приложение (с 2020 года), личный кабинет, отслеживание отправок с фотофиксацией, электронные транспортные документы, REST API для оформления заявок и расчёта стоимости, виджеты и модули для CMS интернет-магазинов. Объём отправок в маркетплейсы в 2022 и 2023 годах вырастал больше чем вдвое, а в 2026 году компания запустила совместную с Авито доставку крупногабаритных товаров. Каждое такое направление означает новые интеграции, новые статусы и новые требования к приложению.
ИТ-команде нужно было усиление сразу по четырём направлениям: разработчики мобильных приложений для клиентского приложения, Backend-разработчики для API и сервисов интеграций, Python-программист для обработки данных по отправкам и тестировщики, которые проверяют всё это вместе.
Особенность, которая определила весь проект: код Байкал Сервиса вызывают чужие системы. Калькулятор стоимости встроен в сайты интернет-магазинов, заявки создаются из учётных систем клиентов, статусы уходят партнёрам. Неудачный релиз здесь ломает не внутренний отчёт, а оформление заказов у сотен компаний, которые даже не знают, что что-то поменялось.
Центральная идея проекта: в транспортной компании с открытым API разработчик отвечает перед внешними пользователями, поэтому мы искали людей, для которых обратная совместимость и чистые данные важнее скорости новых фич.
Как мы устроили работу
Разделили найм на три линии. Клиентская: разработчики мобильных приложений и тестировщик приложения и личного кабинета. Интеграционная: Backend-разработчики и тестировщик API. Линия данных: Python-программист для обработки и сверки данных по отправкам.
Ответственность поделили с ИТ-руководством и HR-службой клиента. A2 вело поиск, первичный и технический скрининг по согласованным вопросам. Техническое интервью проводили тимлиды Байкал Сервиса, дальше шли согласование с руководителем направления, проверка службой безопасности и оффер через HR компании.
Каналы: hh.ru и Хабр Карьера, прямой поиск по разработчикам из логистики, e-commerce и сервисов доставки, telegram-сообщества мобильных и Python-разработчиков. Формат преимущественно гибридный, с офисом в Москве.
Сложности и решения
1. «ИТ при складе». Многие разработчики представляли ИТ транспортной компании как 1С, Excel и поддержку пользователей на терминалах. Общие слова про масштаб и стабильность не помогали. Помогли вещи, которые кандидат может открыть сам: публичная документация API, модули для CMS, само приложение, отслеживание с фотографиями груза на этапах перевозки. Рекрутер на первом звонке давал ссылку на документацию и говорил: «вот этим будете заниматься, и у этого есть внешние пользователи». Для бэкендеров это работало сильнее любого описания.
2. Обратная совместимость как главный фильтр. Большинство кандидатов в Backend делали внутренние корпоративные системы, где все потребители API сидят в соседнем кабинете. В скрининг мы добавили вопрос: «в ответе калькулятора нужно поменять формат поля, а калькулятором через модули пользуются сотни интернет-магазинов; как вы это выпустите». Сильные кандидаты говорили про версионирование, период поддержки старого формата, мониторинг вызовов и уведомление интеграторов. Слабые предлагали «предупредить и поменять». Этот вопрос отсеял примерно треть тех, кто прошёл формальный скрининг по стеку.
3. Приложению уже шесть лет. Мобильное приложение работает с 2020 года, у него большая аудитория и своя история решений. Компании нужен был не человек, который в первый месяц предложит переписать всё на новом фреймворке, а разработчик, который умеет развивать живой продукт: аккуратно вводить новые сценарии (крупногабарит, новые статусы, уведомления), следить за стабильностью и выпускать релизы без провалов в рейтинге. На интервью спрашивали про самый неудачный релиз в карьере кандидата и о том, что он после него поменял в процессе. Ответ говорил больше, чем список технологий.
4. Данные из сотни с лишним филиалов. Данные по отправкам приходят из филиалов по всей стране: адреса, вес, габариты, статусы. Часть вводится вручную, ошибки неизбежны. Python-программист нужен, чтобы нормализовать и сверять эти данные, готовить выгрузки для партнёров и отчёты для операционного блока. Откликались в основном аналитики данных, которые хотели строить модели. Мы дали практическое задание: выгрузка на 2 000 строк с «грязными» адресами и габаритами, нужно предложить правила проверки и показать, как их автоматизировать. Ценили не красоту кода, а то, сколько видов ошибок человек нашёл сам.
5. Тестировщик для цепочки статусов. Отправка проходит путь от заявки до выдачи, и на каждом шаге статус должен одинаково выглядеть в приложении, личном кабинете, API и уведомлениях. Ошибки чаще всего живут на стыках: возврат, частичная выдача, переадресация. Поэтому при подборе тестировщиков требовали опыта API-тестирования и умения проектировать проверки по сценариям, а не по экранам. На скрининге просили составить тесты для отправки, которую клиент переадресовал в другой город, пока груз был в пути.
6. Пауза между интервью и оффером. В крупной компании оффер требует нескольких согласований и проверки службой безопасности. В первый месяц от технического интервью до оффера проходило в среднем 19 дней, и за это время двое финалистов приняли другие предложения. Договорились с клиентом о трёх изменениях: фиксированные слоты технических интервью два раза в неделю, анкета для службы безопасности сразу после успешного технического интервью (с согласия кандидата), а не после финала, и еженедельный звонок каждому финалисту с честным статусом. Срок сократился до 9 дней, и до конца проекта на этом этапе мы больше никого не потеряли.
Час с HR-директором бесплатно
Продуктивный разговор о найме с HR-директором A2. Только для компаний от 20 сотрудников
Аналитика по воронке
Разработчик мобильных приложений, за весь проект
| Этап | Количество | Конверсия |
|---|---|---|
| Отклики и активный поиск | 164 | — |
| Прошли скрининг | 35 | 21,3% |
| Техническое интервью | 14 | 40,0% |
| Финал с руководителем направления | 6 | 42,9% |
| Оффер | 2 | 33,3% |
| Вышли на работу | 2 | 100,0% |
Backend-разработчик, за весь проект
| Этап | Количество | Конверсия |
|---|---|---|
| Отклики и активный поиск | 228 | — |
| Прошли скрининг по стеку | 61 | 26,8% |
| Прошли вопрос про обратную совместимость | 40 | 65,6% |
| Техническое интервью | 17 | 42,5% |
| Финал с руководителем направления | 6 | 35,3% |
| Оффер | 3 | 50,0% |
| Вышли на работу | 2 | 66,7% |
Python-программист и тестировщик, за весь проект
| Позиция | Кандидатов | Скрининг | Практическое задание | Техническое интервью | Финал | Оффер | Вышли |
|---|---|---|---|---|---|---|---|
| Python-программист | 141 | 32 | 13 | 6 | 3 | 1 | 1 |
| Тестировщик | 196 | 44 | 18 | 9 | 4 | 2 | 2 |
Срок от технического интервью до оффера
| Период | Финалистов | Средний срок до оффера | Ушли до оффера |
|---|---|---|---|
| 1-й месяц | 5 | 19 дней | 2 |
| 2-5-й месяцы | 14 | 9 дней | 0 |
| Итого | 19 | — | 2 |
Итог по позициям
| Позиция | Нужно | Закрыли | Средний срок закрытия |
|---|---|---|---|
| Разработчик мобильных приложений | 2 | 2 | 8 недель |
| Backend-разработчик | 2 | 2 | 7 недель |
| Python-программист | 1 | 1 | 6 недель |
| Тестировщик | 2 | 2 | 5 недель |
| Итого | 7 | 7 | — |
По Backend видно, как работает вопрос про обратную совместимость: из 61 кандидата, прошедшего скрининг по стеку, дальше пошли 40, зато на техническом интервью у тимлидов почти не было пустых встреч. У мобильной разработки самый долгий срок закрытия: рынок разработчиков с опытом большого живого приложения узкий, и оба оффера мы сделали только после того, как кандидаты подробно разобрали свои прошлые релизы. Единственный отказ после оффера был у бэкендера, которому текущий работодатель сделал контрпредложение. Таблица по срокам показывает главное: 2 из 5 финалистов первого месяца ушли, пока ждали решения, а после ускорения согласований из 14 финалистов не ушёл никто.
Что в итоге
За 5 месяцев мы закрыли для Байкал Сервиса 7 мест: двух разработчиков мобильных приложений, двух Backend-разработчиков, Python-программиста и двух тестировщиков. Новые люди вошли в работу над сценариями, которые у компании появлялись одновременно: рост отправок в маркетплейсы, доставка крупногабарита, новые статусы в приложении. А процесс согласования финалистов, который мы перестроили вместе с HR-службой, компания оставила и для своего внутреннего найма.
Главный вывод: в компании, чьим API пользуются внешние клиенты, нельзя оценивать разработчика только по стеку. Один вопрос про то, как он выпустит изменение для сотен чужих интеграций, говорит о кандидате больше, чем час разговора про фреймворки.
И второе. В крупной компании кандидата чаще теряют не на интервью, а в паузе после него. Проверка службой безопасности и согласования нужны, но их можно вести параллельно с финалом, а не после. Это бесплатно и сразу видно по цифрам.
Если у вас крупная компания с собственными цифровыми сервисами и вам нужно усилить ИТ-команду без потери финалистов на согласованиях, напишите нам. Подбор IT-специалистов начнём с разбора вашей воронки и внутренних этапов.


