О компании
Edoox.com — ведущая образовательная платформа Казахстана для учащихся, учителей и школ. Более 1 млн пользователей и 2000 школ используют наш сервис для подготовки к экзаменам и контроля знаний.
Технические требования
Обязательные навыки
Языки разработки
- Уверенное владение Kotlin (основной язык разработки).
- Знание Java для поддержки и развития существующего кода.
- Понимание ООП, SOLID, паттернов проектирования (MVVM, MVI, Clean Architecture).
Android SDK и UI
- Глубокие знания Android SDK, жизненного цикла Activity/Fragment.
- Опыт работы с Jetpack Compose и классической XML-вёрсткой (Views).
- Jetpack-компоненты: ViewModel, LiveData, Navigation, Room, WorkManager.
- Опыт разработки адаптивных интерфейсов под планшеты и большие экраны (responsive layouts, ConstraintLayout, WindowSizeClass).
- Material Design 3.
Асинхронность и многопоточность
- Kotlin Coroutines, Flow.
- Понимание принципов реактивного программирования.
Сетевое взаимодействие
- Работа с REST API (Retrofit, OkHttp).
- Парсинг JSON (Gson, Moshi, kotlinx.serialization).
- Понимание принципов работы WebSocket (плюсом).
Хранение данных
- Room, SQLite — локальные БД.
- SharedPreferences / DataStore.
- Кеширование данных и работа в офлайн-режиме.
Dependency Injection
Инструменты
- Система контроля версий Git.
- Gradle (Kotlin DSL приветствуется).
- Android Studio, Profiler, Layout Inspector.
- Firebase (Crashlytics, Analytics, Push-уведомления).
Тестирование
- Unit-тесты (JUnit, MockK).
- UI-тесты (Espresso, Compose Testing) — желательно.
Публикация
- Опыт публикации приложений в Google Play.
- Понимание процесса подписи APK/AAB, работы с Play Console.
Дополнительные плюсы
- Опыт работы с CI/CD (GitHub Actions, GitLab CI, Bitrise, Fastlane).
- Опыт работы с медиа-контентом (ExoPlayer, видео/аудио воспроизведение).
- Опыт с Kotlin Multiplatform (KMP).
- Опыт интеграции платежных систем.
- Опыт работы в EdTech-проектах.
- Базовые знания backend (REST API, понимание серверной части).
Личные качества
- Умение быстро анализировать чужой код.
- Внимание к качеству UX и деталям интерфейса.
- Ответственность и соблюдение сроков.
- Готовность к работе в образовательном проекте с социальной миссией.