Описание вакансии
Формат: Гибрид (4 дня офис/1 день удалёнка)
Команда: Внутренний R&D-отдел (FinTech / Internal Payments / Cross-border Transfers)
Инфраструктура: Исключительно on-premise — собственные серверы, CI/CD в закрытом контуре; весь код и данные — строго внутри периметра. Сборка и деплой для мобильных платформ и Web.
Стек: Flutter 3.x, Dart, Clean Architecture, Bloc, GetIt + Injectable, Dio + Retrofit, Freezed/JsonSerializable, ObjectBox/Hive, AutoRoute/Beamer, Firebase
Что предстоит делать:
Разработка кроссплатформенных финтех-приложений
Создание UI и бизнес-логики для внутренних проектов, финтех-сервисов, платёжных систем и шлюзов для платформ Android, iOS и Web.
Интеграции
Реализация клиентской части интеграционных сервисов и API с внутренними бэкендами, внешними платёжными провайдерами, работа с шинами событий.
Локальные данные и кэширование
Проектирование отказоустойчивых клиентских приложений с использованием локальных баз данных (ObjectBox/Hive), кэшированием данных и эффективным управлением состоянием.
Технический дизайн
Разработка модулей по принципам Clean Architecture, с раздельными слоями и контрактами, автогенерацией моделей и роутинга.
Сборка и деплой
Настройка сборки приложений для различных окружений и флейворов, написание скриптов, деплой сервисов в тестовый периметр.
Проектный процесс
Работаем по Kanban, всё ведём в OpenProject, код — в GitLab, ревью обязательны.
Минимум митингов — максимум фокуса.
Обязательные требования:
- 2+ года опыта в разработке на Flutter (Dart).
- Глубокое понимание принципов объектно-ориентированного программирования и принципов SOLID, KISS, DRY.
- Опыт создания сложных пользовательских интерфейсов с кастомными анимациями и высокой точностью по макетам.
- Понимание принципов асинхронного и реактивного программирования, уверенная работа со стримами, понимание работы event loop в Dart.
- Уверенное понимание Clean Architecture: слои, зависимости, интерфейсы, DI.
- Опыт работы с Bloc (или аналогом) для управления состоянием, GetIt/Injectable для dependency injection.
- Работа с сетью: Dio + Retrofit, умение обрабатывать ошибки, кэшировать запросы.
- Знание REST API, умение работать с документацией OpenAPI/Swagger.
- Локальное хранилище: опыт работы с ObjectBox, Hive или аналогичными решениями.
- Навигация: опыт использования AutoRoute, Beamer или аналогичными решениями.
- Понимание жизненного цикла приложения Widget, Element, State.
- Внимательность, умение тестировать себя, проверять бизнес-правила руками и глазами.
- Умение читать и писать документацию, тикеты, описания PR.
Будет плюсом:
- Опыт нативной разработки под Android (Kotlin/Java) и/или iOS (Swift/ObjC).
- Опыт сборки и публикации приложений в App Store, Google Play, RuStore.
- Опыт работы с многомодульными проектами (разделение на feature-модули, core-модули).
- Опыт интеграции с внешними SDK (оплаты, карты, аналитика, пуш-уведомления).
- Навыки написания Unit, Widget и Integration тестов.
- Опыт работы с Web-платформой.
- Знание протоколов gRPC, WebSockets.
Что мы предлагаем:
- Интересные задачи в области автоматизации сложных банковских процессов и создания клиентских приложений.
- Работа в финтех подразделении — возможность влиять на архитектуру, стек, процессы.
- Наставничество и рост до Senior/Tech Lead.
- Оформление по ТК РФ, гибкий график, 28 дней отпуска.
- Прозрачная грейд-матрица и ревью каждые 6 месяцев.
- Комфортный офис, закрытый контур, без бюрократии.
Как проходит отбор:
- Созвон 15 мин с рекрутером — знакомство.
- Техническое интервью 60 мин — очно, с TL.
- Финальный созвон — оффер.
Если тебе близка работа на стыке Flutter, мобильной разработки и финтеха — будем рады видеть тебя в команде :)
