Svoboda | Graniru | BBC Russia | Golosameriki | Facebook
iOS developer
Мы связываем удивительный мир путешествий и открытий с обычными людьми, предоставляя удобные и полезные инструменты для планирования поездок
в команду отелей
Кто мы
млн
3,3
4,9
скачиваний на IOS
путешественников, пользующихся нашими приложениями
оценка приложения
в Apple Store
крупнейших туристических онлайн-ресурсов в мире
млн
топ
30
20
Вы:
И что у вас за команда?
Туту:
Привет! Мы команда Туту. У нас сервис путешествий, мы каждый день отправляем флот самолётов, несколько поездов и много автобусов. Сервис помогает путешественникам с билетами, расписаниями, отелями и всем прочим для поездок. В компании 790 человек, из них около 300 — ИТ.

Мы хотим, чтобы люди, купившие у нас билеты, могли легко найти отель и забронировать его в пару дополнительных кликов. Поэтому задача — сделать хороший сервис для бронирования. Что особенно важно после ухода с рынка Букинга.

Учитывая, какая у нас аудитория (самая большая по России по трафику), мы планируем выйти в лидеры по бронированию отелей РФ в ближайшие три года. Сейчас мы делаем всё, чтобы пользователи могли легко и непринуждённо забронировать все варианты размещения, включая отели, виллы, частный сектор и даже отдельные комнаты в городах по всему миру.
Вы:
А кого вы ищете?
Туту:
Для этого всего нужна мобильная разработка — iOS-разработчик в одной из продуктовых команд.
Немного про стек
Архитектура — The Composable Architecture (UDF).
Используем Combine и structured concurrency.
Верстаем в коде. Используем SwiftUI наряду с UIKit. Текущая минимально поддерживаемая версия iOS 15, но скоро перейдём на iOS 16.
GitHub Actions для CI/CD. Собственная ферма мощных Mac Mini Pro.
Серьёзно относимся к качеству нашего кода, фичи без тестов не проходят ревью. Помимо unit-тестов, мы используем UI- и Snapshot-тесты, а с Data Driven-подходом это делать особенно приятно.
Ещё из инструментов есть SwiftLint — для линта, SwiftGen генерит ресурсы. Figma — понятно зачем.
Задачи и документация — Jira, Confluence, Miro.
Основные задачи
Работа над продуктом:
— Работа над новыми гипотезами и фичами для клиентов (мы проводим A/B-тесты и принимаем решения, опираясь на продуктовую аналитику).
— Поддержка текущих фич, работа с входящими задачами от поддержки (фикс багов, закрытие клиентских проблем).
Контроль за состоянием и развитие кодовой базы приложения:
— Проектирование новых сервисов, разработка общих компонентов и солюшенов, техразвитие и улучшение продукта.
— Написание UI, Snapshot- и Unit-тестов (у нас разработчики отвечают за качество продукта).
— Развитие общих компонентов в рамках решения текущих продуктовых задач (из двух вариантов: реализовать в конечном приложении или обобщить — выбирать второе).
Развитие технических навыков:
— Активное участие на встречах iOS-гильдии (приносить новости/интересности на гильдию и рассказывать о проблемах и решениях сложных проектов, в которых принимал участие).
От вас нужно
Опыт iOS-разработки от 3 лет.
Знание iOS SDK и Human Interface Guidelines.
Знание архитектур, как минимум MVVM, желателен опыт с UDF.
Уверенное владение Swift.
Знание паттернов и принципов проектирования.
Базовое понимание функционального программирования.
Умение писать Unit-тесты.
Владение SwiftUI будет плюсом.
Про команду и рабочий процесс
Мы работаем небольшими кросс-функциональными командами внутри общего продуктового направления. Команды состоят из 1–2 backend-разработчиков, frontend, iOS, Android, QA, системного аналитика и тимлида.
Кроме того, в направлении есть выделенная команда дискавери, где есть общие роли ПО, дизайнеров, исследователей и продуктовых аналитиков.
Все роли предполагают много взаимодействия между командами внутри направления, а также горизонтальными командами на уровне всей компании.
Мы работаем по скраму, классическими двухнедельными спринтами, в спринте есть планирование, ПБР, демо, ретро и, конечно, дейлики.
Разработчики пишут новый код и покрывают тестами по пирамиде тестирования. Стараемся писать больше юнит-тестов, чем интеграционных и e2e. QA-инженер обучает команду практикам тестирования, помогает составлять тест-кейсы, подключается к проверке выпускаемых задач, пишет интеграционные- и e2e-тесты в случае необходимости, участвует в развитии подходов обеспечения качества.
Мы делаем большой акцент на самостоятельность и зрелость команд, поэтому и ответственность за качество финального продукта лежит на всех участниках команды. Мы ценим работу в команде, самостоятельность, умение давать обратную связь и получать её.
Про компанию
Основной офис в Москве недалеко от м. Нагатинская/Коломенская. В офисе горячие завтраки, зоны отдыха c VR, PS, музыкальные инструменты и классная атмосфера путешествий.
Работаем в гибридном формате: в офис приходим 1-2 раза в неделю, но возможна и полная удаленка.
Кандидатам из других регионов поможем с релокацией в Москву.
По результатам работы раз в квартал индексируется зарплата и выплачивается приятная премия.
Tech-преимущества
Современный стек
  • Backend: Go, MariaDB, MongoDB, Kafka, PHP (legacy), RabbitMQ (legacy).
  • Frontend: Typescript, SCSS, React, Redux, Next.js.
  • QA: web - Go, typescript (playwright); mob - AllureTestOPS, AppLive, Kaspresso, XCUITest, GitHub.
  • IOS: RxSwift, SwiftUI, Combine, UIKit, MVVM, UDF, TCA, VIPER.
  • Android: Kotlin, Clean Architecture, MVVM, Kotlin Coroutines, Dagger, Compose.
Платформа
ИТ платформа представляет собой набор сервисов для управления инфраструктурой, доступных через консоль и построенных на принципах ClickOps. Работа в консоли платформы напоминает работу в хорошо продуманной IDE, где создание сервисов и настройка роутов доступны всего за несколько кликов.
Гильдии
Мы обмениваемся опытом далеко за пределами своей команды, что позволяет быстро профессионально расти. Есть внутренние выступления и общие митапы.
Развитие
Есть вертикальное и горизонтальное развитие, например, можно переходить на новый стек или брать новые для себя области работы - всё довольно гибко.
С заботой о сотрудниках
ДМС со стоматологией и страховка на путешествия.
Корпоративная скидка на сервисы по работе с психологом: Альтер и Ясно.
Личный бюджет на профессиональное развитие, а также премии за чтение книг.
Развитая корпоративная культура: собираемся в клубы по интересам, а компания помогает с частичным финансированием.
Этапы собеседований:
1
Финальная встреча

Общение в формате диалога с руководителем, возможность задать все вопросы о тонкостях работы в команде.
2
3
Техническое интервью

Онлайн встреча с парой тех-спецов, чтобы познакомиться с вашим опытом и навыками
Общение с HR менеджером

Телефонное собеседование на 15−20 минут, перед знакомством с командой.