Pull to refresh

Не мешайте мне работать!

Reading time5 min
Views3.4K
Наверняка не ошибусь, если напишу, что каждый программист хочет работать максимально эффективно, а каждый работодатель хочет, чтобы все его работники были максимально эффективны. Однако на самом деле часто бывает так, что даже самый мотивированный и профессиональный программист не может работать эффективно, а работает только на 10-20% своей силы. И постепенное его мотивация угасает, а 10-20% превращаются в 1-5%.
Из-за чего это может происходить?
А происходит это из-за многочисленных преград, которые мешают работать эффективно.
Часть из этих преград невозможно убрать, не сменив работу, а с большинством можно бороться и побеждать их и именно об этом пойдет речь в этой статье.
Ниже — мой личный топ-список таких преград с комментариями для программистов и примерами из моей жизни.
Думаю, примерно такой же список актуален и для других IT-профессий.



1. Недостаточно мощные для эффективной работы компьютеры.

Самый важный для меня деморализующий и убивающий эффективность фактор — это недостаточно мощный компьютер. На таком компьютере слишком много времени тратится на всё. Любая операция занимает больше времени, чем могла бы и всё это время в сумме может быть чудовищным.
Например, рассмотрим случай с разработкой большой компьютерной игры (цифры взяты не с потолка, а из реальных проектов).
Сборка большой игры может занимать минуты и десятки минут. Более мощные компьютеры могут ускорить билд в несколько раз. Я видел 2 рядом стоящих компьютера, где собирался один и тот же проект — на одном время сборки было около 5 минут, на другом — 25 минут. 20 минут потерянного времени программиста только на сборку!
Запуск большой игры, а особенно под отладчиком, может занимать минуты на слабых компьютерах. Для того, чтобы что-то проверить или отладить, надо загрузить уровень — это тоже могут быть минуты. При этом тоже самое на мощном компьютере может занимать 20-30 секунд.
В итоге я встречал людей, которые сидя на слабом железе тратят по 5-10 минут на ту же операцию, что на мощном компьютере выполняется за 20-30 секунд. Учитывая, что таких операций за день надо сделать много, можно посчитать реальные потери времени. Иногда это час-два каждый день, то есть до 20% времени работы.

Какое решение тут можно посоветовать?
Во-первых конечно же капать на мозг менеджерам и другим начальникам, чтобы они купили более мощные компьютеры. Это простой способ, но вы не можете повлиять на вероятность того, что он сработает.
Во-вторых, надо всегда оптимизировать все процессы, которые занимают много времени. Это самый универсальный совет. И, имхо, самый полезный совет во всей этой статье.
Если сборка проекта слишком долгая — переделайте систему сборки или используйте ускоряющие тулзы (Incredibuild, например).
Если запуск игры слишком долгий — оптимизируйте запуск. Сделайте, чтобы он был быстрым и на слабой машине. Пользователи в итоге вам еще и спасибо скажут.
Если уровни грузятся долго — ускоряйте загрузку уровней.
Оптимизируйте все операции, которые отнимают у вас много времени. Вы потратите на это немало силы и времени один раз, но это в итоге окупится, так как вся команда начнет работать быстрее и эффективнее, тратя меньше времени на долгие операции.

2. Лишние собрания и митинги, а также другие факторы отвлечения.

Рабочие собрания и митинги — это хорошо. Они позволяют донести до всех нужную информацию, создают в коллективе нужный настрой на работу и т.п. Но в то же время, если таких собраний становится слишком много — это жутко демотивирует и мешает сосредоточиться. В итоге если в день запланировано 2-3 собрания, то можно другой работы уже не планировать — ее сделать не успеешь.
Я для себя решил просто — если собрание не принесет мне пользы и не даст новой информации, то я его игнорирую (под это определение попало процентов 70-80 собраний на текущей работе).

Другие факторы отвлечения от работы — это сообщения по громкой связи или другие крики и шум, частые вопросы на разные темы, форумы, мессенджеры и интернет в целом (когда он используется не для работы) и т.п.
Большинство этих факторов вы можете сами убрать, например, усилием воли отказавшись от интернета на время работы и работая в наушниках. А часть вы не сможете решить самостоятельно, а только можете попробовать написать свод правил совместно со всеми сотрудниками. Например, я знаю команду, которая сидит в одной большой комнате и в которой официально запрещен любой шум с 12 до 15 (даже звонки сотовых).
В любом случае влияние этих мешающих факторов надо стараться уменьшать.

3. Жесткий график работы.

Я про это уже писал в статье про время прихода на работу и в её второй части.
Вкратце напишу, что гибкий график позволяет работать именно в то время, когда работа идет наиболее эффективно и не «спать» на работе.
Знаю случаи, когда люди (очень профессиональные) приходили на работу по жесткому графику, а потом досыпали в туалете. Или же просто засыпали за рабочим столом. Кому от этого лучше и какая эффективность такой работы?

4. Ненужная или неподходящяя работа.

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

5. Излишняя секьюрность. Пароли на любой чих.

Это для меня новый пункт, с которым я раньше не сталкивался.
Помнится, первый шок на новой работе у меня был, когда в первый же день мне сказали придумать 3 разных пароля длиной не менее 12 символов, где должны быть и заглавные и прописные буквы и цифры. Звучит пугающе, особенно когда ты стоишь перед клавиатурой и должен набрать их прямо сейчас.
В каждой крупной фирме есть куча серверов и сетевых дисков. Но в некоторых фирмах доступ к ним под паролем. В итоге, чтобы выложить что-то в папку temp на сервере — надо набирать пароль. Конечно, Windows кеширует пароли, но ведь есть еще новые образы VMWare и в них всегда приходится вбивать эти пароли заново.
Также сюда относятся плохо организованные политики прав доступа к серверам, базам данных, репозиториям с кодом и т.д. Например, в крупной фирме можно потратить несколько недель только на то, чтобы тебя вписали во все нужные группы для доступа к исходникам проекта. А потом еще потратить столько же времени на настройку ssh и на создание своих учетных записей на разных серверах. Это все может так неэффективно работать, если общение с админами идет через заявки, а не лично. У меня на текущей работе любой запрос админам должен быть сделан через специальную страницу в интранете. Потом они могут до недели-двух этот запрос обрабатывать. В итоге простое «Прошу добавить меня в группу build на сервере 1» может обрабатываться неделю.
После первых долгих ожиданий я для себя решил, что лучше сходить и поговорить лично, чем так долго ждать. В итоге, если просить лично, то все такие задачи выполняются мгновенно прямо при тебе.


6. Антивирусы и другой предустановленный обязательный софт.

Такой обязательный софт может тормозить, как тормозят антивирусы, или глючить, но вы не можете его отключить или удалить, так как в правилах написано, что нельзя.
Например, недавний случай: полная сборка одного проекта с включенным антивирусом у меня занимала 15 минут, а без антивируса — 5 минут. Что делать в такой ситуации, терять время зря?
Надо иметь смелось отходить от правил в таких случаях.
Я, например, выключал сеть, отключал антивирус, делал пересборку, а потом включал все обратно — это и безопасно и время не тратится зря. А потом воспользовался своим же советом из пункта 1 и оптимизировал систему сборки, чтобы она даже с включенным антивирусом занимала 5 минут.

А какой у Вас топ-список вещей, мешающих работать? И как вы с ними справляетесь?

Tags:
Hubs:
+77
Comments95

Articles