Обязанности:
- Разработка и сопровождение мобильных и web-приложений на Flutter;
- Проектирование и реализация нового функционала — от постановки задачи до релиза;
- Поддержка, развитие и оптимизация архитектуры приложения, проведение рефакторинга кода;
- Интеграция REST API, работа с локальным хранением данных и сторонними сервисами;
- Проведение code review, написание unit/widget/integration тестов и контроль качества разработки;
- Работа с CI/CD, поддержка сборок Android/iOS и участие в релизах приложений;
- Оптимизация производительности приложений, анализ и устранение ошибок;
- Участие в технических обсуждениях, декомпозиции задач и оценке сроков разработки;
- Взаимодействие с командой разработки, аналитиками и дизайнерами;
- Наставничество и поддержка junior-разработчиков.
Требования (Hard Skills):
- Уверенное владение Flutter/Dart;
- Понимание жизненного цикла виджетов и оптимизации UI;
- Опыт работы с BLoC/Cubit, Clean Architecture, DI и модульной архитектурой;
- Работа с REST API, Dio/http, обработкой ошибок, ретраями и таймаутами;
- Навыки работы со stream’ами, debounce/throttle и side-effects;
- Работа с локальным хранением данных (Hive, SharedPreferences, Secure Storage);
- Интеграция и работа с Yandex Maps SDK и картографическими сервисами;
- Написание unit/widget/integration тестов;
- Опыт настройки Firebase, push-уведомлений, аналитики и crash reporting;
- Поддержка CI/CD, сборок Android/iOS и публикации приложений;
- Базовые знания Android/iOS, platform channels и Flutter-плагинов;
- Опыт профилирования производительности и оптимизации приложений;
- Работа с JSON serialization (json_serializable, freezed) и immutable-моделями.
Soft Skills:
- Умение самостоятельно вести задачу от оценки до релиза;
- Ответственный подход к code review и поддержанию высокого качества кода;
- Развитые навыки командной коммуникации и участия в технических обсуждениях;
- Умение оценивать сроки, приоритизировать задачи и управлять рисками;
- Проактивность в улучшении процессов разработки и архитектуры проекта;
- Способность быстро осваивать новые технологии и подходы;
- Навыки наставничества и поддержки junior-разработчиков;
- Умение аргументированно презентовать и объяснять технические решения бизнесу и команде;
- Ориентация на результат и ответственность за финальное качество продукта.
Условия:
- Рост и развитие в одной из самых быстрорастущих E-Commerce компаний;
- Амбициозные и интересные задачи;
- Современный, комфортный офис;
- Энергичная, заряженная команда;
- Скидки на продукцию компании;
- Спортивные активности и корпоративные мероприятия каждый квартал.