8 офисных персонажей, мешающих созданию хорошего кода

Кто на самом деле отделяет вас от великих свершений.
16 мая 2017326451Илья Бубнов6628951

При сумасшедшем темпе развития IT и программных продуктов в частности, большинство крупных заказов не выполняется вовремя, заказчики постоянно недовольны качеством, а руководители — работоспособностью своих подчинённых. При этом существует масса объективных и субъективных причин, почему создавать качественный код быстро категорически не получается. И состав офисного окружения — одна из них.

Вот 8 офисных злодеев, присутствие которых бесит, затягивает работу и ухудшает качество продукта.

Писатели

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

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

Эффективные менеджеры

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

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

«Опытные» разработчики

Хуже вашего не слишком любимого начальника может быть только программист с огромным опытом и багажом знаний. С высоты этого опыта он просто не способен снизойти до уровня всех остальных и вести рабочий диалог на равных. Всё становится ещё хуже, когда приходится работать с некогда созданным им кодом. Никакой помощи в ваш адрес, постоянный поиск изъянов и потенциальных багов в вашей программе. Точнее, помощь есть — совет открыть какую-нибудь фундаментальную книгу и начать исправлять основы мировоззрения.
И это может быть полезным советом, если он приходит где-то в середине диалога, в дополнение к конкретному ответу на конкретный вопрос. А без этого такой программист вызывает только злость и неприязнь.

Менеджеры-«должники»

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

На практике же заплатки постоянно накапливаются и наслаиваются, создавая непреодолимый барьер для выпуска качественного продукта. Кто за это несёт персональную ответственность? Конечно же, исполнитель.

Некомпетентные менеджеры

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

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

Компетентные старые менеджеры

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

Мачо-программист

Программисты в большинстве своем люди в меру замкнутые, которым достаточно тяжело работать в условиях шума и постоянных вырываний из области комфорта. Однако всегда находится такой альфа-самец, жизнь которого чрезвычайно насыщенна, он интересуется всем подряд, и что самое плохое — постоянно желает этим поделиться.

Добавьте сюда неуемное желание каждую неделю в пятницу сводить весь коллектив в ближайший бар, кинотеатр, путешествовать, заниматься спортом — и вы поймете, как много сил у вас отнимает такой коллега.

Программист-ботаник

Безупречные познания в программировании — его неоспоримое достоинство. Неумение строить диалог и распределять свой интеллект на окружающих — то, что всех бесит. Он никогда не поделится своими шаблонными решениями, не будет кратко пересказывать требуемую вам информацию. Вместо этого вы будете вести диалог в формате «да/нет», а в конце концов он просто решит сделать работу за вас.

Бонус: д’Артаньян

Главная причина, почему у вас не получается создавать идеальный код, сидит не рядом и не бродит где-то по офису. Единственный человек, который вызывает раздражение у всего офиса постоянным нытьём и сваливанием причин всех бед на окружающих. Да, главная причина хаоса в офисе — это вы. Поэтому если действительно хотите начать создавать идеальный код, то начните с себя.