IOS разработчик в команду отелей сервиса путешествий

Дата размещения вакансии: 18.09.2024
Работодатель: Туту.ру
Уровень зарплаты:
з/п не указана
Город:
Москва
1-й Нагатинский проезд 10с1
Требуемый опыт работы:
От 3 до 6 лет

Привет! Мы команда Туту. У нас сервис путешествий, мы каждый день отправляем флот самолётов, несколько поездов и много автобусов. Сервис помогает путешественникам с билетами, расписаниями, отелями и всем прочим для поездок. В компании 790 человек, из них около 300 — ИТ.

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

Учитывая, какая у нас аудитория (самая большая по России по трафику), мы планируем выйти в лидеры по бронированию отелей РФ в ближайшие три года. Сейчас мы делаем всё, чтобы пользователи могли легко и непринуждённо забронировать все варианты размещения, включая отели, виллы, частный сектор и даже отдельные комнаты в городах по всему миру.
Для этого всего нужна мобильная разработка — iOS-разработчик в одной из продуктовых команд.

Немного про стек

— Архитектура — The Composable Architecture (UDF).

— Используем Combine и structured concurrency.

— Верстаем в коде. Используем SwiftUI наряду с UIKit. Текущая минимально поддерживаемая версия iOS 15, но скоро перейдём на iOS 16.
— GitHub Actions для CI/CD. Собственная ферма мощных Mac Mini Pro.

— Ещё из инструментов есть SwiftLint — для линта, SwiftGen генерит ресурсы. Figma — понятно зачем.

— Серьёзно относимся к качеству нашего кода, фичи без тестов не проходят ревью. Помимо unit-тестов, мы используем UI- и Snapshot-тесты, а с Data Driven-подходом это делать особенно приятно.

— Задачи и документация — 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-тесты в случае необходимости, участвует в развитии подходов обеспечения качества.

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

Про компанию

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

— Сильный блог на Хабре, где пишут в том числе технари о своей работе.

— Хорошая техническая инфраструктура и очень крутая внутренняя база знаний.

— Открываются новые направления, где можно делать всё с нуля.

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

Структура собеседований

— Общение с HR-менеджером, до 40 минут, перед техническим собеседованием.

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

— Финальная встреча с продакт-оунером и техлидом команды.