Обязанности:
Привет! Туту — это самый посещаемый онлайн-сервис путешествий в России (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 лет». — Встреча с парой техспецов. Мы проверим ваши профессиональные знания и навыки. Вы в свою очередь сможете понять достаточно ли профессиональна наша команда и комфортно ли вам с ней будет. — Финальная встреча с руководителем.