Ответ
В Android-разработке рост по грейдам обычно выглядит так:
Junior – пишет код по ТЗ, знает основы Android (Activity/Fragment, View, простые запросы в сеть).
Middle – самостоятельно проектирует фичи, разбирается в многопоточности (Coroutines/RxJava), DI (Dagger/Hilt), знает принципы SOLID, Clean Architecture.
Senior – ведет технические решения, настраивает CI/CD, оптимизирует производительность, участвует в архитектурных решениях, может менторить джунов.
Lead/Staff – отвечает за техническое направление, принимает ключевые решения, работает с бизнесом, формирует roadmap.
Пример роста:
// Junior – просто делает запрос
fun loadData() {
viewModelScope.launch {
val data = repo.getData()
_uiState.value = data
}
}
// Senior – добавляет обработку ошибок, кеширование, тестируемость
fun loadData() {
viewModelScope.launch {
_uiState.value = UiState.Loading
try {
val data = repo.getCachedData() ?: repo.fetchData()
_uiState.value = UiState.Success(data)
} catch (e: Exception) {
_uiState.value = UiState.Error(e)
}
}
}
Главное – не только технические навыки, но и влияние на проект и команду.