Что происходит с программистами, которым не хватает командной работы?
Тогда становится трудно работать над проектами, которые слишком велики для одного программиста. Сложно для сольного программиста и сложно для остальной команды.
Где начинаются проблемы?
Все виды мест. В настоящее время у нас есть один программист, который плохо работает в команде. Он имеет тенденцию делать короткие сокращения, которые плохо влияют на остальную часть приложения, потому что он слишком узко сосредоточен на исправлении ошибки перед ним. Или написание новой функции таким образом, чтобы она не была совместима с остальной частью приложения. Мы должны изменить порядок вещей, чтобы каждая проверка кода проверялась остальной командой. Но чтобы не выделить его, мы также просматриваем все остальные проверки кода, поэтому наряду с утренним совещанием о статусе мы не выполняем работу до обеда. Таким образом, в нашем офисе это означает, что 4 человека теряют половину рабочего дня каждый день, потому что одному парню плохо работать в команде. Я не могу сказать, что это улучшение по сравнению с предыдущими приключениями, потому что мы можем случайно потерять день или неделю (обычно гоняясь за новыми ошибками) от его проверок, которые ломают вещи (мы называем эти «препятствия»). Некоторые исправления в его коде приведут к удалению полдюжины ошибок из-за того, насколько запутано и запутано приложение (моя рекомендацияснимите его с орбиты и начните все сначала, потому что это единственный способ убедиться, что он не был принят).
Когда у нас щедрое настроение, мы называем его «программистом с головой», когда он склонен смотреть на клавиатуру и быстро набирать текст. Он не обращает внимания на то, что делают другие.
Быть хорошим программистом хоть немного компенсирует?
Нет. Большинство программистов, которые являются плохими командными игроками, очень высоко оценивают свои навыки, и это называется эффектом Даннинга-Крюгера . PDF из бумаги.
Возможно: сольный программист должен быть намного лучше, чем остальная команда. Но это просто означает, что никто другой не может поддерживать то, что он делает; и когда это происходит, это, вероятно, означает, что сольный программист на самом деле не намного лучше, чем остальная часть команды - он (и это почти всегда парень) просто лучше всех обманывает.
В разработке программного обеспечения для бизнеса, компания будет вокруг после вашего ухода. Программы, скорее всего, были написаны до того, как вы начали, и будут поддерживаться еще долго после вашего ухода. Если вы пишете такие особенные и удивительные вещи, что никто другой не может их понять, то вы попадаете в ситуацию, в которой находится Naughty Dog - их ведущий разработчик уходит, никто больше не понимает проприетарный язык программирования, который написал (и написал) вещи в), поэтому им теперь приходится все переключать на C ++.
Нормально ли для программиста иметь представление о своей работе, а не просто делать то, что ему говорят?
Это распространено - как пробка или диабет. Я бы не назвал это нормальным. В корпоративном мире есть много других вещей, чтобы рассмотреть; сильное эго, которое есть у многих разработчиков, обычно заставляет разработчика думать, что ничто иное не имеет значения. Это «неадекватность» и отсутствие внимания к остальной части бизнеса - вот почему так много типов менеджеров приходят к выводу, что с разработчиками программного обеспечения трудно работать.