Вакансия в архиве
Компания больше не ищет сотрудника. Посмотрите похожие предложения
Яндекс (Поисковый портал)

iOS-разработчик (Карты / Навигатор)

в Яндекс (Поисковый портал)

230 000 —‍ 450 000 ₽/мес на руки

📍 МоскваОфис или гибрид
Специализация
Mobile (iOS)
Уровень
Middle-to-Senior
Команда
1 - 5 человек

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

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

Технологии/инструменты

Swift

Наш стек:

  • Swift, RxSwift, Combine, SDWebImage, Alamofire, Fastlane.
  • UIKit, SwiftUI.
  • AppMetrica, SpeechKit, YandexMapsMobile.
  • Kotlin Native, Ktor, Kinzhal, Kotlin Coroutines / Flow, KotlinX Serialization.
  • CI на TeamСity.
  • UI-тесты на XCTest & Allure.
  • Модульность на Cocoapods.

Как устроена разработка

Важная часть нашего подхода — ставка на мультиплатформенную разработку. Наши приложения на iOS и Android практически идентичны, а функциональность настолько разнообразна и обширна, что поддерживать одновременно две реализации трудно и неэффективно. Несколько лет назад мы выбрали Kotlin Multiplatform в качестве основной технологии для кросс-платформенной разработки и одними из первых начали использовать её в продакшене. Kotlin Multiplatform не накладывает ограничений на использование платформенных SDK, мы пишем на нём только бизнес-логику, а UI и взаимодействие с операционной системой остаются платформенными. Вне общего кода мы используем актуальный стек и современные подходы iOS-разработки.

Благодаря общему коду команды iOS и Android тесно контактируют, обмениваются знаниями, а для новых больших проектов мы сразу собираем кросс-платформенные v-team, что упрощает контроль над процессами и совместные запуски. Об особенностях процессов нашей мультиплатформенной разработки Михаил Куренков рассказывал на Mobius 2020.

Наш проект разбит на модули. Внутри модулей используем устоявшуюся «чистую» архитектуру с однонаправленным потоком данных. Feature-модули максимально независимы, что позволяет разрабатывать новые сценарии в отдельных легковесных тестовых проектах. Подробнее про нашу модульность рассказывал Николай Лихогруд, а про тестовые проекты — Михаил Куренков.

Большой проект невозможно развивать без вложений в инфраструктуру. 80% времени мы тратим на продуктовую разработку, 20% выделяем на развитие технологий, автоматизацию рутины и отдачу техдолга. CI/CD, автоматическая синхронизация ресурсов от редакторов и дизайнеров, автоматизация жизненного цикла задач и релизного процесса, UI-тесты, A/B эксперименты, мониторинги здоровья приложения и процессов — у нас есть всё необходимое проекту такого уровня.

Будущие задачи

Прямо сейчас в разгаре большая «стройка» по UI-тестам. Причём и тут мы используем Kotlin Native, чтобы реализовать общую логику тестов между платформами. Также мы в процессе перехода на релиз двух приложений — Карт и Навигатора — из одной кодовой базы со всеми сопутствующими проблемами. Впереди рывок по процессам: хотим выпускать обновления в два раза чаще, перейти на еженедельный цикл.

Помимо этого:

  • Активно внедряем SwiftUI.
  • Заменяем RxSwift на Combine.
  • Оптимизируем сборку.
  • Планируем переход на SPM.
  • Планируем проект по оптимизации производительности приложения (время старта, энергопотребление) и пару крупных рефакторингов.

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

Ожидания

  • Вы разрабатывали мобильные приложения для iOS и глубоко знаете SDK-платформы.
  • Умение прорабатывать задачи от и до, имеете продуктовое мышление, стремитесь улучшать жизнь пользователей.
  • Знание современных принципов построения архитектуры мобильных приложений.
  • Готовность совершенствовать процессы и инфраструктуру разработки.

Условия

  • Много внимания уделяем обмену знаниями: раз в месяц проводим общие «техновстречи» всего отдела разработки, на которых рассказываем про интересные исследования и достижения в разных технологических областях, еженедельно собираемся платформенными командами и обсуждаем насущные проблемы.
  • По результатам спринта проводим продуктовые демо.
  • Уважаем work-life balance, тимбилдинговые активности, неформальное общение, вечеринки, поддерживаем дружескую атмосферу.
  • Приветствуем участие в школах мобильной разработки в качестве преподавателей, помогаем с выступлениями на конференциях.

Полезные ссылки

Анастасия Жовнерик Recruiter
Яндекс (Поисковый портал)

О компании Яндекс (Поисковый портал)

Сфера
Продуктовая компания
Инвестиции
$100M+
Размер
1001+

Яндекс — одна из крупнейших ИТ-компаний в России. Мы развиваем самую популярную в стране поисковую систему и создаём сервисы, которые помогают людям в повседневных делах. С их помощью можно искать информацию в интернете, слушать музыку, выбирать товары и места, заказывать еду, перемещаться по городу и делать многое другое. Яндекс предлагает также продукты для бизнеса.

Похожие вакансии

410 000 – 540 000 ₽/мес на руки
📍 Москва (м. Выставочная / м. Деловой центр), Санкт-Петербург (м. Площадь Ленина), офис или гибрид
300 000 – 400 000 ₽/мес на руки
📍 Москва (м. Смоленская), Санкт-Петербург (м. Площадь Ленина), офис или гибрид
300 000 – 540 000 ₽/мес на руки
📍 Москва (м. Выставочная / м. Деловой центр), Санкт-Петербург (м. Площадь Ленина), можно удалённо из РФ
280 000 – 380 000 ₽/мес на руки
📍 Москва (м. Улица 1905 года), Ереван (Армения), полная удалёнка
250 000 – 450 000 ₽/мес на руки
📍 Москва (м. Парк культуры), Санкт-Петербург (м. Выборгская), Беларусь, полная удалёнка