История №1124402
Тема попытки измерения производительности программистов началась на самой заре промышленной разработки, ведь хуй его знает, парень сидит криво на стуле подставив солнцу горб и таращит катаракты в мерцание кинескопа. Различить по барабанной партии на клавиатуре, пишет он там полезное кодилово, ведущее компанию в заданном направлении или очередной порно-фанфик с тентаклями и фуррями, сможет только такой же ебанутый, который занят ровно той же хуйней за соседним ослепителем. И это хорошо, если он громко пытается пробить пальцами очередную доску с кнопками, так ведь может просто сидеть, в окно глядеть, а на вопрос "какого хуя спидометр работы около нуля?", может спокойно ответить: "а я блять думал над эффективным решением поставленной задачи, но ты, хуйня из под ногтей, меня отвлек, выбил из потока, а потому мне придется восстанавливать мыслительный процесс еще пару часов, запиши-ка блять это на свой счет"...
Естественно у всех бомбило. Офисные пчелы хуяряли бумаги из стопки в стопку по кругу, а очкастые задроты читали баш и рассылали менеджеров дежурным "пошли нахуй, у нас компилируется".
И ссаные менеджеры поступили как поступали всегда: вздрочнули друг другу и в коллективном экстазе эякуляции узрели улыбку своего Б-га, который протягивал им треснутую скрижаль с тремя буквами на борту.
"KPI". Ки-Пи-Ай, блять, желаю удачи.
Это было начало долгой борьбы Тупеньких с Распиздяями.
Первая волна введения KPI получила название "Первая китайская война". Властелины красивых отчетов-ни-о-чем не придумали ничего умнее, чем решить что эффективность программистов можно мерять количеством написанных строк кода. Когда они с важным видом принесли эту разнарядку кодерам, те просто пожали плечами. Хотите больше кода? Будет больше кода! И понеслось. Кодопоток вырос в десятки раз, качество произведенного кода упал в разы, бизнес пострадал кратно. Оказалось что чем больше кода, тем сложнее в нем разбираться, потому что его блять много сцуко, тем сложнее его сопровождать, чинить, вводить новых программистов и все блять сложнее, чем больше кода. Бывает плохо, когда его слишком мало, но блять всегда плохо, когда его слишком много. Подобный подход к написанию кода назвали "Китайский стиль" - потому что больше всего в нем преуспели парни с желтой кожей и железными жопами, хуярившие километры пустой ненужной хуйни четырнадцатичасовыми сменами...
Менеджеры жиденько обосрались, но попросили добавки, накатив вторую волну. Смекнув, что главное не количество кода, а количество результата, они решили мерять программистов количеством сделанных задач. Пфффффф, сказали программисты и начала декомпозировать большие задачи на маленькие и хуярить конвейером топики типа "добавить кнопку", "раскрасить кнопку", "передвинуть кнопку". Но в этот раз, парни с kpi были готовы, что им противостоят злобные распиздяи и придумали что программисты больше не могут ставить задачи сами себе. Похуй, ответили парни, у которых пальцы не разгибались уже десять тысяч лет и начали хуярить такие продукты, которые вынуждали ставить задачи, которые были выгодны кодерам и на самом деле давно уже были готовы и лежали в ящике стола.
Потом пришел скрам, аджайл и спринты. Типа вот вам, ебанные гики две недели, будьте любезны выдать за них ощутимый результат. Без проблем и программисты просто начали умножать реальные сроки выполнения задач на 3.14, чтобы точно вписаться в две недели с учетом дальности похода в барбершоп за смузи. "А почему так долго делать?" - грустно спрашивает менеджер. "А потому, мой маленький, что время написания кода у всех разное, потому что разные грейды и опыт и мы берем по средней, джун сделает эту задачу за год, я - за день, значит в среднем будет - полгода - 26 спринтов, иди нахуй вон в ту дверку и не мешай полгодика". Ведь скрам и аджайл это про команду!
Потом еще было много хуйни, много народа полегло с обоих сторон, иногда давали просраться клавишникам, чаще хуесосили менеджмент, но все кончилось там где началось: кодер сидит и смотрит в окно, менеджер рисует ссаный, никому не нужный отчет, код компилируется, график рисует пилу как курс валют, но среднее всегда на нуле, а значит все идет по плану...
За историю плюс. Вот только можно глядеть под другим углом. Все эти метрики - это мастурбация менеджмента для имитации собственной полезности в устоявшейся компании. Хорошему программисту надо подкопить деньжат и работать на стартапы или консультантом, там, где его талант будет использован с пользой. Конечно, если подушки безопасности нет, или просто лень, то приходится работать за зарплату и терпеть бюрократизм. Но тогда уж и не взыщите, если Вашу работу отдали индусам.
Многовато заковыристых терминов (вот уж не думал, что Димыч на самом деле постоит за свою коронную фразу "на сайте нет цензуры"), но в целом одобряю и полностью согласен!
Разумеется, я за менеджмент. Хотя так-то я очень неплохо умею программировать. Менеджеры это люди, а кодер сам по себе машинка. Просто функция для описания алгоритма на заданную задачу. Ничего не решает, никаких новых смыслов не генерирует, довольно легко заменяем. Не самая веселая профессия, прямо скажем.
Кодить это как водить машину. Уметь должен каждый, но если умеешь только это, то станешь таксистом. (С) Если манагеры маленько понимают в процессах, а понимать там нечего и достигается это понимание за 3 месяца, то в этой войне кодеру лютый пиздец. И без всяких скрамов и эджайлов. Вкатал юнит-тесты, и чтобы требуемый кусок кода их проходил нахуй к такому-то сроку. Иначе выебаны будут в круг все, от лида до последнего джуна. Самые лёгкие в управлении товарищи, как по мне. Самые лютые распиздяи это финансисты. Могут погодой на марсе и макроэкономическими условиями объяснить вообще любой свой проёб, и формально не до чего докопаться.
Знакомый думал переквалифицироваться в менеджеры, говорит агент отроворил. Говорят менеджеры и аналитики легко-заменяемы, любой человек с улицы справиться при минимальной подготовке. А вот для работы программистом/архитектором слышал, нужен "особый склад ума". Как говориться, кто может - работает, кто не может работать - руководит, кто не и руководить не может - учит других.
Конечно, отговорил. Нахуя ему конкуренция? Гораздо лучше свой программист.
К сожалению автор обрисовал слишком оптимистичную картину. В реальности, програмисты пытаясь наебать системы сначала перестали, а потом и разучились писать код.
Пример из собствр=енной практики:
В 2007 у меня был контрацт в одной из трёх крупнейших страховых компаний Канады. Состоялся следующий разговор с начальством:
"Мы должны передать кусок кода в Индию"
"Почему?" - удивился я
"Потому, что у нас нет эспертизы," - ответил босс.
Я встал в позу: "То есть Вы хотите сказать, что в развивающейся Индии, больше экспертизы, чем в развитой Канаде?"
"А ты это можешь сделать сам?" - ехидно спросил босс.
"Естесственно" - ответил я, и контрацт мне продлили.
Так вот, сейчас, такой разговор был бы немыслимым. Босс был бы прав - экспертиза осталась только в Индии, Китае и.т.п. Это и есть прискорбное следствие процессов описанных автором.
Да не в экспертизе дело, просто индусы не требуют космических, для наемного специалиста-технаря зарплат. Кодеры хотят получать как управленцы-гуманитарии, а тут уж кто на кого учился. Строго говоря, платить кодеру больше чем квалифицированному электрику не за что. Они это понимают. И код получается не сильно хуже, строго говоря. "Красивые решения", они под капотом, и мало кого волнуют. Азиат напишет примитивно и топорно. Он не будет морочиться какой там алгоритм О(1) а какой О(n), но работать это будет. Процессорные мощности дешевле зарплат кодеров, всегда можно докупить. И, что самое важное, любой другой китаец сможет это поддерживать, т.к. внутренняя логика примитивна как топор. А изящные красивые решения с хаками типа байтовых сдвигов или необычных структур данных только такой же двинутый самородок и разберёт.
Единственный минус такого подхода это security breaches, но снова дешевле заказать пре-релиз тестирование от знатной конторы медвежатников, чем платить по ляму баксов в год крошечному отдельчику.
лет 20 назад бизнес начальство родили проект по консолидации контрактов с отелями в одном спейсе и всех артифактов о них, типа картинок итд, чтоб можно было делать брошюры и пихать все ето на вебсайт без огромного на тот момента мозгоебства.
я тогда заведовал ИТ и дал президенту цифру которая была нужна была чтоб реализовать. цифра ему не понравилась и он сказал мне что он запросто найдет людей за четверть цены.
на предложение в $17/час отбою не было от аппликантов. исключительно китайцы.
они организовали параллельный девелопмент шоп в компании, которым рулила жена одного из СХХ.
конечно не сделали они вообще ни хуя. то есть в принципе. ну и то что по английски они почти не говорили не помогало ни хуя.
Вы действительно считаете, что ай ти мэнэджер страховой компании озабочен тем, чтобы съэкономить на зарплате програмиста? Я Вам больше скажу, я свою трёхмесячную работу выполнил за три дня, и не потому что я такой умный. Руководство тоже было в курсе, но они мне сказали, что для компании это настолько несущественные деньги, что им лучше перестраховаться.
Индусы -это не экономия, а трэнд.
Надеюсь вы знаете, что делаете. Я слышал пару историй о выполнении двух недельной нагрузки за два дня. Закончилось увольнением. Не знаю были ли собственно серьезные притензии к качеству или просто там не любят тех кто работает слишком быстро. Но в целом хороший менеджер в серьезной конторе больше обеспокоен качеством чем потовыжиманием.
Там была реально 3-х дневная нагрузка, это если не спешить. И я, и они это знали. Но они хотели, чтобы я остался до отправки в продакшн, так как моя зарплата - это просто гроши, по сравнениюс рисками. Об этом они мне прямо и сказали, чтобы я не считал их дураками. Именно поэтому я и попросил другой проект, чтобы не просиживать задницу.
Хороший менеджер всегда озабочен тем, чтобы сэкономить. Независимо от доступных бюджетов. Больше прибыль покажут – выше котировки. Выше котировки это уже совсем другие деньги, чем сэкономленный лямчик на зарплатах программистов.
Примите ППКС от старого трипиздяя на Скраме.
Кстати, те кто придумал Скрам, втерли его лохам, а сами отказались юзать.
Такая же фигня приключается при оценке производительности медиков, педагогов, научных работников и т.п.
В профессиональной лексике разбиралась по интуиции, матов слишком много. За байку +
spamkerdyk ★➦Ленточка• 01.07.20 13:41
Добавлю в вашу первую фразу после "и т.п" - "потребителями продуктов данной области деятельности, которые вообразили, что могут контролировать то, чего они не понимают". Они возможно и грамотные, но они всего лишь потребители.
Эту тему еще сто лет назад поднимала Мариетта Шагинян. Она конечно написала утопию, но с большим смыслом.
IMHO Максимально оптимизированный код пишется в машинных кодах зная доку на процы, ассамблер - без транслятора в *.exe шник.... но там надо знать (при совр процах - адреса регистров памяти и т.п... наизусть Архитектуру Проца на уровне разработчиков.... Это все - на много тяжелее, чем набрать по "вижуал" и скомпиллировать!? или я не прав?
Alexander_A ★➦dimaps1• 01.07.20 14:28
Не прав.
Любая программа, как оптимизированная под что-то, так и неоптимизированная, будет скомпилирована в двоичный код.
Ассемблерные команды - трёх буквенные или в шестнадцатиричном коде. И никто не гарантирует качество такой программы.
Уже лет 30 ассемблерные программы писались только для управляющих машин и процессоров типа 1810.
Truemitrich➦Alexander_A• 01.07.20 15:37
Спор бессмысленен. Ибо не приведен критерий оптимальности.
dimaps1➦Alexander_A• 01.07.20 15:48
Не ну я не "Крутой" прогер, только например любой компиллятор - добавляет объем кода?
dimaps1➦Alexander_A• 01.07.20 15:49
гарантированны - электроника Б 3 - 36 - даже "полет на Луну был..."
vvt251 ★➦dimaps1• 02.07.20 02:29
Если под опитмальностью программы, вы имеете в виду размер выполняемого файла, то возьмите старые компиляторы, и будет вам счастье. Но, меня обычно время выполнения или память интересуют. А тут слабо вам с хорошим опимизирующим компилятором соревноваться.
2haw2 ★➦dimaps1• 02.07.20 03:45
А че тебе этот объем-то? Кто в современном мире байты экономит?
Alexander_A ★➦2haw2• 02.07.20 10:17
Именно из-за такой идеологии, которой придерживаются современные кодоваятели, мы и имеем проблемы с памятью даже при десятке открытых окон какого-нибудь ютюба.
Всеж таки экономят..... На MPS, Marwell, Mega, PIC???? промка - частотники - да те же контроллеры для ресиверов стиралок? инверторы... в серийном выпуске избыточный код..... ну не знай... я так - сбоку...
2haw2 ★➦Alexander_A• 02.07.20 21:48
Понятия не имею о чем ты. Открыл десяток окон ютьюба, еще штук 30 разных вкладок в том окне где я тебе пишу. Никаких проблем с памятью не началось. Memory: 16 GB 2667 MHz DDR4 Не надо сидеть на шляпе допотопной.
Если кто-то думает, что бессмысленный мат улучшает качество текста, то он ошибается.
Неформатный для аудитории текст.
Я, как воинствующий противник эджайлов, плюсану, ибо мне - смешно.
Хотя матов могло бы быть поменьше.
ЗЫ. И почему "Ки"(ПиАй)?! У нас говорят "Кэй".
Хренонимус ★➦Alexander_A• 01.07.20 13:34
KPI - КиПиАй (Key Performance Indicator). Метрика достижений.
KPA - КиПиЭй (Kilo Pascal per Ass). Давление раздаваемых поджепников на одну задницу.
KPA может быть одним из KPI для руководителя проекта.
Alexander_A ★➦Хренонимус• 01.07.20 14:18
Что такое KPI , я знаю. Английская буква К читается "Кэй", а не Ки.
Ки это у японцев энергия, которую китайцы называют Ци.
Хренонимус ★➦Alexander_A• 01.07.20 14:31
Сорри, теперь понял о чем ты.
Ну что я могу сказать - акцент ;)
grame➦Alexander_A• 01.07.20 18:13
K в KPI абривиатура Key (ключевой), а оно как раз и читается как Кии
///Ебану дуплетом ///
Проскрулил ниже, до последнего абзаца
///Потом еще было много хуйни, ///
Поставил минус за нецелевое использование узко профессиональной айтишной лексики. :-)
Хренонимус ★➦Ost• 01.07.20 21:43
*нецелевое использование узко профессиональной айтишной лексики
Ты про фуррей и тентакли? Да ладно тебе, не будь снобом!
Ost➦Хренонимус• 01.07.20 21:59
Я кроме уже процитированных двух предложений в тексте ничего не читал. Вся "терминология" в них.
А потому как для разных задач - разные KPI.
Мне во всей этой байке про бравых кодеров непонятно - куда там делся CIO или как у них обзывался повелитель кодеров. Человек, который знает о чем задача, представляет как ее решить и сколько времени она займет, как она дробится и кому ее поручать и работающими этаким API между управленцами и проггерами.
Ну а ежели это он так говнит - ну так гнать нахрен такого управленца-диверсанта.
Арсений ★➦Хренонимус• 01.07.20 12:18
У сей байки мораль есть, она же назидание: ежели какая падла на чифе информационном экономить решить, то заговнят такой падле весь проЭкт, и поделом буде!