Разработчик для Android в Карты

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

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

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

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

Наш проект разбит на модули, что улучшает архитектуру и позволяет разрабатывать новые сценарии в отдельных легковесных тестовых проектах. Внутри модулей используем архитектуру Redux с Unidirectional Data Flow.

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

Какой у нас стек Android?

  • Kotlin, Gradle, Retrofit, OkHttp, Kotlin Coroutines/Flow, Glide, LeakCanary, Kotlin Multiplatform Mobile, RxJava 2, Ktor, Kinzhal, ktlint, AppMetrica, CameraX, Compose, SpeechKit, MapKit, KotlinX.Serialization, Wire
  • Espresso & Allure для UI-тестов
  • Развитая модульность
  • Dagger 2 для DI
  • Redux (UDF)

Какие сейчас есть вызовы?

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

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

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

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

Что по атмосфере?

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

Возможно, вы уже видели наши доклады и статьи:

Михаил Куренков рассказывает на Mobius 2020 про процессные особенности мультиплатформенной разработки

Дмитрий Яковлев рассказывает на AppsLive 2020, как концептуально выглядит типичная фича на Kotlin Multiplatform

Денис Загаевский рассказывает на Mobius 2021 про наш DI

Большой пост на Хабре от Евгения Васильева про многопоточность в Kotlin Native

Мы ждём, что вы

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

Что мы предлагаем

Расширенная медицинская страховка начинает работать с первого месяца в Яндексе. В неё входят стоматология, ежегодные чекапы, неотложная помощь за рубежом, лечение критических заболеваний, в том числе онкологии, и страхование от несчастных случаев.

А также:
  • психотерапия в офисе или онлайн-сервисах;
  • лазерная коррекция зрения через год работы;
  • ведение беременности и роды — через два года.
Страховка для родственников по системе 80/20

Мы оплачиваем 80% стоимости ДМС для детей и супругов, вы — остальные 20%.

В Яндексе есть всё, чтобы постоянно развиваться и учиться новому: внутренняя образовательная платформа, менторство и программы для начинающих и опытных руководителей.

А также:
  • оплата участия в профильных конференциях;
  • скидка 50% на изучение иностранных языков.

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

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

Можете заниматься самостоятельно, а можете с корпоративным тренером.

А также:
  • бесплатные онлайн-тренировки с FITMOST;
  • скидки в фитнес-клубах, бассейнах, студиях йоги, скалодромах и других местах.
Спортивный клуб Яндекса

В Яндексе есть спортивный клуб и много спортивных команд. У них есть свои лидеры, чаты, программы тренировок. А ещё они регулярно участвуют в забегах, триатлонах, «Гонке героев», футбольных и других соревнованиях.

Вы сможете присоединиться к существующим командам или собрать свою.

Гибкий график

У нас нет фиксированного времени начала и конца рабочего дня — работайте так, как удобно вам и вашей команде.

Гибридный формат

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

Всё для детей

Страхование, детские дни в офисе, подарки на рождение детей и чекапы при планировании беременности.

Жилищные займы

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

Спасибо за отклик!

Мы свяжемся с вами в течение недели.

Fri Feb 09 2024 12:47:58 GMT+0300 (Moscow Standard Time)