Должностная инструкция Android-разработчика (Kotlin, Android Developer): 2026
Директор по IT / CTO
ООО "____________________"
__________ / __________________ /
«___» ____________ 2026 г.
1. Общие положения
1.1. Настоящая должностная инструкция устанавливает трудовые обязанности, права, квалификацию и ответственность разработчика мобильных приложений Android (Android-разработчика / Android Developer) (далее — Работник).
1.2. Должность относится к категории профессиональных инженеров-программистов мобильных клиентских систем.
1.3. Прием на работу и увольнение производятся приказом Генерального директора по представлению Руководителя мобильного направления / Android Team Lead.
1.4. Android-разработчик непосредственно подчиняется Android Team Lead / Ведущему инженеру проекта.
1.5. В своей деятельности Работник руководствуется:
- Трудовым кодексом РФ, Федеральным законом № 152-ФЗ «О персональных данных»;
- Профессиональным стандартом 06.001 «Программист» (утв. Приказом Минтруда РФ № 679н);
- Google Android Developer Guidelines, принципами Material Design 3;
- Правилами публикации приложений в Google Play Console, RuStore, Huawei AppGallery;
- Корпоративными стандартами архитектуры, регламентами безопасности и Git-flow.
2. Квалификационные требования к должности
2.1. Требования к образованию: Высшее или среднее профессиональное образование по направлению «Программная инженерия», «Прикладная информатика» либо эквивалентный подтвержденный коммерческий опыт в разработке мобильного ПО.
2.2. Требования к стажу: Для грейда Junior — от 6 месяцев разработки; для грейда Middle — от 2 лет; для грейда Senior Android Developer — от 4 лет создания высоконагруженных приложений.
2.3. Android-разработчик должен знать:
- Язык программирования Kotlin (Coroutines, Flow, Channels, Scope Functions, Extension Functions, Reflection, DSL), знание Java Core (Collections, Multithreading, Generics);
- Архитектурные компоненты Android Jetpack: ViewModel, LiveData, Room, Navigation Component, WorkManager, Paging 3, DataStore;
- Современный декларативный UI-фреймворк Jetpack Compose и классический XML Layout (ConstraintLayout, Custom Views, ViewBinding);
- Архитектурные подходы: Clean Architecture, MVI (Model-View-Intent), MVVM, Single Activity Architecture;
- Внедрение зависимостей (Dependency Injection): Dagger 2, Hilt, Koin;
- Сетевой стек: Retrofit 2, OkHttp, Ktor-client, сериализацию KotlinX Serialization / Moshi, работу с WebSockets и gRPC;
- Асинхронное программирование и многопоточность: Kotlin Coroutines & Flow, RxJava 2/3;
- Профилирование и оптимизацию: Android Studio Profiler (Memory allocations, CPU traces, Energy consumption), уменьшение размера APK/AAB (ProGuard, R8);
- Сборку проектов: Gradle (Kotlin DSL / Groovy), управление мультимодульной структурой проекта (Multi-module Architecture);
- Публикацию и сервисы дистрибуции: Google Play Services vs Huawei Mobile Services (HMS), RuStore SDK, настройку Push-уведомлений (FCM, Huawei Push Kit, RuStore Push).
Справочные данные классификаторов
| Классификатор | Код / Значение | Нормативный акт |
|---|---|---|
| Код по ОКЗ | 2514 (Разработчики мобильных приложений и ПО) | ОК 010-2014 |
| Код по ОКПДТР | 25773 (Программист) | ОК 016-94 |
| Профессиональный стандарт | 06.001 «Программист» | Приказ Минтруда РФ № 679н |
| Уровень квалификации | 5–6 уровень квалификации | Приказ Минтруда РФ № 148н |
3. Должностные и профессиональные обязанности
Android-разработчик выполняет следующие обязанности в процессе жизненного цикла приложения:
3.1. Проектирование и разработка функционала:
- Пишет надежный, типобезопасный и поддерживаемый код на языке Kotlin с соблюдением принципов SOLID, KISS и DRY.
- Разрабатывает адаптивные экраны пользовательского интерфейса (UI) на Jetpack Compose, корректно отображающиеся на различных экранах (смартфоны, планшеты, складные устройства Foldable).
- Интегрирует приложение с серверными REST/gRPC API, настраивает локальное кэширование данных в Room для обеспечения полноценного Offline-режима.
- Реализует безопасное хранение чувствительных данных пользователя с использованием Android KeyStore и EncryptedSharedPreferences.
3.2. Тестирование, релизный цикл и сопровождение:
- Пишет Unit-тесты (JUnit, MockK, Turbine) и инструментальные UI-тесты (Compose Testing / Espresso).
- Участвует в кросс-ревью кода других разработчиков команды, выявляет потенциальные утечки памяти и блокировки главного потока (ANR — Application Not Responding).
- Осуществляет сборку и публикацию релизных бандлов (AAB) в Google Play, RuStore, AppGallery с поддержкой различных Flavor-конфигураций.
- Анализирует метрики стабильности в production через Sentry/Crashlytics, оперативно выпускает Hotfix-релизы при обнаружении сбоев.
4. Права работника
Android-разработчик имеет право:
- Инициировать проведение рефакторинга и разбиения монолитного кода на независимые Feature-модули.
- Выбирать архитектурные библиотеки и технологии внутри согласованного стека проекта.
- Требовать предоставления современных физических тестовых устройств различных вендоров (Samsung, Xiaomi, Pixel, Huawei) для тестирования фрагментации Android.
5. Ответственность
Android-разработчик несет ответственность за:
- Ошибки ANR и краши (Crashes): блокировку UI-потока тяжелыми вычислениями или падения приложения у пользователей.
- Утечки оперативной памяти (Memory Leaks): некорректное удержание контекста Activity/Fragment в статических ссылках.
- Разглашение закрытых исходных кодов: утечку проприетарных алгоритмов компании на сторонние ресурсы.
6. Взаимодействие и KPI
6.1. Связи: взаимодействует с бэкенд-инженерами, дизайнерами (Material You), тестировщиками (QA Automation) и системными аналитиками.
6.2. KPI: отсутствие ANR (ANR rate < 0.05%), стабильность работы (Crash-free Sessions > 99.85%), выполнение запланированных задач спринта в срок (Sprint Burndown).
Лист ознакомления
| ФИО разработчика | Квалификация | Подпись | Дата |
|---|---|---|---|
| ______________________________ | (Junior / Middle / Senior) | ______________ | «___» __________ 202__ г. |
Вопросы и ответы по должности
Что такое ANR в Android и как разработчик должен его избегать?
ANR (Application Not Responding) — диалоговое окно зависания, которое ОС Android показывает пользователю, если главный поток (Main Thread) заблокирован более 5 секунд. Чтобы избежать ANR, все операции ввода-вывода (сеть, чтение БД, работа с файлами) выносятся в фоновые потоки через корутины (Dispatchers.IO).
Как решается проблема отсутствия сервисов Google на смартфонах Huawei?
Через использование механизма Product Flavors в Gradle. Создаются две параллельные сборки: одна с подключением Google Mobile Services (GMS), а вторая — с HMS SDK (Huawei Mobile Services) и RuStore SDK.