В чем разница между Middle и Senior

«В чем разница между Middle и Senior» — вопрос из категории Софт-скиллы, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Middle Developer умеет самостоятельно решать типовые задачи, знает стандартные библиотеки и фреймворки, но может испытывать трудности с нестандартными кейсами. Senior не только решает сложные задачи, но и проектирует архитектуру, обучает команду, принимает стратегические решения.

Пример:
Middle:

fun loadData() {
    viewModelScope.launch {
        val data = repository.getData()
        _uiState.value = UiState.Success(data)
    }
}

Senior предусмотрит ошибки, кэширование, отмену корутин:

fun loadData() {
    viewModelScope.launch {
        _uiState.value = UiState.Loading
        try {
            val data = repository.getCachedData() ?: repository.fetchData()
            _uiState.value = UiState.Success(data)
        } catch (e: Exception) {
            _uiState.value = UiState.Error(e)
        }
    }.also { job -> 
        onCleared { job.cancel() } 
    }
}

Senior также думает о масштабируемости и поддерживаемости кода.