Мы отменяем осень
Откликайся на вакансию
iOS Developer в TUTU, пройди все этапы интервью (можно даже за
1 день!) — получи оффер и билеты
в лето!
Наш челлендж — сделать полноценное приложение «Отели» с нуля. Оно будет встраиваться в наше основное приложение Туту, кол-во установок которого перешагнуло 5 млн.

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

Вас ждет разработка архитектуры обособленного функционала («Отели») внутри приложения Туту.ру и ее реализация, возможность выбора технологического стека, возможность влиять на то, какие фичи будут запилены, предлагать идеи и решения по развитию продукта.
Транспортная выдача Туту.ру — это весь слой, с помощью которого пользователь может найти и выбрать билет на самолет, поезд, автобус или даже комбинированное предложение из разных видов транспорта.

Цель команды помочь найти и выбрать идеальный билет. Это может быть про следующие задачи: ранжирование и рекомендации предложений на основе моделей от DS специалистов, персонализация результатов поиска, удобный выбор между разными датами поиска с подсказками о более выгодных днях поездки и т. д.





В нашем приложении можно составить маршрут и купить все нужные билеты. Данные пассажиров заполняются автоматически начиная со второй покупки, приложение напоминает о поездках и хранит билеты.

Задача – сделать так, чтобы там было всё, что нужно для путешествий от начала до конца.
Отели
Поисковая выдача
Приложение Туту.ру
Про наши команды
400
15
20
30
штатных сотрудников, увлеченных путешествиями
на мировом рынке
онлайн путешествий
крупнейших туристических онлайн-ресурсов в мире
путешественников, пользующихся нашими мобильными приложениями
Туту.ру это:
удивительный мир путешествий и открытий с обычными людьми, предоставляя удобные и полезные инструменты для планирования поездок
+
лет
топ
млн
Про стек
Используем RxSwift, в обозримом будущем – переезд на Combine. Вот зря некоторые из-за него боятся приходить к нам в гости. Сначала вы три дня бьетесь головой об стену, а потом не понимаете, как можно было жить по-другому. Одна из самых важных библиотек – ComposableArchitecture, это реактивная стейт-машина уровня модуля. Нам нравится ее правильная архитектура, рассчитанная на очень быстрые доработки и развитие приложения. В стандартном мобильном приложении источник правды в районе базы данных или in-memory базы. А тут он выше, а база — бекап для состояния.
Storyboard'ы и xib'ы на холде, всю новую верстку давным давно делаем в коде. Кстати, мы уже готовы к SwiftUI, так как довольно давно живем на Data Driven View. Новые модули пилим на SwiftUI. Нижнюю версию приложения будем поднимать до iOS 13 к концу года.
Moya — верхнеуровневый фреймворк для работы с сетью. Позволяет структурировать сетевой стек приложения.
Серьезно относимся к качеству нашего кода, фичи без тестов не проходят ревью. Помимо unit-тестов мы используем UI и snapshot тесты, а с Data Driven подходом это делать особенно приятно.
Ещё из инструментов есть SwiftLint - для линта, SwiftGen - генерит ресурсы. Figma понятно, зачем. Закопали Sketch и Zeplin.
Ещё из инструментов есть SwiftLint - для линта, SwiftGen - генерит ресурсы. Figma понятно, зачем. Закопали Sketch и Zeplin.
Tilda Publishing
Что крутого непосредственно по разработке?
Ещё немного о нашем продукте
Сережа:
Мне понравился Composable. Пилить редьюсеры, системы, а потом покрывать это тестами. Все аккуратно и структурировано. Правда тесты не всегда спасают от каких-то крешей, но это уже другая история...
Макс:
Круто, что у нас есть эволюция технологий. Раньше был RxFeedback, сейчас переходим на Composable. Новый модуль будем писать уже на SwiftUI. Не застой, а реально берем то что нам подходит.

Нравится, что есть Core-тима и есть core-компоненты собственной разработки. Обычно на все используют опенсорсные решения, а у нас еще и свое есть.
Женя:
С точки зрения iOS разработки гильдия есть. Можно раз в неделю собраться, послушать выступления, обсудить какие-то вопросы. То же самое Ревизорро, где ты всем разработчикам показываешь свой PR и вы вместе делаете ревью.
Макс:
У нас прям разные вакансии. Команды и задачи между собой сильно отличаются. Нет такого, что есть 6 фича тим, и они пилят примерно одно и то же. Есть выбор и это здорово.
Tilda Publishing
Какими плюшками пользуетесь?
Сережа:
Мне нравится, что в Туту идут постоянные изменения. Работаешь, работаешь, а потом тебе внезапно прилетает, что появились завтраки по утрам, или что у нас велосипедная парковка открылась. Каждый понедельник влетает приятная новость, что ты не просто винтик в системе, а что тут большая семья. В предыдущей компании разработчики всегда узнавали все последними, а тут система открытости. Можешь прийти на демо любой команды – задавай свои вопросы. То есть ты знаешь, что происходит в другой части компании.

Нравится, что по пятницам компания вкусняшками кормит.
Макс:
Сказал Сережа, который на работу со своим контейнером пришел.
Сережа:
Ну мы в начале покушали, а хинкали это уже было приятное дополнение. Кажется это хитрая замануха, но в офис никто не гонит.
В конце спринта по пятницам собираемся командой на демо.

И в целом приятные штуки: бонусы за чтение книг. Система self-review заставляет задумываться чем ты целый месяц занимался. Ретроспектива себя и своей работы, а в итоге это еще и на квартальную премию влияет.

Еще очень нравится открытость ко всевозможных переходам между командами. Кто захотел – в тимлиды пошел, кто захотел – из тестировщика в разработчика переходит. С точки зрения iOS разработки гильдия есть. Можно раз в неделю собраться, послушать выступления, обсудить какие-то вопросы. То же самое Ревизорро, где ты всем разработчикам показываешь свой PR и вы вместе делаете ревью.
Макс:
Что скажу? Ну во первых: свежее железо. В основном 19ый год и потихоньку на M1 начали переезжать.

Очень нравится обратная связь от директоров на встречах на всю компанию - прикольная штука. Нравится, что задаешь любой вопрос и тебе отвечают.

Чем из плюшек пользуюсь: книгами точно пользуюсь. Вот раньше я не особо читал, а в Туту начал. Не знаю, может тут финансовая мотивация работает. По self-review согласен с Серегой, что помогает рефлексировать. А на 1-1 с тимлидов выравниваешь ожидания себя от себя и тимлида от тебя. Кстати, 1-1 тоже прикольные, нигде такого не видел.
Tilda Publishing
Какие есть особенности, которые не для всех?
Сережа:
Rx, тесты, Composable...
Макс:
Ну тесты не для всех – это ты конечно мощно сказал.
Сережа:
Я еще не видел ни одну компанию, где прям надо писать тесты, чтобы пройти PR. Обычно на собесах нам все говорят, ну да, собираюсь писать, но когда-нибудь потом.
Макс:
Основной проект, если собирать не отдельный кусочек в сэмпл аппе, собирается с нуля больше 10 минут. Наше основное приложение – большое.
Еще у нас только один мобильный девопс, из-за этого конечный разработчик в команде по-хорошему должен как минимум читать ошибки Github Actions.
1. Откликаешься на вакансию

2. Удаленно проходишь 3 этапа собеседований: техническое, с командой и продактом (можно пройти все этапы в один день за три часа!)

3. Получаешь оффер и летишь в лето, а мы вернем тебе деньги за билеты!*

*Деньги за билеты возвращаем с первой зарплаты, подробности про акцию расскажет HR.
Три шага к офферу и билетам в отпуск: