Senior Android Developer
inDrive — международный сервис пассажирских перевозок. Мы создаем глобальный высокотехнологичный продукт, который меняет жизнь миллионов людей к лучшему. Входим в топ-3 мобильных сервисов для заказа поездок в мире по количеству скачиваний — 150+ млн. установок. Мы работаем в 700+ городах 45 стран мира.
В отделе Android разработки больше 40 человек, а всего в команде 400+ разработчиков и инженеров.
Разработка ведется не только по направлению городских перевозок пассажиров, но и по другим смежным направлениям таких как грузовые, междугородние перевозки, и дальше таких сервисов будет появляться еще больше. И все это в одном приложении.
Наш стек:
- пишем на Kotlin, есть легаси на Java (<20% кода);
- многомодульная архитектура, около 100 модулей;
- Dagger 2, RxJava 2, Retrofit + OkHttp + Gson, Android Architecture Components (ViewModel, LiveData, Room, WorkManager), Glide, Cicerone, Firebase libs;
- CI/CD: Github Actions, Docker, Python, Fastlane;
- пишем Unit тесты, UI тесты пишет отдельная команда автоматизаторов;
- анализ кода: Detekt + ktLint, Android Lint, кастомные правила Detekt;
- здоровьем и качеством проекта занимается отдельная платформенная команда (например, разработка полезных инструментов, улучшение времени старта приложения, оптимизация связей в модулях).
Вам предстоит:
- разработка нового функционала приложения;
- поддержка уже существующего функционала;
- участие в code review;
- разработка, доработка и документирование общих подходов к архитектуре и кодстайлу;
- разработка общих компонентов для feature-команд;
- работа с многомодульностью (например, вынос функционала в отдельные модули, корректное разделение на модули, организация DI в многомодульном приложении, помощь ребятам в понимании многомодульности и т.п.);
- настройка и поддержка анализаторов кода.
Наши пожелания:
- опыт коммерческой разработки мобильных приложений под Android;
- отличное знание Java и Kotlin;
- отличное знание принципов ООП, SOLID, шаблонов проектирования и различных MV* паттернов;
- умение писать поддерживаемый и тестируемый код;
- умение аргументированно отстаивать свою точку зрения;
- желание решать сложные задачи и развиваться;
- опыт разработки многомодульных проектов;
- хорошее знание и понимание Dagger 2 (или альтернативы), в т.ч. опыт применения в условиях многомодульности.
Мы предлагаем:
релокацию в офис компании на Кипре или в Казахстане + релокационный пакет;
современные MacBook Pro и другое необходимое для работы оборудование;
неограниченные возможности профессионального и карьерного роста, регулярное внешнее и внутреннее обучение от наших партнеров;
программы личностного роста, в которых мы ставим цели и вместе к ним движемся;
стать частью международной команды профессионалов и просто хороших людей, которые все вместе создают одну из самых крутых историй успеха в мировой IT-индустрии.