Предлагал ли свои идеи команде на прошлой работе

Ответ

Да, регулярно предлагал идеи по оптимизации процессов и улучшению кода. Например, в одном из проектов заметил, что повторяющиеся сетевые запросы можно кэшировать. Предложил реализовать OkHttp Interceptor с кэшированием:

class CacheInterceptor : Interceptor {
    override fun intercept(chain: Interceptor.Chain): Response {
        val request = chain.request()
        val cacheControl = CacheControl.Builder()
            .maxAge(1, TimeUnit.HOURS)
            .build()
        return chain.proceed(request.newBuilder()
            .header("Cache-Control", cacheControl.toString())
            .build())
    }
}

Идею обсудили с командой, доработали и внедрили, что сократило нагрузку на сервер на 15%. Всегда открыт к конструктивной критике и готов обсуждать решения.

Ответ 18+ 🔞

А, ну это же классика, ёпта! Ты знаешь, я всегда был тем самым чуваком, который не может просто сидеть и смотреть, как всё ебётся колёсами. Подозрение ебать чувствую, когда вижу какой-нибудь костыльный код или процесс, который жрёт ресурсы, как не в себя.

Вот, например, был у нас проект — красота, вроде всё летает. А я смотрю и думаю: «Э, бошка, думай». Заметил, что одно и то же приложение дерёт бэкенд по сто раз на дню, запрашивая одни и те же данные. Ну, ядрёна вошь, зачем? Серверу же пиздец, а у пользователя трафик горит. Волнение ебать, прямо руки чешутся.

Так вот, подкатываю к тимлиду и говорю: «Слушай, а давай не будем такими распиздями? Видишь, тут у нас запросы повторяются, как мантра. Можно же их прикрутить к кэшу, чтоб не дёргали сервак по каждой ерунде». Предложил накидать OkHttp Interceptor, который бы всё это дело грамотно кэшировал. Типа такого:

class CacheInterceptor : Interceptor {
    override fun intercept(chain: Interceptor.Chain): Response {
        val request = chain.request()
        val cacheControl = CacheControl.Builder()
            .maxAge(1, TimeUnit.HOURS)
            .build()
        return chain.proceed(request.newBuilder()
            .header("Cache-Control", cacheControl.toString())
            .build())
    }
}

Сначала, конечно, были взгляды в стиле «ну вот, опять этот хитрожопый со своими идеями». Но я не сдался, ебать копать! Разложил всё по полочкам: сколько запросов, какой объём данных, сколько можно сэкономить. Обсудили с ребятами, немного доработали логику под наши нужды — и внедрили, бля буду!

И знаешь, что в итоге? После релиза нагрузка на сервер упала на целых 15%, ёперный театр! Это ж овердохуища экономии. А главное — я всегда только за, когда мои идеи критикуют по делу. Если кто-то показывает, где я накосячил или можно сделать лучше — это же прекрасно, чувак. Не надо делать из этого трагедию, мы же не на войне. Всё обсуждаемо, лишь бы в итоге всё работало, как часы, а не как хуй с винтом.