Привет! Туту — это самый посещаемый онлайн-сервис путешествий в России (SimilarWeb, 2023), где можно купить билеты на поезд, самолёт и автобус, забронировать отели, найти расписание электричек, выбрать тематические туры и туристические путёвки, экспедиции и экскурсии. Туту работает с 2003 года и занимает 1-е место в России, а также 25-е место в мире по количеству посетителей в тематике путешествие и туризм.
Кроме продуктовых команд в Туту есть ещё и инфраструктурные, и вот Core Mobile — это мы, те, кто упрощает жизнь мобильным разработчикам и тестировщикам из продуктовых команд. Мы формируем и внедряем общие правила архитектуры и код-стайла, разрабатываем инструменты автоматизации, настраиваем CI/CD и ускоряем сборки, собираем метрики процесса разработки и помогаем коллегам работать над продуктовыми задачами эффективнее.
Сейчас в поисках Android-разработчика, который возьмёт на себя задачи, связанные с созданием и поддержкой инструментов для мобильной разработки в Туту.
Немного про стек
— Основной язык — 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 как инструмент планирования, интеграций и ведения проектов.
Основные задачи
— Развитие и поддержка сервисов телеметрии, А/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.
Про команду и рабочий процесс
В Mobile Core команде есть TeamLead и лиды по направлениям iOS, Android; Mobile DevOps и QA.
Как организован процесс работы:
— Работаем по Scrum.
— Большие задачи обязательно прорабатываем заранее, иногда вместе с другими разработчиками и экспертами.
Сейчас в Туту 14 команд. Core-команда «парит» над всеми командами и в курсе происходящего везде.
График работы
У нас возможна полная удалёнка, возможен гибрид.
Про компанию
— Компания с хорошим техническим стеком, техруководителями и готовностью одними из первых пробовать новые технологии.
— Сильный блог на Хабре, где пишут в том числе технари о своей работе.
— Хорошая техническая инфраструктура, очень крутая внутренняя база знаний, культура API и так далее.
— Открываются новые направления, где можно делать всё с нуля.
Весь положенный набор плюшек: ДМС со стоматологией, кухня в офисе, страховка на путешествия, ноутбук, премии по результатам работы, оплата больничных, регулярная переиндексация зарплаты, а также обучение, премия за прочитанные книги и обмен опытом.
Структура собеседований
— Пройти HR-менеджера. Никаких «кем вы видите себя через 5 лет».
— Встреча с парой техспецов. Мы проверим ваши профессиональные знания и навыки.
Вы в свою очередь сможете понять достаточно ли профессиональна наша команда и комфортно ли вам с ней будет.
— Финальная встреча с руководителем.