?

Log in

No account? Create an account
   Journal    Friends    Archive    Profile    Memories
 

Productivity/organizing breakthroughs - morfizm


Jun. 15th, 2014 05:21 pm Productivity/organizing breakthroughs

Бывает, что есть какая-то глубокая проблема, о которой долго думаешь, годами по кусочкам собираешь информацию, разные примеры, советы, идеи, как-то смотришь на это скептически: с одной стороны, дельные мысли, с другой - не очень-то они укладываются в твою жизнь, и не очень понятно, получишь ли ты нужный результат. Иногда действительно пробуешь, и не получается. А иногда такие проблемы неожиданно решаются - видимо, прошло время или накопилась критическая масса информации, и она вдруг уложилась в голове, и ты начинаешь чувствовать это решение как "своё", и даже удивляться, почему такие простые вещи тебе раньше не приходили в голову (конечно, приходили, но под другим соусом и у тебя было другое к ним отношение).

За последний месяц у меня подобных "озарений" случилось сразу три штуки, причём я подчеркну значимость этих штук для себя: их происходит редко более одной штуки в год, и наиболее яркая вещь, которая мне запомнилась за последние четыре года - это идея, что будущее за distributed systems, и мою любовь к оптимизации performance вполне можно перенести с микрооптимизаций single-threaded кода и desktop experience на строительство более эффективных распределённых систем. (До этого у меня была идея, что алгоритмы, оптимизации и прочий fun доступен только на низком уровне, а на высоком всякие лузеры пишут неэффективный shit, и надо держаться от этого подальше). Идею про распределённые системы пытался в меня вдолбить мой бывший коллега на протяжении года, и я очень доволен, что до меня оно, наконец, дошло.

Новые идеи:


"Множественные бюджеты времени".
Что можно сделать с неприятным фактом, что в сутках всего 24 часа, и даже если на какой-то другой планете будет больше часов, то больше будет у всех, поэтому с соревновательной точки зрения никакого преимущества это не даст?
*) Можно оптимизировать хорошее трудоспособное настроение. Этому есть предел: я уже нахожусь в хорошем позитивном настрое большую часть рабочего времени.
*) Можно оптимизировать подготовку и выбор задач, делать именно то, что у тебя лучше всего получается. Этому тоже есть предел. Если раньше были issues в этом плане, то за последние несколько лет я научился правильно готовиться и правильно выбирать. У меня почти всегда есть ощущение, что из доступных в команде задач, я выбираю самые удачные с учётом своих индивидуальных особенностей.

Что осталось? Осталось оптимизировать роли. Одно и то же время провождение может играть разную роль. Две или больше - win. Эта идея обкатывалась, когда я в течение некоторых периодов за прошлый год учитывал времяпровождение по категориям, и пытался создавать "бюджеты времени", чтобы ограничивать сверху ненужное и ограничивать снизу нужное. Хочется чтобы циферки сходились к 24 часам в сутках, поэтому я противился желанию добавлять действие, убивающее сразу "двух зайцев", в обе категории. Идея простейшая, и состоящая в том, что таки надо добавлять, и вообще стремиться, чтобы как можно больше разных "бюджетов" покрывалось одним действием. А время, проведённое без пользы, не надо добавлять никуда. Суммарного времени становится в потенциале куда больше, чем 24 часа в сутках. Если стремиться, чтобы всегда покрывались хотя бы 2 бюджета, допустим, в половине случаев это будет получаться, то получаем дополнительных 8.5 часов в день (24-7 на сон это 17, половина от 17 это 8.5), суммарно уже 32.5. Profit! :)

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

Примеры (один из личной жизни, один из работы, просто для иллюстрации идеи):

1. Просто езда на машине (commute) это 0, это издержки того, что ты живёшь далеко от работы в густонаселённой местности. Это даже не 0, а убыток, потому что это расход внимания, после которого надо немного отдохнуть и восстановиться - потратить дополнительное время. Учить жену водить куда круче, можно списать в сразу 3 бюджета: преподавание (как хобби, оттачивание мастерства), обучение жены, времяпровождение с женой (есть какая-то потребность сколько-то времени просто проводить в месте, и, понятно, часть этой потребности будет снижена, если заниматься чем-то полезным вместе). Даже если это не идеальные 3 бюджета (по каждому из отдельных можно было бы найти занятие получше и поэффективнее), то 70% от 3 бюджетов это 2.1 - всё равно вдвое лучше, чем делать что-то одно.

2. На работе можно просто выполнять какую-то полезную задачу, а можно планомерно подгадывать так, чтобы убивалось сразу несколько зайцев: например, решая проблему customer'а твоей системы, можно сделать не вручную, а добавить фичу, чтобы в следующий раз проблема не возникала, для написания этой фичи нужно поговорить с автором уже имеющейся автоматизации, работающим в соседней группе, и, допустим, придётся разобраться в новом языке для конфигураций. Это сразу 4 бюджета: решение проблемы customer'а, полезная автоматиация, знакомство с новыми людьми по работе, и обучение: новый язык для конфигураций.


"Work/work balance".
Понятно, что перерабатывать неэффективно. Я веду внимательный учёт часов, в которых полное внимание (стремимся к 100%) посвящается работе, и если этих часов получается 40 в неделю, то, вообще-то, это очень продуктивная неделя. Если 45-47, это working really hard. 50+ это burning out, и отдача будет ниже, чем если работать 40.
Но если для максимальной эффективности работать можно только 40 часов, что можно делать в оставшееся время?
Даже если жёстко порезать все малозначительные дела и выделить всё остальное время после сна и работы на медитативный качественный отдых, когда ни одной мысли в голове, мне кажется, не получится выдержать такой режим. Обязательно будут соблазны думать, а когда думаешь, уже забиваешь голову чем-то. Это фокусирует энергию в каком-то другом направлении, совсем не обязательно сонаправленном работе.

Идея в том, что совсем не обязательно двигаться в другом направлении. Можно сонаправить цели :)
Для этого нужно лишь разделять работу на два типа: работа, когда делаются дела, и создание окружения - какая-то инвестиция в себя или в близких, заодно помогающая быть эффективнее на работе, но ощущающася больше как хобби и отдых, а не как дело. Дела из этой второй категории очень легко увидеть: они все optional. Т.е. если в системе учёта дел жёстко разделять нужные дела и опциональные, то опциональные это и есть те, из которых можно выбирать интересное послерабочее времяпровождение.

Таким образом, цели сонаправлены (и то, и другое помогает успехам на работе), а тип затрачивоемой энергии разделяется ("работа" vs "отдых, восстановление").

Пример: на этих выходных я прохожу tutorial по vim, настроил vim в Far'e по F4, и уговорил Катю изучить vim, т.к. ей нужно хорошо знать хотя бы один нетривиальный редактор, и vim это хороший investment. На днях подготовлю шпоргалку с полезными шорткатами и повешу в туалете. Это нельзя считать работой, т.к. в деталях разобраться с vim'ом это fun (у меня оно было зафайлено в раздел "hobby-learning" в списке опциональных дел), но при этом оно сильно поможет по работе, и из этого ещё и удалось сделать вклад в Катину учёбу.

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


How to make GTD work: Someday-Maybe list
Не знаю, пытался ли кто-нибудь ещё педантично имплементировать GTD ("Getting Things Done", методология организации дел по одноимённой книжке). Я пытался очень неоднократно, и имел ряд проблем. Эти проблемы как-то решались, и получавшаяся система чем-то напоминала оригинальный GTD, но имела много отклонений, и работала менее эффективно, чем хотелось бы.

Одна из ключевых проблем в GTD это как обеспечить, чтобы action list'ы были маленькими. Постоянно добавляются дела, большие и маленькие, ты их добавляешь в список соответствующего контекста, если дело сложное - создаёшь проект отдельной страницей в OneNote и добавляешь в список проектов ссылку, если не очень, добавляешь в action list, и получаются такие унылые мега-list'ы, в которых очень многое не делается неделяеми, если не месяцами, и отнимает время просто даже смотреть на эти списки. Система не работает.

В книжке про GTD написано, что action list'ы должны быть маленькими, но там не написано, как их такими сделать. В частности, упущена ключевая деталь по организации "Someday-Maybe" list'а. Если action lists должны быть организованы по контексту, то "Someday-Maybe" должен быть организован по топику (именно в этом ключевое "прозрение"). Как только я распихал все старые actions в "Someday-Maybe", который я вынес в отдельную секцию в OneNote со страничками по каждой теме, и вынес лишь десяток самых необходимых actions в action list, всё сразу заработало на порядок лучше. "Someday-Maybe" надо регулярно просматривать, чтобы вытаскивать оттуда actions. Новые дела из "inbox" (collection tools) тщательно оцениваются на предмет немедленной необходимости, и по умолачнию идут не в action list, а в "Someday-Maybe".

Tags: ,

16 comments - Leave a commentPrevious Entry Share Next Entry

Comments:

From:dennyrolling
Date:June 16th, 2014 05:56 am (UTC)
(Link)
про вим: рекомендую вот эту страничку - http://www.viemu.com/a-why-vi-vim.html
там же есть и читшит, который у меня долго лежал над клавиатурой.
From:morfizm
Date:June 16th, 2014 07:12 am (UTC)
(Link)
Спасибо! Распечатал :)
From:morfizm
Date:June 16th, 2014 08:48 pm (UTC)
(Link)
Денни, расскажи, можно ли в vim'е двигаться стрелками курсора вверх-вниз, чтобы курсор не прыгал влево на коротких строках, а оставался в той же колонке?
From:(Anonymous)
Date:June 17th, 2014 12:38 am (UTC)
(Link)
интернеты пишут что
set virtualedit=all

это сделает.
From:dennyrolling
Date:June 17th, 2014 03:10 am (UTC)
(Link)
...это был я...
From:morfizm
Date:June 17th, 2014 06:02 am (UTC)
(Link)
Ага, я понял. Спасибо большое!
From:soloviewoff
Date:June 17th, 2014 07:10 am (UTC)
(Link)
Оффтопик, но все же: я в Виме давно привык перемещаться, используя hjkl клавиши. Какое-то время привыкаешь, но потом удобнее - руки не надо перемещать на курсорные клавиши. Я, честно говоря, в обычных редакторах с их Shift плюс стрелки для выделения уже очень неуютно себя чувствую. Как правило, ставлю хоть какую-то эмуляцию Вима. Правда, часто она ущербная очень.
From:dennyrolling
Date:June 17th, 2014 07:28 am (UTC)
(Link)
+1 к hjkl
From:morfizm
Date:June 17th, 2014 07:40 am (UTC)
(Link)
Я прочёл по твоей ссылке, учу hjkl. С логической т.з. мне очевиден бенефит. Правда, это практически исключает навигацию в insert mode, но если крутые парни говорят, что работать надо в normal, буду привыкать к normal.
From:morfizm
Date:June 17th, 2014 07:40 am (UTC)
(Link)
Я прочёл по Денниной ссылке, учу hjkl. С логической т.з. мне очевиден бенефит. Правда, это практически исключает навигацию в insert mode, но если крутые парни говорят, что работать надо в normal, буду привыкать к normal.
From:soloviewoff
Date:June 17th, 2014 03:20 pm (UTC)
(Link)
Я никогда не подсчитывал, какой процент времени я нахожусь в режиме вставки, а какой - в командном режиме. Интересно будет обратить внимание на это. Интуитивно, печатание нового кода происходит подряд в режиме вставки, особо не меняешь то, что написал. Правка существующего кода заключается в постоянном перемещении по тексту с помощью gg, gg, G, b, e, w, hjkl, /, *, #, f, t, % и схожих команд. А также удалением и перемещением кода с помощью dd, p, x, y, r, diw/daw/di'/da' и многих других. Поэтому в режиме редактирования действительно относительно мало находишься.

У меня еще всегда Caps Lock переназначен на Control, чтобы можно было не Escape давить для выхода в командный режим, а CTRL-[.

Интересно было бы иметь social плагин для Вима, который бы показывал частоту использования мировым коммьюнити разных штучек в Вим.
From:soloviewoff
Date:June 17th, 2014 03:21 pm (UTC)
(Link)
Злобный ЖЖ съел таги с угловыми скобками из текста без предупреждения. Восстанавливать нет терпежу.
From:morfizm
Date:July 6th, 2014 09:42 pm (UTC)
(Link)
Спасибо!
From:dennyrolling
Date:June 18th, 2014 07:07 am (UTC)
(Link)
самая ниндзя команда это xp

сначала не знаешь зачем, потом постоянно пользуешься.
From:morfizm
Date:July 6th, 2014 09:10 am (UTC)
(Link)
Исправлять опечатки?
From:archaicos
Date:June 18th, 2014 07:24 am (UTC)

Вспоминая ZX Spectrum

(Link)
Никогда не любил Cursor и ему предпочитал Interface 2. :)