Согласно исследованию Стэнфордского университета, почти 10% всех разработчиков ПО «практически ничего не делают», но получают зарплату в сотни тысяч долларов в год. Особое внимание здесь уделяется людям, работающим удаленно. И утверждается, что 14% из них, судя по всему, гораздо больше времени отводят своим собственным делам, чем Git-репозитариям. Точны ли эти суждения? Почти наверняка нет. Обнародованный анализ результатов труда 50 тыс. разработчиков, опирающийся на данные объеме созданного или измененного ими кода, выглядит очень эффектно, но явно оставляет желать лучшего в понимании деталей процесса разработки программного обеспечения.

Смысл исследования, судя по всему, заключался в том, чтобы показать, что сокращение этих «призраков» позволит сэкономить порядка 90 млрд долл. Весьма вероятно, что деятельность 10% исполнителей в любой организации недостаточно эффективна. Но судить о разработчиках только по изменениям, внесенным ими в программный код, который размещается в репозитариях, не слишком разумно. В конце концов, написание кода – не самая важная задача для разработчика программного обеспечения, во всяком случае, для старшего разработчика. Уровень квалификации старшего разработчика зависит не столько от умения писать код, сколько от способности понимать, объяснять, и поддерживать большие объемы программного обеспечения, находящегося в процессе производства, управлять ими, а также удовлетворять потребности бизнеса с технической точки зрения. По свидетельству Stack Overflow, самая сложное в процессе разработки программного обеспечения – не кодирование, а определение требований. Лучшие инженеры придумывают, что именно нужно создать, и воплощают свое видение в минимальном, насколько это возможно, количестве программного кода.

Другими словами, утверждение о том, что уменьшение объема программного кода говорит о снижении производительности труда, на самом деле свидетельствует об обратном. Или, по крайней мере, уменьшение объема кода в репозитариях вовсе не доказывает, что разработчики «обманывают» своих работодателей. Не подтверждает это и вывод о том, что 25% лучших инженеров обеспечивают выдачу 50-60% результатов (хотя интуитивно этот вывод может быть и правильным, учитывая правило 80/20).

Методика подсчета числа внесенных в код изменений тоже имеет свои недостатки. Можно найти, к примеру, еще 10% программистов, которые активно вносят в репозитарий новый код, но код этот относится к категории бесполезных абстракций или переделок, которые лишь добавляют негатив и путаницу. Если опираться на исследование Стэнфордского университета, то мы видим перед собой ценных инженеров. На самом же деле от них больше вреда, чем пользы. И работодателям лучше было бы отказаться от такого кода. По признанию самих авторов отчета, в исследовании не учитываются плохие результаты. Ожидается лишь, что они будут устранены в ходе проверок. Все это говорит о том, что результаты исследования могут не совпадать с убеждениями самих исследователей. Ведь оценка эффективности исключительно по количеству внесенных изменений может привести к увольнению лучших программистов.