Senior Android developer
Прямой работодатель KRiT ( krit.pro )
Опыт работы более 5 летот 270 000 000 ₽
Функции:
- разработка мобильных приложений на языках Kotlin/Java (Android);
- поиск и устранение ошибок в коде разработанных ранее мобильных приложений;
- разработка документации разработчика (спецификации, отчеты);
- написание unit-test;
- консультация аналитиков по техническим, архитектурным решениям.
Требования:
- опыт коммерческой разработки под Android от 4-х лет;
- уверенное знание Kotlin/Java Core;
- уверенное владение ООП и опыт работы с шаблонами проектирования MVP, MVVM, MVI;
- знание базовых структур, алгоритмов, паттернов;
- Умение писать чистый код используя принципы SOLID, DRY, KISS.
Преимуществом будет:
- Опыт работы с Coroutines, RxJava, Data Binding, Dagger2.
Условия:
- оформление согласно ТК РФ;
- полностью “белая” з/п, премии с соответствии с достигнутыми результатами работ;
- ДМС (после успешного прохождения испытательного срока);
- профессиональный и карьерный рост;
- регулярные корпоративные мероприятия;
- участие в конференциях и митапах;
- достойная оплата труда;
- чай/кофе/печеньки в офисе;
- возможен гибкий график, частично удаленная работа.
Дополнительно
Технологии разработки:
Языки разработки:
- Kotlin;
- Java, только для поддержки легаси кода и не рекомендуется для разработки в новых или существующих проектах.
Архитектурные паттерны:
- MVP - Model-View-Presenter, в основе которой лежит framework "Moxy" v2+;
- MVVM - Model-View-ViewModel, архитектурный паттерн, придуманный компанией Microsoft, и предлагаемый компанией Google, как основной паттерн разработки под Android и входящий в набор библиотек Jetpack Architecture Components;
- preMVI-SResult - паттерн разработки основанный на архитектуры MVI-Model-View-Intent, но без применения реактивного программирования, где основным компонентам являются события (Events) передаваемые от View, и состояния (States), которые принимает view, в ответ на получаемые события. Таким образом реализуется схема Unidirectional Data Flow.
Многопоточность и асинхронные вызовы:
- Kotlin Coroutines, рекомендуется для разработки MVVM/preMVI проектов;
- RxJava3, рекомендуется использовать в связке с MVP-паттерном.
Навигация:
- Google Navigation Component;
- Cicerone, рекомендуется во всех небольших проектах компании, в связке с MVP & RxJava;
- ScreenNavigator - кастомный навигатор разработанный компанией KRit.
Dependency Injection (DI) - Инъекция(внедрение) зависимостей:
- Dagger;
- KODI- DI-контейнер, написанный на языке KOTLIN, с кодогенерацией.
Data Binding - технология предложенная компанией Google:
- ERB - готовый набор расширений для связывания данных на андроид.
View Binding
Foresight Mobile Platform - набор библиотек из коробки (Network, DB, StateAPI, etc..), для работы с backend (источниками данных).
Kotpref - рекомендуется для использования как key-value (SharedPreference) хранилище.
Room DB - SQL-adapter, рекомендуется для хранения внутренних данных приложения.
Retrofit2 - HTTP-библиотека для работы с удаленными серверами.