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

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







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

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





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

Задача – сделать так, чтобы там было всё, что нужно для путешествий от начала до конца.
Отели
Поисковая выдача
Приложение Туту.ру
Про наши команды
400
15
30
20
+
лет
топ
млн
штатных сотрудников, увлеченных путешествиями
на мировом рынке онлайн путешествий
крупнейших туристических онлайн-ресурсов в мире
путешественников, пользующихся нашими мобильными приложениями
TUTU.ru это
Мы связываем удивительный мир путешествий и открытий с обычными людьми, предоставляя удобные и полезные инструменты для планирования поездок
Про стек
Используем 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. Получаешь оффер и летишь в лето!

Деньги за билеты возвращаем с первой зарплаты*
Три шага к офферу и билетам в отпуск: