Разработчик Android
Требования
Местоположение и тип занятости
Компания
Международная компания, специализирующаяся на консалтинге, технологических услугах и аутсорсинге
Описание вакансии
Условия работы
Вам предстоит:
- разрабатывать клиентскую логику мобильного приложения;
- находить лучшие интерфейсные решения вместе с product owner-ом, аналитиками и дизайнерами;
- разрабатывать новые функциональные модули;
- улучшать код с каждой новой задачей;
- принимать решения по архитектуре и технологиям приложения;
- автоматизировать процесс разработки и тестирования;
- участвовать в еженедельных встречах разработчиков (tech talks).
Наш технологический стек:
- Kotlin;
- многомодульный Gradle-проект;
- Room;
- Android Architecture Components (ViewModel, LiveData, etc.);
- Jetpack Navigation;
- Retrofit, Okhttp;
- RxJava (в планах переход на Kotlin Coroutines);
- подход Single Activity;
- DI - Toothpick (думаем о переезде на Dagger2/Hilt);
- Firebase-сервисы;
- тестирование кода (unit и UI-тесты);
- Jira, Bitbucket, TeamCity.
От вас мы ожидаем:
- опыт разработки под Android не менее трёх лет;
- отличные знания языка Kotlin, интерес к трендам от JetBrains и Google;
- понимание многопоточности и асинхронности при работе с RxJava;
- полное понимание жизненного цикла Android-компонентов;
- знание ООП и шаблонов проектирования, использование в работе принципов Clean architecture;
- базовое представление о средствах защиты приложений от атак;
- опыт разработки сложных пользовательских интерфейсов (включая работу с анимациями и Custom View);
- понимание архитектуры MVVM, знание и понимание основных структур данных и алгоритмов;
- понимание принципов работы RESTful API и WebSocket.
Будет здорово, если вы:
- понимаете, как работать с корутинами;
- использовали Jetpack Compose и Navigation Component
- понимаете, как работать с многомодульными проектами;
- можете достать данные из Room;
- внедряли тестирование на проекте (UI-тесты на Espresso/Kaspresso, snapshot-тесты, JUnit-тесты или другие).