Ведущий Flutter-разработчик (Lead Mobile)

Вакансия истекает: 04.09.2026
Откликнуться

Описание вакансии

Мобильное приложение платформы доставки еды и бронирования VsemEda (iOS + Android).

Backend — NestJS (REST API), рядом работают сайт на Next.js и партнёрский кабинет.

Обязанности:

  • Разработка новых фич по продуктовому роадмапу с применением AI;
  • Рефакторинг ядра: разделение god-object корзины на Cart/Checkout-контроллеры, унификация моделей акций, вынесение чистой бизнес-логики;

  • Интеграции: Yandex MapKit (карты, геоподсказки, зоны доставки), платёжные SDK (SberPay, банковские карты, рекуррентные платежи), чат Webim, push-уведомления (FCM), аналитика (AppMetrica, AppsFlyer, Mindbox), AB-тесты;

  • Работа с vendored нативными плагинами (Webim, SberPay, PSCB): обновление, правка нативного кода iOS/Android при необходимости, platform channels;

  • Производительность: оптимизация списков, Rive-анимации и shader warm-up, профилирование;

  • Построение инфраструктуры тестирования с нуля (сейчас тестов мало — это зона роста);

  • Участие в код-ревью, следование dart_code_metrics-линтам, сборки через GitLab CI + Fastlane;

  • Взаимодействие с QA.

Требования:

  • Опыт разработки с применением AI агентов и построение среды разработки с применением AI обязательно;
  • Коммерческий опыт разработки на Flutter от 5 лет, опыт поддержки production-приложений;
  • Уверенное знание Dart и Flutter SDK, lifecycle, rendering, асинхронность, concurrency, memory management и performance optimization;
  • Знание GetX, опыт проектирования и поддержки масштабируемых приложений;
  • Знание принципов SOLID, Clean Architecture, Dependency Injection, separation of concerns;
  • Практический опыт GraphQL, REST API, JSON, authentication, pagination, caching и network error handling;
  • Практический опыт GraphQL, REST API, JSON, authentication, pagination, caching и network error handling;
  • Уверенное знание Kotlin и Android SDK, опыт самостоятельной реализации native-функциональности;
  • Уверенное знание Swift и iOS SDK, опыт самостоятельной реализации native-функциональности;
  • Опыт самостоятельной разработки Flutter plugins/packages с реализацией Android/iOS частей на Kotlin/Swift;
  • Уверенное владение Platform Channels (MethodChannel/EventChannel) и lifecycle Flutter Native интеграции;
  • Production-опыт интеграции платёжных систем;
  • Опыт работы с Firebase, Crashlytics, Analytics, AppMetrica;
  • Опыт работы с Secure Storage, Keychain/Keystore и понимание принципов mobile security;
  • Опыт интеграции и поддержки WebView, карт, геолокации, видео, push notifications и сторонних SDK;
  • Уверенное знание Gradle, CocoaPods, Xcode и Android/iOS build pipeline;
  • Практический опыт работы с signing, Keystore, Certificates, Provisioning Profiles, Entitlements;
  • Опыт самостоятельной публикации и сопровождения production-приложений в App Store, Google Play, AppGallery и RuStore;
  • Опыт настройки и поддержки CI/CD для Android/iOS; Fastlane, облачные CI/CD;
  • Уверенное владение Git, branching strategies, merge/rebase, code review;
  • Опыт написания и поддержки unit/widget/integration тестов.
  • Опыт диагностики crash, ANR, memory leaks, release-only и platform-specific проблем;
  • Опыт оптимизации Flutter performance, rendering, memory usage и network performance;
  • Опыт работы с code generation (build_runner, json_serializable, GraphQL Codegen);
  • Опыт миграции и обновления Flutter, Dart, Android/iOS SDK и сторонних dependencies, включая разрешение dependency conflicts;
  • Опыт работы с legacy production-кодом и проведения безопасного рефакторинга;
  • Опыт самостоятельного анализа и интеграции сторонних SDK, включая изучение native implementation и документации;
  • Опыт ведения технической документации по архитектуре, интеграциям, конфигурации и release-процессу;
  • Будет преимуществом опыт FoodTech / E-commerce / Delivery;
  • Будет преимуществом опыт разработки white-label / multi-flavor приложений;
  • Способность самостоятельно доводить задачу от постановки и архитектуры до production-релиза и последующей поддержки.

Личные качества

  • Самостоятельность: задачи приходят с контекстом, но решать нужно без микроменеджмента;
  • Перфекционизм в меру: код переживёт рефакторинг, но фича должна выйти в срок;
  • Умение сказать «здесь нужен рефакторинг, иначе фича сломает корзину» — и обосновать.

Условия:

  • Конкурентная заработная плата (обсуждается по результатам собеседования);

  • Гибридный или удалённый формат работы;

  • Реальная возможность влиять на архитектуру.