В прошлом посте я рассказал, что такое perf, как он происходит и почему он спроектирован именно таким. Сегодня я хочу поговорить о главной проблеме этой системы.
В комментариях под прошлым постом было бурное обсуждение на тему проблем с перфом. Была упомянута реальная проблема: stack ranking (она же curve fitting, она же бюджетирование). Я не считаю это проблемой именно перфа, потому, что не считаю ее частью перфа. Это отдельная, независимая система, приделанная сбоку, уже значительно позже разработки самого процесса перфа. Было недовольство мотивацией (a.k.a. promo-driven development). По нему моя позиция, что это не баг, а фича. Финансовое давление помогает фокусироваться на важном и игнорировать неважное. Ну и было много ругани на менеджеров, чего я совсем не понимаю, ведь они меньше всех влияют на результат. А теперь поговорим о главном наблюдении очень старших инженеров в тех гигантах.
Главная проблема перфа -- он очень сложный. Это была идеальная система во времена духа Bell Labs или раннего/среднего Google. Но за последние 10 лет Big Tech вырос с десятков тысяч до нескольких сотен тысяч человек. Очевидно, это не могло произойти без понижения планки качества нанятых людей. Ну и конечно, пик снижения планки мы все наблюдали в ковид. Чем дальше, тем больше становилось компромиссов по скиллам кандидатов. И если технические знания поддерживать проще, то очень тяжело держать планку по скиллу рефлексировать о своей собственной работе, детально разбирать каждое свое действие, и описывать их в хорошо оформленном и понятном случайному инженеру из другого угла компании. В итоге, на это просто забили, и решили, что фиг с ним, там научатся. Ну или не научатся, и уйдут сами. Если читателю кажется, что этот мой вывод звучит очень снобско, мол понанимали средненьких новобранцев, то я смею заверить этого читателя, что на входе в бигтех я сам не обладал этим скиллом, и кто знает, наняли ли бы меня самого без этого компромисса. К счастью, я смог довольно быстро научиться: я был хорошим джуном. Но проблема остается проблемой. Писать perf -- это очень сложная работа, которая каждый раз сопровождается месяцем нытья на внутренних форумах компаний. В результате производится гигантский объем низкокачественной писанины, что создает кучу работы и для написания peer review, и для менеджеров, и для комитетов. Эта работа выглядит неэффективно, вынуждая старших экзекутивов давить на менеджеров, чтобы они брали на себя часть ответственности. Это приводит к тому, что люди так и не научатся этому скиллу, а планка снижается еще сильнее. В итоге мы видим спираль, которая раскручивается прямиком на дно.
Я не смогу научить читателя писать крутой и легкий перф. Этого можно достичь только упорной самостоятельной работой. Но я смогу помочь читателю сделать первые шаги и помочь перейти из режима "я не знаю, что тут писать" в режим "могу написать хороший перф, а теперь надо научится писать идеальный". И начну я с нескольких простых инструментов, которые решают 80% проблемы. В следующей серии.
Post #72
8.23K
- 👍 47
- ❤ 11
- 🔥 10
- 🥱 4
- 👏 1
- 😁 1