Ответ
В моем последнем проекте на Flutter мы работали в кросс-функциональной команде из 6 человек: 3 мобильных разработчика (включая меня), 2 бэкенд-разработчика на Dart (использовали aqueduct/conduit) и 1 QA-инженер. Мы придерживались методологии Scrum с двухнедельными спринтами.
Мои основные обязанности как Flutter-разработчика:
- Разработка новых фич для iOS и Android из единой codebase.
- Интеграция с бэкендом через REST API и WebSocket для real-time уведомлений.
- Настройка и поддержка CI/CD пайплайнов на Codemagic для автоматической сборки и публикации в App Store Connect и Google Play Console.
- Активное участие в планировании спринтов и ретроспективах.
- Проведение код-ревью для коллег, фокус на качестве кода, производительности рендеринга и соблюдении архитектурного паттерна BLoC/Cubit, который мы использовали.
- Менторинг junior-разработчика в команде.
Пример нашего workflow:
- Обсуждаем задачу из Jira, разбиваем на подзадачи.
- Создаю feature-ветку от
develop, реализую функциональность, пишу unit- и widget-тесты. - Открываю Pull Request в GitHub. После прохождения ревью и успешных checks CI (сборка, тесты, анализ кода) мерджим в
develop. - После окончания спринта создаем релизную ветку, проводим регрессионное тестирование и мерджим в
mainс последующим деплоем в сторы.
Работал как в офисном, так и в полностью удаленном формате, используя Slack для ежедневной коммуникации и Zoom для планирования и демо.