Требования
- опыт android-разработки от 2 лет;
- уверенные знания Java, Kotlin, Android SDK, Android Studio;
- знание ООП и паттернов проектирования;
- опыт проектирования архитектуры приложения с нуля;
- опыт использования JSON, XML, REST API;
- опыт взаимодействия с WebView;
- опыт работы с MVP архитектурой;
- умение работать с Push-уведомлениями, Google Maps, Firebase;
- опыт адаптации приложений под Android планшеты;
- опыт работы с Git, понимание Gitflow;
- опыт работы в agile команде;
- знание цикла работы приложения, управления памятью, хранения данных;
- знание систем автоматической сборки проектов;
- умение писать тесты (Espresso, JUnit);
- умение проводить качественное код-ревью.
Плюсом будет
- навыки работы с CI/CD;
- опыт использования Android Clean Architecture;
- умение создавать сложные интерфейсы и анимации;
- опыт работы с Ionic или аналогичными фреймворками для создания гибридных мобильных приложений.
Обязанности
- участие в командной разработке, включая взаимодействие с аналитиками, дизайнерами и тестировщиками;
- разработка новых и поддержка существующих приложений под Android;
- проведение декомпозиции и оценки поставленных задач;
- написание Unit-тестов;
- самостоятельное тестирование и отладка разрабатываемых продуктов;
- реализация интересных UI/UX и «подкапотных» решений;
- участие в развитии архитектуры мобильных приложений;
- контроль кода, архитектуры в проектах, рефакторинг;
- совершенствование технических инструментов;
- внедрение новых технологий и практик.
Ожидаем, что кандидат
- работал в Agile-команде, готов улучшать процессы;
- проактивен, следит за новыми технологиями, предлагает их внедрять;
- работал на аналогичной должности и умеет разрабатывать серьезные коммерческие приложения для Android;
- имеет навыки написания кода, которые соответствуют принятым в индустрии стандартам;
- готов прикладывать все усилия, необходимые для достижения результата (даже если требуется потратить дополнительное время на изучение чего-то нового);
- умеет декомпозировать задачи по техническим заданиям или бизнес-требованиям;
- умеет проводить отладку приложений, прежде чем передавать на проверку QA-инженерам;
- способный при возникновении потребности работать в условиях жестких сроков;
- инициативен и готов продолжать профессиональный рост.