Плотная работа с дизайнером, продакт/проект-менеджером и командой разработки;
Разработка и поддержка кросс-платформенного мобильного приложения (iOS/Android) — участие в развитии продукта, реализации новых функций, оптимизации производительности;
Разработка модулей приложения с нуля по макетам Figma/Photoshop;
Дебаггинг и тестирование приложения (Unit, Widget-тесты);
Публикация приложения в App Store и Google Play, участие в процессе релиза;
Постоянное улучшение и рефакторинг кода, сопровождение приложения после релиза;
Взаимодействие с нативной частью приложения через MethodChannel;
Написание чистого, структурированного и качественного кода.
Требования:
Опыт коммерческой разработки на Flutter от 2.5 лет;
Уверенное знание Dart и Flutter SDK;
Понимание жизненного цикла Flutter-приложений, а также принципов работы Widget, Element и RenderObject, построения UI и Widget Constraints;
Опыт работы с одним или несколькими state management-решениями — BLoC/Cubit, Riverpod, Provider (знание GetX будет плюсом);
Опыт работы с GoRouter;
Опыт реализации Deep Links и Universal Links / App Links;
Понимание Event Loop, async/await, Future, Stream, Isolate и работы с многозадачностью, Null Safety;
Опыт интеграции с REST API и WebSocket;
Опыт работы с локальными базами данных (SQLite, Drift, либо Floor/Hive);
Понимание принципов Clean Architecture, SOLID и паттернов проектирования (ООП);
Уверенное владение Git (push, pull, слияние веток, разрешение конфликтов);
Опыт написания Unit- и Widget-тестов;
Опыт публикации приложений в App Store и Google Play либо участия в процессе релиза;
Понимание процессов CI/CD (GitHub Actions, Codemagic, Bitrise, GitLab CI и др.);
Опыт работы с Firebase (Crashlytics, Cloud Messaging, Analytics, Remote Config), а также с Google Maps и системами уведомлений (Notifications);
Опыт интеграции сторонних SDK;
Опыт использования Feature Flags и участия в A/B-тестировании;
Умение анализировать и оптимизировать производительность приложения;
Умение читать и разбираться в чужом коде, работать с несколькими версиями Flutter;
Ответственность и внимание к качеству проекта.
Будет плюсом:
Опыт нативной разработки под Android/iOS;
Опыт работы с GraphQL;
Опыт разработки модульной архитектуры;
Понимание принципов безопасности мобильных приложений.