Ниже приведено широко распространённое в интернете изображение об эффективности работы программиста:

Гомер Симпсон мог бы сказать: Это смешно, потому что это правда.
Я ещё не разгадал секрет сохранения продуктивности, главным образом потому, что никогда не был стабильно продуктивным. Джоэл Спольски однажды сказал в одном из своих постов в блоге:
Иногда я вообще ничего не могу сделать.
Конечно, я прихожу в офис, брожу туда-сюда, проверяю почту каждые десять секунд, брожу по интернету и даже занимаюсь бессмысленными вещами вроде оплаты счёта American Express. Но я просто не могу вернуться в поток написания кода.
Когда наступает такой приступ непродуктивности, он обычно длится день или два. Но за мою карьеру программиста было несколько случаев, когда я не мог ничего сделать неделями напролёт. Как говорится, я был рассеянным, был не в форме, совсем выпал из колеи.
Я читал эту статью пять или шесть раз, и я до сих пор глубоко потрясён, потому что такая знаковая фигура в мире программирования тоже может иметь такие проблемы новичка.
К счастью, я не единственный, у кого эта проблема.
У меня нет никаких секретов сохранения продуктивности, которыми я мог бы здесь поделиться, но я могу рассказать, что делает меня непродуктивным:
- Открытая планировка офиса
- Программисты, спорящие о том, что лучше — Django или .NET
- Программисты, спорящие обо всём
- Коллега подходит и спрашивает: "Эй, ты получил моё письмо?"
- Звук жевания. По-видимому, у меня мизофония.
- Непонимание задачи, над которой я работаю
- Сомнения в этом проекте
- Несколько задач, которые нужно выполнить, и все они крайне срочные
- Когда что-то крайне срочно, ничего другого не делается
- Звуки уведомлений Weibo на моём телефоне
- Всплывающие уведомления электронной почты
- Любые всплывающие окна
- Программы для обмена мгновенными сообщениями
- Жена спрашивает: «Слушай, можешь уделить минуту и помочь мне с кое-чем?»
- Долгое время сборки
- Шум
- Люди, постоянно проходящие мимо моего стола
- Групповые мероприятия компании
- Википедия (я серьёзно, не нажимайте ни на какие ссылки)
- Hacker News
- В целом интернет влияет на производительность
Раньше эти вещи помогали мне работать эффективно:
- Тихая обстановка
- Тихий офис (отдельные кабинеты слишком редки)
- Понимание того, что мне следует делать дальше в проекте
- Доскональное понимание проблемы
- Никаких отвлечений
- Я серьёзно: никаких отвлечений
- Держаться подальше от Weibo
- Держаться подальше от Hacker News
- Железо работает без проблем
- Мне нравится проект, над которым я работаю
- Сборка и отладка занимают немного времени
- Не спорьте о политике в интернете
Очевидно, половина факторов неэффективности создана нами самими, но некоторые — нет, например, планировка офиса открытого типа.
По сути, каждый из нас может контролировать факторы, которые делают нас непродуктивными. Я не буду вступать в пассивное противостояние. Я либо занимаю твёрдую позицию, либо сижу и позволяю другим ходить вокруг меня. Я действительно не умею с этим справляться. Поэтому у меня нет хорошего совета, как справляться с внешними факторами неэффективности, но я знаю одно: контролируй то, что можешь контролировать. То есть:
- Отключаю уведомления на своём iPhone (бонус — увеличенное время работы батареи в режиме ожидания)
- После 3 часов подряд программирования даю себе награду (обычно в виде «времени в интернете» — просмотра Hacker News или Weibo)
- Работаю из дома только тогда, когда действительно, действительно есть что-то, что нужно сделать
- Вложиться в недорогие наушники с шумоподавлением
- Запланируйте в календаре время без встреч, показывая другим, что в это время вы заняты. Это моё рабочее время.
- Не ввязывайтесь в офисные споры программистов; у людей есть сильные личные мнения, а программисты по своей природе спорщики. Если действительно есть бизнес-проблема, которую нужно решить, давайте пойдём в переговорную и распишем плюсы и минусы каждого подхода. Пусть говорят данные, а не просто спорьте.
- Разместите свой рабочий стол там, где вас не будут беспокоить прохожие.
- Сначала ознакомьтесь с задачей, затем попросите другого программиста подробно объяснить её мне, чтобы я лучше понимал предстоящую работу. Это даёт две вещи: во-первых, позволяет мне понять ситуацию, давая мне хотя бы базовое понимание ключевых моментов работы. Во-вторых, это позволяет мне задавать более разумные вопросы, когда я обращаюсь за помощью.
Ссылка на оригинальную статью: George Stocker
Ссылка на перевод: http://blog.jobbole.com/73383/