Расскажи про команду на прошлом месте работы

Ответ

В моей предыдущей команде мы разрабатывали мобильное приложение для банка. Команда состояла из 5 Android-разработчиков, 2 iOS-разработчиков, 3 бэкендеров, QA-инженера и тимлида. Мы работали по Scrum с двухнедельными спринтами.

Я отвечал за реализацию фич в клиентской части: платежи, авторизация, работа с API. Часто взаимодействовал с бэкендом по спецификациям и с QA для тестирования. Пример кода, который я писал:

fun makePayment(amount: Double, recipient: String) {
    viewModelScope.launch {
        try {
            paymentRepository.transfer(amount, recipient)
            _paymentStatus.value = PaymentStatus.SUCCESS
        } catch (e: Exception) {
            _paymentStatus.value = PaymentStatus.ERROR
        }
    }
}

Работали в GitFlow, код ревьюировали через GitHub. Команда была дружная, помогали друг другу с сложными задачами.

Ответ 18+ 🔞

Ну вот, сижу я тут, вспоминаю свою прошлую контору. Разрабатывали мы, значит, приложение для одного банка, такое, чтобы деньги переводить и счета смотреть. Команда у нас была — ядрёна вошь! Пять андроидщиков, два айосника, три бэкендера, один тестировщик и тимлид, который в основном на митингах сидел.

Работали по этому вашему Scrum, спринты по две недели. Честно говоря, иногда это напоминало ёперный театр: в начале спринта планируем овердохуища задач, а к концу выясняется, что API от бэкендеров ещё не готов, и все начинают неистово бздеть. Подозрение ебать чувствую, что они его в последнюю ночь на коленке пилят.

Я, в основном, на андроиде клиентскую часть пилил: всякие платежи, авторизацию, общение с сервером. С бэкендерами постоянно нужно было по спецификациям сверяться. Придёшь к ним: «Мужики, а где документация на новый метод?». А они такие: «Да вот, в постмане смотри, там всё есть». А там, естественно, хуй с горы — поля одни названы, а какие обязательные, какие нет — догадайся сам. Чих-пых тебя в сраку, волнение ебать!

Вот, например, код для перевода денег писал. Выглядит вроде ничего:

fun makePayment(amount: Double, recipient: String) {
    viewModelScope.launch {
        try {
            paymentRepository.transfer(amount, recipient)
            _paymentStatus.value = PaymentStatus.SUCCESS
        } catch (e: Exception) {
            _paymentStatus.value = PaymentStatus.ERROR
        }
    }
}

А потом выясняется, что репозиторий на ошибки сети не реагирует, и у пользователя висит вечная заглушка. Приходится идти к тому, кто это писал, и выяснять, какого хуя. Но в целом, ребята были адекватные, помогали.

Работали мы через GitFlow, все пулл-реквесты в GitHub. Код-ревью — это отдельная песня. Сидишь, смотришь на чужой код, и думаешь: «Э, бошка, думай, зачем тут эта дичь?». Напишешь комментарий: «Мужик, а давай тут корутины поправим?». А в ответ: «Да похуй, и так работает». Терпения ноль ебать! Но если реально косяк, то исправляли, не упрямились.

Самое главное — атмосфера была человеческая. Не то чтобы прям все друг другу в душу бога мать, но помогали, если кто-то в жопе. Не как в некоторых местах, где каждый сам за себя, и гомосеки налетели при первой же проблеме. А тут — чувак, если не можешь с задачей справиться, подойдут, подскажут. И тимлид наш, хоть и вечно занятой, но если реальный пиздец — заступался. В общем, работа была, можно сказать, пизда рулю, хоть и ругались иногда почём зря.