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

Кто на самом деле отделяет вас от великих свершений.
 

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

 

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

Писатели

В Ð¾Ñ„Ð¸ÑÐ°Ñ…, в Ð±Ð¾Ð»ÑŒÑˆÐ¸Ñ… офисах, некоторые люди практически не Ñ€Ð°Ð·Ð³Ð¾Ð²Ð°Ñ€Ð¸Ð²Ð°ÑŽÑ‚ друг с Ð´Ñ€ÑƒÐ³Ð¾Ð¼ вербально. Вместо этого они формулируют бесчисленные электронные письма. Это может быть удобно, так как позволяет зафиксировать ответы и Ð²Ð¾Ð¿Ñ€Ð¾ÑÑ‹, переводя общение в Ñ€Ð°Ð·Ñ€ÑÐ´ официального. Однако вместе с Ñ‚ем рабочий день всех остальных сотрудников офиса из-за этого начинает превращаться в Ð¿Ð¾ÑÑ‚оянную переписку, вытесняя время для работы.

Попытки не Ð¾Ñ‚вечать или разграничить время для кода и Ð´Ð»Ñ ответа таким персонажам как правило приводят к ÑÐµÑ€ÑŒÐµÐ·Ð½Ñ‹Ð¼ разговорам с Ñ€ÑƒÐºÐ¾Ð²Ð¾Ð´ÑÑ‚вом. Он Ð¼ÐµÑˆÐ°ÐµÑ‚ работать вам перепиской, вы ÐµÐ¼Ñƒ â€” тем что не Ñ…отите оперативно отвечать на Ð²Ð°Ð¶Ð½Ñ‹Ðµ вопросы. А Ð¿Ñ€Ð¸Ð»ÐµÑ‚ает только вам.

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

Офисная жизнь наполнена менеджерами, оперирующими цифрами, измеряющими продуктивность. Вчера они прочитали умную книгу, сегодня пообещали руководителю компании повышение производительности на 10 %, а Ð·Ð°Ð²Ñ‚ра вы ÑƒÐ·Ð½Ð°ÐµÑ‚е о Ð¿Ñ€Ð¾Ð³Ñ€ÐµÑÑÐ¸Ð²Ð½Ð¾Ð¹ шкале премирования за ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑÑ‚во написанного кода и Ð¸ÑÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð½Ñ‹Ðµ ошибки.

В ÐºÐ¾Ð½Ñ†Ðµ концов, это превращается в Ñ€ÐµÐ±ÑÑ‡ÐµÑÑ‚во. Программисты начинают создавать избыточный код с Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ñ‹Ð¼ количеством мелких ошибок, которые другие программисты будут исправлять. Красивые цифры роста производительности будут зафиксированы, улучшение качества исполнения и ÑƒÐ²ÐµÐ»Ð¸Ñ‡ÐµÐ½Ð¸Ðµ количества заказов â€” нет.

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

Хуже вашего не ÑÐ»Ð¸ÑˆÐºÐ¾Ð¼ любимого начальника может быть только программист, с Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ñ‹Ð¼ опытом и Ð±Ð°Ð³Ð°Ð¶Ð¾Ð¼ знаний. С Ð²Ñ‹ÑÐ¾Ñ‚Ñ‹ этого опыта он Ð¿Ñ€Ð¾ÑÑ‚о не ÑÐ¿Ð¾ÑÐ¾Ð±ÐµÐ½ снизойти до ÑƒÑ€Ð¾Ð²Ð½Ñ всех остальных и Ð²ÐµÑÑ‚и рабочий диалог на Ñ€Ð°Ð²Ð½Ñ‹Ñ…. Всё становится ещё хуже, когда приходится работать с Ð½ÐµÐºÐ¾Ð³Ð´Ð° созданным им ÐºÐ¾Ð´Ð¾Ð¼. Никакой помощи в Ð²Ð°Ñˆ адрес, постоянный поиск изъянов и Ð¿Ð¾Ñ‚енциальных багов в Ð²Ð°ÑˆÐµÐ¹ программе. Точнее помощь есть â€” совет открыть какую-нибудь фундаментальную книгу и Ð½Ð°Ñ‡Ð°Ñ‚ÑŒ исправлять основы мировоззрения.
И ÑÑ‚Ð¾ может быть полезным советом, если он Ð¿Ñ€Ð¸Ñ…одит где-то в ÑÐµÑ€ÐµÐ´Ð¸Ð½Ðµ диалога, в Ð´Ð¾Ð±Ð°Ð²Ð¾Ðº к ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚ному вопросы на ÐºÐ¾Ð½ÐºÑ€ÐµÑ‚ный ответ. А Ð±ÐµÐ· этого такой программист вызывает только злость и Ð½ÐµÐ¿Ñ€Ð¸ÑÐ·Ð½ÑŒ.

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

На Ð½Ð°Ð¿Ð¸ÑÐ°Ð½Ð¸Ðµ безупречного кода никогда не Ñ…ватает времени, поэтому создание «временных» заплаток с Ð½ÐµÐ¾Ð±Ñ…одимостью дальнейшей доработки â€” обычное дело в Ð¾Ñ„исной практике. Существует даже такой термин â€” «технический долг», который означает сдачу ÐŸÐž с Ð½ÐµÐ¾Ð±Ñ…одимостью в Ð´Ð°Ð»ÑŒÐ½ÐµÐ¹ÑˆÐµÐ¼ провести ряд мероприятий для доведения до Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ð¾Ð³Ð¾ состояния. И Ð¾Ñ‡ÐµÐ½ÑŒ многие руководители с ÑƒÐ´Ð¾Ð²Ð¾Ð»ÑŒÑÑ‚вием влезают в Ñ‚акие долги.

На Ð¿Ñ€Ð°ÐºÑ‚ике Ð¶Ðµ заплатки постоянно накапливаются и Ð½Ð°ÑÐ»Ð°Ð¸Ð²Ð°ÑŽÑ‚ся, создавая непреодолимый барьер для выпуска качественного продукта. Кто за ÑÑ‚о несёт персональную ответственность? Конечно Ð¶Ðµ исполнитель.

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

Они постоянно улыбаются, шутят, и Ð»Ð¸ÑˆÑŒ немного злятся, когда их Ð¿Ñ€Ð¾ÑÑÑ‚ не Ð»ÐµÐ·Ñ‚ÑŒ в Ð´ÐµÐ»Ð° программирования из-за полной некомпетентности. Но Ð¾Ð½Ð¸ имеют прекрасное образование, хорошее резюме и Ñ€Ð¾Ð´ÑÑ‚венные связи, поэтому ни Ð²Ñ‹, ни Ð²Ð°Ñˆ непосредственный руководитель не Ð¸Ð¼ÐµÑŽÑ‚ достаточного веса, чтобы оспаривать их Ñ€ÐµÑˆÐµÐ½Ð¸Ñ перед главой компании.

А Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ вам надо постоянно делать ненужную работу, доказывать, что единорогов не ÑÑƒÑ‰ÐµÑÑ‚вует, а Ð¿Ð¾Ñ‚ом тихо ругаться, когда глупые решения такого менеджера приведут к Ð¾Ð³Ñ€Ð¾Ð¼Ð½Ð¾Ð¼Ñƒ количеству багов.

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

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

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

Программисты в Ð±Ð¾Ð»ÑŒÑˆÐ¸Ð½ÑÑ‚ве своем люди в Ð¼ÐµÑ€Ñƒ замкнутые, которым достаточно тяжело работать в ÑƒÑÐ»Ð¾Ð²Ð¸ÑÑ… шума и Ð¿Ð¾ÑÑ‚оянных вырываний из Ð¾Ð±Ð»Ð°ÑÑ‚и комфорта. Однако всегда находится такой альфа-самец, жизнь которого чрезвычайно насыщенна, он Ð¸Ð½Ñ‚ересуется всем подряд, и Ñ‡Ñ‚о самое плохое â€” постоянно желает этим поделиться.

Добавьте сюда неуемное желание каждую неделю в Ð¿ÑÑ‚ницу сводить весь коллектив в Ð±Ð»Ð¸Ð¶Ð°Ð¹ÑˆÐ¸Ð¹ бар, кинотеатр, путешествовать, заниматься спортом â€” и Ð²Ñ‹ Ð¿Ð¾Ð¹Ð¼ÐµÑ‚е, как много сил у Ð²Ð°Ñ отнимает такой коллега.

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

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

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

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