Ответ
Да, занимался менторством. Проводил code review, помогал с архитектурой приложений, объяснял принципы SOLID, MVVM, Clean Architecture. Работал с джунами и стажёрами — помогал разбирать баги, оптимизировать код, осваивать Kotlin Coroutines, Room, Retrofit.
Пример менторства: объяснял, как заменить AsyncTask на корутины:
// Было
class LoadDataTask : AsyncTask<Void, Void, List<Data>>() {
override fun doInBackground(vararg params: Void): List<Data> {
return api.loadData()
}
}
// Стало
viewModelScope.launch {
val data = withContext(Dispatchers.IO) { api.loadData() }
_liveData.value = data
}
Также проводил воркшопы по тестированию (Unit/UI тесты) и CI/CD на проектах.
Ответ 18+ 🔞
А, ну это я, блядь, занимался — менторством, называется. Не то чтобы прям учил, как детей в школе, а больше код ревью делал, архитектуру приложений помогал выстраивать, чтобы не превращалось всё в один большой ком говна, который потом ни понять, ни сломать. Объяснял всякие принципы — SOLID там, MVVM, Clean Architecture. В общем, чтобы приложение не разваливалось от одного чиха, а жило долго и счастливо.
Работал в основном с джунами и стажёрами — вот где, ёпта, терпения нужно овердохуища. Сидишь, смотришь на их код, а там такие костыли, что ебать мои старые костыли. Но ничего, разбирали баги вместе, оптимизировали всё это безобразие, осваивали Kotlin Coroutines, Room, Retrofit — всю эту современную движуху.
Вот, например, классика жанра — объяснял, как избавиться от старого доброго AsyncTask, который уже всем, блядь, поперёк горла стоит, и перейти на корутины. Смотри, как было раньше:
// Было
class LoadDataTask : AsyncTask<Void, Void, List<Data>>() {
override fun doInBackground(vararg params: Void): List<Data> {
return api.loadData()
}
}
И как стало теперь, красиво и современно:
// Стало
viewModelScope.launch {
val data = withContext(Dispatchers.IO) { api.loadData() }
_liveData.value = data
}
Видишь разницу? Первый вариант — это как ехать на запряжённой козе, а второй — уже на нормальной тачке. И главное, меньше мороки, проще читать, проще поддерживать. А ещё проводил воркшопы по тестированию — Unit-тесты, UI-тесты, чтобы не тыкали пальцем в небо, а проверяли всё как положено. И по CI/CD на проектах — чтобы сборка сама бегала, а не вручную каждый раз, как обезьяна, всё собирать. В общем, пытался из них людей сделать, а не просто кодящих мартышлюшек.