пятница, 26 апреля 2013 г.

Про эффективность и продуктивность

Делать быстро и делать именно то, что надо - это идеал, который на самом деле никому не нужен. Да-да, я не ошибся! Реальность - грустная штука и иногда нелогичная, но от нее никуда не убежать :(

Моя история


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

Итак, я стал работать над тем, чтобы стать лучше. Выяснилось, чтобы этого добиться, нужно "прокачать" два основных скилла:
  1. Продуктивность - это умение работать максимально быстро, но без потери качества.
  2. Результативность - это умение работать на результат, т.е. делать правильные вещи, чтобы достигнуть цели.
Почувствуйте тонкую разницу! Т.е. нужно не только уметь работать быстро, нужно еще уметь делать правильные вещи. Если вы быстро сделаете какую-то задачу, но поймете ее неправильно - какова цена вашим трудам? Если вы классно сделаете какой-нибудь функционал, но потом окажется, что клиенту он не очень то был и нужен - как вы будете себя чувствовать потом? :)

Итак, что я делал, чтобы этого добиться:
  1. Установил RescueTime (в минимальном, бесплатном варианте). Очень классная утилита, которая позволяет отследить, сколько ты работаешь в том или ином приложении. Приложения распределены по категориям, и каждая категория оценивается от -2 до +2 (это все настраивается). Фишка состоит в том, что через месяц-два тебе надоедает постоянно следить за своими отчетами, НО умный RescueTime присылает еженедельные отчеты, и сразу видно, если "расслабился" и надо "подтянуть" концентрацию.
  2. Читал статьи, смотрел доклады по этой теме - особенно классный доклад от Хансельмана.
  3. Стал планировать свои дела - кстати не только рабочие, но и персональные (такие в частности, как отъезд в Финляндию и все необходимое для этого).
  4. Изучал Usability и UX, чтобы понимать, что действительно удобно для пользователей, а что нет. Как следствие, я начал задавать более правильные вопросы при анализе задач, и соответственно, стал работать с большей результативностью и с большей пользой для всех.
На самом деле, много всего читал, много всяких подходов пробовал. Что-то давало результат, что-то нет. В конечном итоге, мне удалось значительно продвинуться в обоих умениях, и как минимум субъективно, я чувствую что стал работать гораздо быстрее (очень сильно быстрее, примерно в 2-3 раза) и уделять больше внимания действительно важным вещам.

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

Почему быть слишком продуктивным - вредно?


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

Простой пример: вот представьте, что есть очень классный спец, который восстанавливает данные с умерших жестких дисков. Вы приходите к нему и просите восстановить данные. Он говорит: 10 тысяч рублей. Вы спрашиваете: а когда будет готово? Он говорит: это сложная процедура, займет 2 недели. Вы говорите ок, отлично (про себя думая: ну нифига себе, это ему две недели работать, за 10 тыс. рублей, ну да, тут никуда не денешься, придется платить).

А теперь представьте другую ситуацию: вы приходите к этому же человеку, и цена такая же - 10 тысяч рублей, но на вопрос "когда будет готово?" он отвечает - приходите через полчаса, будет готово.

И здесь вы начинаете чувствовать себя некомфортно. "Нифига себе молодец," - думаете вы, - "10 тысяч за полчаса. Это кто ж такие деньги зарабатывает!".

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

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

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

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

(Если кому-то интересно узнать, почему так происходит - рекомендую курс Dan Arley про иррациональное поведение на Coursera)

Почему работать целый день без остановки - нельзя в принципе?


По многим причинам:
  1. Во-первых, мозгам нужен отдых и время на смену "контекста" между задачами.
  2. Во-вторых, для решения многих задач вообще говоря нужно время, чтобы они "поварились" у вас в голове. Это из серии "утро вечера мудренее".
  3. В-третьих, если вам все-таки удастся работать постоянно и без передышки, у вас просто будут скорее всего очень быстро заканчиваться задачи и возникнут т.н. "периоды ожидания", которые вас будут расслаблять, а ваше начальство будет беситься, потому что им придется платить за то что вы ничего не делаете и ждете, а кто это любит?...
На практике это означает, что нельзя сидеть за компьютером 8 часов в день и писать код. Это неправильно и неэффективно. Т.е. рано или поздно вы себя обнаружите гуляющим по офису и "ничего не делающим" с точки зрения начальства. Это неизбежно.

Если соединить эти рассуждения с тем, о чем я рассказывал в предыдущем параграфе, получаем, что эффективным и продуктивным людям НИКТО не хочет платить деньги. Это факт :)

Кстати отсюда же напрямую исходит, что невозможно сократить часы своей работы официальными методами. Например, я хороший специалист, я хочу работать 4 часа в день вместо 8, и больше тратить на семью. Я уверен, что я буду делать не меньше по объему за 4 часа, чем мой сосед "Вася" за 8 - и хочу получать за 4 часа такую же зарплату, как он за восемь. НЕ ПОЛУЧИТСЯ! Точнее, делать столько же получится, а получать за 4 часа такую же зарплату - нет. Причем, на вдвое большую зарплату за 8 часов договориться еще реально, но сокращение рабочего дня - нет. Психология, блин.

Как решить эту проблему?


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

Но мне кажется, можно кое-что придумать и работая "на дядьку":
  1. Надо поменьше показываться начальству/клиентам на глаза, особенно во время работы.
  2. Надо добиваться положительного фидбэка от клиентов/рецензоров. Выполнять работу хорошо, в сроки, и всегда демонстрировать результат.
  3. Во время демонстраций, не помешает рассказать о тех трудностях, которые пришлось преодолеть в процессе выполнения этой задачи. Также не помешает упомянуть о том, какие знания и опыт вам помогли в решении этой задачи.
  4. Желательно выбирать такую работу, в которой не придется заносить часы и не придется отчитываться по каждому часу.
  5. Свободное время проводить там, где тебя никто не видит, и особо об этом не упоминать.
Если вкратце, работать нужно так, чтобы никто не видел процесса, а все видели только результат.

Заключение


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

P.S. Не стесняйтесь свои мысли/опыт по этому поводу скидывать в комменты. Обсудим :)

11 комментариев:

  1. Спасибо! Полезная статья. Кстати, тоже занимаюсь разработкой под SharePoint. :). Жду новых публикаций.

    ОтветитьУдалить
    Ответы
    1. Спасибо, рад стараться. Добро пожаловать в "клуб" :)

      Удалить
  2. Ещё вариант - стать начальником, которого не контролируют.

    ОтветитьУдалить
  3. А у меня получается, что я сижу в опенспейсе прямо в окружении начальства и таская свой ноут (т.к. корп. интернет некоторые ресурсы, статьи не позволяет читать), а на рабочем всегда открыта VS2012, в которой идет постоянное написание кода, тесты, скрам и т.д. И когда начальство начинает интересоваться моими текущими задачами, я смело показываю дашборд с TFS, а там уже красивенько показаны текущие задачи и что в работе =)

    ОтветитьУдалить
    Ответы
    1. Не знаю, не знаю. Не проблема ведь заметить, сколько ты времени за своим ноутом проводишь, а сколько за рабочим.

      Удалить
  4. Блин, не простой вопрос, думаю у всех есть разные переживания, взгляды и опыт. у меня, вот, не на что времени не хватает, при этом я явно не лентяй, хотя бывает лентяйничаю, и даже если нет коммерческого проекта, у меня всегда есть дела, слоняться по офису не получается короче. Но я как то с этим смерился, и сейчас как эстонец, ни куда не тороплюсь, а просто методично , итерационно, двигаюсь к результату, и заметил что в моем случае это более эффективно. задачи "надо срочно", не для меня. мне вообще решения даются тяжело, я 7 раз меряю и только потом решаюсь резать, соответственно ошибаюсь редко, но всеееее оооочень долго, как мне кажется.
    Какой выход? Как Вы, Андрей, правильно подметили, самый лучший компромисс свое дело!!! Рисков бояться не стоит, они везде! Но один в поле не воин, я это уже давно понял, нужны партнеры и в первую очередь у которых цели будут совпадать с вашими. У меня аналогичное отношение к "своему делу", что 80% работы не мое, мое только техническая часть. Но как я поступил,
    1. я не бросал попыток "замутить" что то свое!!! - чем больше попыток тем выше вероятность - математика. у меня в принципе уже третья "серьезная" попытка и я бы сказал удачная, а начинал с фриланса - неплохая школа "своего дела" для мягкого старта самое оно!, кто не пробовал еще - марш на фриланс!!!.
    2. и не в одиночку а с кем то!!! - это обязательное условие, желательно что бы был из другой области, например ПМ, аналитик и т.п. но к сожалению, как показывает практика, 80% дилетанты и лоботрясы и тут вы копьев много поломаете, у меня даже чувство такое было, что я как барышня в женихах копаюсь.
    3. риски - я уже сказал, что я 7 раз меряю, и вот взять и бросит работы и уйти на вольные хлеба, да еще с мои-то кредитами, я рисковать так попросту не могу. но! в настоящее время я, с коллегой партнером (еще со времен фриланса), работаю по субботам полностью на свои проекты и тоже по шарику, устаю ужасно, на личные заботы вообще времени не остается, но я относительно "доволен".

    пока все...

    ОтветитьУдалить
    Ответы
    1. >>7 раз меряю и только потом решаюсь резать, соответственно ошибаюсь редко, но всеееее оооочень долго, как мне кажется.

      Ну это как раз правильно. Я уже писал выше в статье, что невозможно все время работать как пчелка, и что некоторые задачи требуют всестороннего обдумывания. Если такие задачи обдуманы не будут, то они с высокой вероятностью будут решены с ошибками (иногда концептуальными). Нередко такие ошибки в конечном итоге приводят к переписываниям кода. Так что нафигачить 10000 строк кода за 3 дня, а потом мучаться с переписыванием/комплексным рефакторингом - это в итоге на самом деле совсем не быстро - это на самом деле намного более медленно, чем сначала 3 дня думать, а потом 1 день написать, но зато ничего не переписывать.

      >> свое дело
      Ну тут для кого как. Для меня свое дело категорически не подходит. я не готов вкалывать 12 часов в день без выходных и не видеть семьи. Как однажды сказал один мой знакомый, "получать много денег бессмысленно, если их некогда тратить".

      Более того, дело даже не в деньгах, по большому счету. Выше в статье я упоминал, что мне более интересно не заработать много денег, а уменьшить время работы, высвободить это время на семью, спорт, творчество, личные проекты лежащие в нерабочей плоскости. Время - это всё, что у нас есть. В итоге половину времени бодрствования средний человек работает, еще четверть - накладные расходы (поесть, доехать, и т.п.), и в итоге лишь 1/4 времени человек тратит на себя.

      В случае своего дела, это уже не 1/4, а намного меньше. Человек себя обманывает: ему кажется, что он работает "на себя". На самом деле, даже в случае своего дела, человек работает на самом деле на других - на своих клиентов/потребителей, и outcome из всего этого - всего лишь деньги. Мне кажется, денег нужно столько, чтобы их нехватка не вредила здоровью, т.е. чтобы можно было нормально поесть, нормально одеться, съездить позагорать летом, обеспечить детей - все. Большинство людей уже столько зарабатывает - хотя конечно психологически им всегда хочется больше, это безусловно (но мы цивилизованные люди, надо уже начинать учиться давить неандертальские инстинкты). А вот нехватка времени - это реальная проблема. В итоге 70 лет, здоровье ни к черту, оглядываешься на жизнь и думаешь: "а чо сделать то успел? работал, работал, всю жизнь. и что?"...

      >> устаю ужасно, на личные заботы вообще времени не остается, но я относительно "доволен".
      Это называется мазохизм, не? :) Получать удовольствие от того, что тебе плохо...

      P.S. Я понимаю, что многим нравится идея "свое дело" и что сейчас может начаться никому не нужный спор/холивар по этой теме. Но прошу вас, прочитайте внимательно, что я написал выше. Просто задумайтесь на минутку...

      Удалить
  5. Коллеги, работая на дядю, вообще не стоит напрягаться. Увеличение з\п можно добиться только сменив работу, остальное все компромисс.

    ОтветитьУдалить
    Ответы
    1. Интересует прежде всего не увеличение зарплаты, а уменьшение рабочего времени.

      И не напрягаться на работе - опасно, как я уже отметил в статье, по двум причинам:

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

      2. Начальство это заметит, рано или поздно. Начнутся разговоры, санкции, тобой будут недовольны, не дадут тебе хороших референсов и т.п. И коллеги тоже будут косо смотреть. Причем, опять же, ВНЕ зависимости от того, сколько ты реально решаешь задач. Расслабляешься на работе - лодырь. Period.

      Касательно увеличения з/п, в целом согласен - это самый эффективный метод, если нужны деньги. С другой стороны, всю жизнь с работы на работу не проскачешь. Я скакал так 1.5 года, в итоге меня начали спрашивать: "а какая у нас гарантия, что ты от нас через полгода не упрыгаешь?"... :)

      Удалить
  6. Надо вообще как можно меньше работать и как можно больше получать. Личная эффективность и тут помогает, только совсем не в том направлении как пишет Андрей.

    ОтветитьУдалить

Внимание! Реклама и прочий спам будут беспощадно удаляться.