Android разработчик
Требования
Местоположение и тип занятости
Компания
Международная компания, специализирующаяся на консалтинге, технологических услугах и аутсорсинге
Описание вакансии
О компании и команде
Проект: Разработка проекта универсальной платформы под мобильные приложения для клиентов компании в разных странах.
Должностные обязанности:
- • Разработка новой универсальной платформы клиентского приложения на платформе android;
- • Разработка платформенных компонентов;
- • Оценка сложности разработки, планирование и работа в спринтах (agile/scrum);
- • Code Review
- • Взаимодействие с аналитиками, бизнес-заказчиками, тестировщиками, архитекторами и другими участниками рабочих групп.
- • Согласование архитектурных решений и технических заданий.
- • Документирование.
- • Содействие в решении проблем в промышленной среде
Ожидания от кандидата
- • Опыт программирования на Java/Kotlin от 3х лет (исключая фриланс);
- • Отличные знания Java Core, Kotlin, Android SDK;
- • Знание алгоритмов и структур данных;
- • Понимание паттернов проектирования и умение их применять на практике, ООП, SOLID
- • Опыт работы с многопоточностью (RxJava/Coroutines)
- • Понимание архитектурных паттернов MVP, MVVM, MVI и опыт их применения
- • Знание и использование принципа Clean Architecture
- • Знание тонкостей работы разных версий ОС Android
- • Опыт использования Android Architecture Components
- • Опыт применения DI (Dagger2), AAC, OKHTTP/Retrofit
- • Понимание принципов и опыт работы с RESTful API и HTTP
- • Владение основными средствами контроля версий
Дополнительные (желательные) требования:
- • Опыт автоматизации тестирования мобильных приложений (Unit и UI тесты);
- • Любовь к плавным анимациям и pixel-perfect соответствию дизайну;
- • Опыт автоматизации рутинных задач (CI/CD, fastlane/jenkins etc.);
- • Опыт работы с websocket, написания чатов/звонилок;
- • Опыт работы над большими многомодульными проектами;
- • Понимание принципов Agile.
Условия работы
- Возможность профессионального и карьерного роста в компании;
- Возможность поучаствовать в разных проектах;
- Опыт работы в распределенной команде профессионалов;
- Уровень заработной платы обсуждается индивидуально;
- Возможность работать удаленно.