Привет! Мы — сервис путешествий Туту, это самый посещаемый онлайн-сервис путешествий в России (SimilarWeb, 2023), где можно купить билеты на поезд, самолёт и автобус, забронировать отели, найти расписание электричек, выбрать тематические туры и туристические путёвки, экспедиции и экскурсии. Туту работает с 2003 года и занимает 1-е место в России, а также 25-е место в мире по количеству посетителей в тематике путешествие и туризм.
Кроме продуктовых команд в Туту есть ещё и инфраструктурные, и вот Core Mobile — это мы, те, кто упрощает жизнь мобильным разработчикам и тестировщикам из продуктовых команд. Мы формируем и внедряем общие правила архитектуры и код-стайла, разрабатываем инструменты автоматизации, настраиваем CI/CD и ускоряем сборки, собираем метрики процесса разработки и помогаем коллегам работать над продуктовыми задачами эффективнее.
Кого мы ищем
Сейчас в поисках Android-разработчика, который возьмёт на себя задачи, связанные с созданием и поддержкой инструментов для мобильной разработки в Туту.
Основные задачи
- Развитие и поддержка сервисов телеметрии, А/B-тестинга, аналитики.
- Разработка и унификация роутинга/навигации/диплинков.
- Ускорение сборок / Архитектура проекта / DI.
- Внедрение и развитие контроля качества / производительности / систем мониторинга.
- Развитие и поддержка core-продуктов (Test DSL, CI/CD, Danger, mock-system и др.).
- Внедрение и разработка общих модулей на KMP (Kotlin multiplatform).
- Решение задач от отдела безопасности (ИБ).
- Выполнение операционной работы по саппорту клиентов разработчиков и внешних подразделений.
Что ждём от вас
- Опыт разработки на платформе Android от 4 лет.
- Знание особенностей многомодульных проектов и умение выстраивать связи между модулями.
- Опыт проектирования инструментов с нуля и до прода.
- Понимание Semantic Versioning и способов организации зависимостей.
- Понимание принципов работы DI (в частности Dagger 2).
- Умение писать обратно совместимый код, которым будут пользоваться другие разработчики.
- Умение работать с Gradle и писать кастомную билд-логику.
- Опыт использования Coroutines/Flow.
- Опыт командной разработки, знание инструментов (Jira, Git).
- Плюсом будет знание Kotlin Multiplatform.
Стек
- Основной язык — Kotlin.
- Kotlin Coroutines / Flow для асинхронной работы.
- Для DI используем Dagger 2 с Component Dependencies.
- Новый UI только на Compose + дизайн-система на Compose.
- Gradle для сборки проекта + Gradle KTS + Convention Plugins.
- Для CI/CD используем GitHub Actions + Self-Hosted Runners.
- Kaspresso для UI-тестов + собственный инструмент для скриншот-тестов.
- Многомодульная архитектура, на уровне фичей используем MVVM/MVI-паттерны.
- Живём в мультирепозиториях.
- Miro как инструмент проектирования, планирования и синхронизаций процессов.
- Jira как инструмент планирования, интеграций и ведения проектов.
Про команду и рабочий процесс
- В Mobile Core команде есть TeamLead и лиды по направлениям iOS, Android; Mobile DevOps и QA.
- Мы работаем по Scrum. Большие задачи обязательно прорабатываем заранее, иногда вместе с другими разработчиками и экспертами.
- Сейчас в Туту 14 команд. Core-команда «парит» над всеми командами и в курсе происходящего везде.
График работы
- Работаем 5/2. Можно взять постоянное место в офисе, работать на гибридном графике или полностью удалённо.