Инженеры-призраки

Инженеры-призраки

Евгений Никитин

Наткнулся в Твиттере на интересный тред про "инженеров-призраков".

Чуваки натренировали рэндом форест, который "делает автоматический код-ревью", а по факту оценивает коммиты, используя ряд фичей из статического анализа кода:

  • структура кода - оценка классов, интерфейсов, методов с точки зрения их дальнейшей реюзабельности и поддержки
  • качество кода - 3C: Cohesion, Complexity, Coupling
  • детали имплементации - количество изменённых линий кода, использование дата-структур, наличие зависимостей
  • архитектурные элементы - использование архитектурных паттернов, изменения в API

В качестве целевой переменной используется оценка коммитов десятью экспертами по 7 шкалам - сколько часов работы занял бы коммит, насколько сложную проблему он решает, насколько хорошо качество кода и так далее. Насколько я понял, на каждую шкалу обучается своя модель.

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

Главный вывод - около 9.5% инженеров в сотнях компаний, которые поучаствовали в исследовании - "призраки", которые вообще не работают или делают тривиальные коммиты для поддержания иллюзии активности. По утверждению автора они исключали менеджеров, аналитиков и других людей, в основные обязанности которых не входит написание кода.

Что в статье и треде любопытно или интересно:

  • В целом результаты подтверждают широко гуляющие слухи, что в IT, и особенно в бигтехе, немало "мёртвых душ", которые получают деньги и ничего не делают. Причины могут быть разные - выгорание, работа на трёх работах, намеренная эксплуатация огрехов системы. Наличие таких ребят бьёт по кошельку компании и мотивации людей, которые добросовестно выполняют свою работу
  • Забавно, что по их оценке среди офисников 6% призраков, а среди удалёнщиков - 14%. Не стоит это воспринимать как аргумент против нормально настроенной удалёнки, но в целом логично, что профессиональному халявщику или многостаночнику на удалёнке может быть легче скрыться от ока большого брата, чем в офисе (или дело в том, что они на офисную работу просто не пойдут)

Что в статье и треде плохо:

  • Заявления типа "our model automates human code reviews" - что?
  • Вопросики к методологии - в статье всё описывается широкими мазками без технических деталей, для обучения моделей используется всего 70 коммитов, а оценка производится только по кросс-валидации
  • Выводы про огромные денежные потери от "призраков" с громкими словами, инфа на сайте, что они предоставляют инсайты компаниям, поделившимся данными, вообще весь тон треда - всё это навевает воспоминания о кейсе Xsolla с сокращениями лоу-перформеров с помощью некоего ML-алгоритма. Я не хочу сказать, что не стоит вообще смотреть на какие-то количественные метрики работы. Пожалуй, если разработчик за полгода сделал 2 коммита, имеет смысл изучить причины такой аномалии. Но я боюсь, что такие исследования и такие выводы могут подтолкнуть менеджеров не к более детальному изучению своей организации, а к более разрушительным действиям

В Цельсе количественные метрики работы инженеров не собираются. Команды маленькие, поэтому прозрачность достаточно высокая и без дополнительных подпорок, да и вообще процессы в основном построены на доверии. Список наших обязательных ценностей и правил короткий, там нет ничего, связанного с контролем. Но у меня лично есть ряд старомодных предпочтений, которых я стараюсь придерживаться, и которые, на мой взгляд, позитивно влияют на мою продуктивность и настроение:

  • Офис > удалёнка. В офисе я продуктивнее, собраннее, а ещё я обожаю своих коллег, я их считаю отдельным кругом друзей.
  • Включённая камера. Делайте со мной, что хотите, я не очень люблю общаться с чёрными квадратами. Кроме того, если человек сидит без камеры, то по моей оценке есть 75% вероятности, что он параллельно занимается чем-то ещё, а значит на этой встрече, скорее всего, вообще не нужен.
  • Рабочий график. Я приезжаю на работу в районе 10 и уезжаю между 16 и 19 в зависимости от количества дел и самочувствия, и вечером в зависимости от планов иногда что-то делаю дома. Без графика намного тяжелее быть в тонусе, завершать в срок обязательные дела, чтоб ещё оставалось время на дополнительные активности.
  • Рабочие тусичи и корпораты. Вынужден признаться, иногда на подготовку какой-нибудь викторины к празднику у меня уходит часов пять.

Report Page