29.11.2022 13:01
Android Разработчик в Яндекс.Карты
29.11.2022 13:01
Карты и Навигатор ежедневно помогают миллионам пользователей по всему миру решать свои задачи. Найти ресторан или дорогу до места встречи с друзьями, запланировать поход в салон красоты, построить максимально эффективный маршрут на любом типе транспорта или просто узнать, что интересного есть в городе, — наши базовые сценарии, жизненно необходимые современному городскому жителю. Мы не стоим на месте: проводим эксперименты, исследуем потребности пользователей, расширяем возможности существующих сценариев и создаём новые. За последнее время добавили поддержку 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 про процессные особенности мультиплатформенной разработки: www.youtube.com/watch?v=m5H1KGsdqtw Дмитрий Яковлев рассказывает на AppsLive 2020, как концептуально выглядит типичная фича на Kotlin Multiplatform: www.youtube.com/watch?v=o-2RLhSlosI Денис Загаевский рассказывает на Mobius 2021 про наш DI: www.youtube.com/watch?v=COzmONYAY3U Большой пост на Хабре от Евгения Васильева про многопоточность в Kotlin Native: habr.com/ru/company/yandex/blog/575846/ Мы ждем, что вы: разрабатывали мобильные приложения для Android и глубоко знаете SDK платформы; умеете прорабатывать задачи от и до, имеете продуктовое мышление, стремитесь улучшать жизнь пользователей; знаете современные принципы построения архитектуры мобильных приложений; готовы совершенствовать процессы и инфраструктуру разработки. Условия: высокий доход и премии каждые полгода за эффективную работу; возможность работать над ещё не решёнными задачами, участвовать в обсуждении и предлагать идеи, влиять на процесс и результат; сильная команда, с которой можно расти; расширенная программа ДМС: стоматология, обследования, вызов врача на дом и многое другое; оплата 80% стоимости ДМС для супругов и детей; компенсация оплаты питания; корпоративные скидки в бассейнах, фитнес-центрах и магазинах; курсы, тренинги, участие в конференциях; гибкий график работы; бесплатная парковка.
Адрес
Москва
Похожие вакансии
По договоренности
27.12.2022 01:36
компания "яндекс" карты и навигатор ежедневно помогают миллионам пользователей по всему миру решать свои задачи. найти ресторан или дорогу до ...
Партнерские Вакансии
Москва
По договоренности
29.11.2022 13:01
Карты и Навигатор ежедневно помогают миллионам пользователей по всему миру решать свои задачи. Найти ресторан или дорогу до места встречи ...