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

Оплата не указана

Вакансия находится в архиве

Яндекс

г. Москва

Требуемый опыт работы

От 3 до 6 лет

Тип занятости

Полная занятость

График работы

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

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

Мы не стоим на месте: проводим эксперименты, исследуем потребности пользователей, расширяем возможности существующих сценариев и создаём новые. За последнее время добавили поддержку 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 Multiplatform. Активно внедряем Compose.

А ещё мы выводим продукты на международные рынки с учётом региональных особенностей и потребностей.

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

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

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

Евгений Васильев на Я.Субботнике рассказывает про то, как собираем грабли при профилировании Android-приложений.

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

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

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

Мы ждем, что вы:

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

Условия:

  • Высокий доход и премии каждые полгода за эффективную работу
  • Возможность работать над ещё не решёнными задачами, участвовать в обсуждении и предлагать идеи, влиять на процесс и результат
  • Сильная команда, с которой можно расти
  • Расширенная программа ДМС: стоматология, обследования, вызов врача на дом и многое другое
  • Оплата 80% стоимости ДМС для супругов и детей
  • Компенсация оплаты питания
  • Корпоративные скидки в бассейнах, фитнес-центрах и магазинах
  • Курсы, тренинги, участие в конференциях
  • Гибкий график работы
  • Бесплатная парковка

Ключевые навыки

Android jetpack
Kmm
Kotlin
Rxjava

Контактная информация

Яндекс

Сайт: не указан

Почта: не указана

Вакансия опубликована 01.08.2024 в г. Москва.

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

#

Москва

Полный день

Подробное описание

10 июля

#

Москва

Полный день

Подробное описание

23 июля

#

Middle

Красноярск

Полный день

Подробное описание

17 апреля