Код — это меморандум: 21 урок выживания после 14 лет в Google
Ветеран Google Эдди Османи о том, почему лучшие инженеры — не всегда лучшие программисты, и как не сжечь карьеру в погоне за «инновационными токенами».
Ветеран Google Эдди Османи о том, почему лучшие инженеры — не всегда лучшие программисты, и как не сжечь карьеру в погоне за «инновационными токенами».
3 мин

В мире, где нейросети пишут код быстрее джуниоров, а фреймворки умирают раньше, чем вы успеваете прочитать документацию, опыт становится единственной твердой валютой. Эдди Османи, проработавший в Google 14 лет, выложил на стол карты, которые обычно прячут в рукаве сеньоры. Это не туториал по <a href="/glossary/kubernetes" class="text-primary hover:underline">Kubernetes</a>. Это манифест выживания в корпоративном киберпространстве.
Первый урок бьет по самолюбию гиков: лучшие инженеры не те, кто знает все флаги компилятора. Лучшие — это те, кто одержим проблемой пользователя. Техно-фетишизм — ловушка. Начинать с решения и искать под него проблему — верный способ построить никому не нужный звездолет. Элегантное решение часто оказывается до смешного простым, если вы действительно понимаете, почему пользователь страдает.
В корпоративных войнах побеждает не тот, кто технически прав, а тот, кто умеет договариваться. «Блестящие инженеры», накапливающие скрытую ненависть коллег своим высокомерием, в итоге сталкиваются с «таинственными проблемами исполнения». Истина проста: код не адвокат. Он молчит в репозитории. Если никто не может артикулировать ваш вклад в комнате, где принимаются решения, ваш вклад опционален.
Османи вводит понятие «бюджета на инновации». Каждая новая, нестандартная технология — это потраченный токен. Вы не можете позволить себе много. «Скучные» технологии имеют известные режимы отказа. Новизна — это кредит, который вы будете выплачивать ночными дежурствами, сложностями в найме и когнитивной перегрузкой. Выбирайте скучное, если только инновация не является тем самым уникальным преимуществом, за которое вам платят.
Умный код — это оверхед. Код — это письмо незнакомцу, который будет читать его в 3 часа ночи во время критического сбоя. Оптимизируйте его для понимания этим несчастным, а не для демонстрации своего IQ. Сеньорность измеряется ясностью, а не количеством абстракций. Кстати, об абстракциях: они не удаляют сложность, а просто откладывают её до момента, когда вы окажетесь на on-call дежурстве.
На масштабах Google даже ваши баги становятся фичами для кого-то другого. Если у вас достаточно пользователей, любое наблюдаемое поведение системы становится зависимостью. Кто-то уже парсит ваши ошибки или автоматизирует ваши причуды. Совместимость — это не обслуживание, это продукт. Большинство «медленных» команд на самом деле не медленные, а рассогласованные. В больших системах координация стоит дороже написания кода.
Резюме Reymer: Опыт Османи — это холодный душ для тех, кто считает, что карьера строится на знании алгоритмов. Софт-скиллы, эмпатия к пользователю и умение удалять код (да, лучший код — тот, который не написан) — вот настоящие импланты, которые сделают вас неуязвимым в индустрии.