Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Обсуждаем вопросы личной эффективности: как есть слонов, лягушек, летучих мышей...
Аватара пользователя
Максим Дорофеев
Site Admin
Сообщения: 1980
Зарегистрирован: Вс июн 28, 2015 1:56 pm
Контактная информация:

Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Максим Дорофеев »

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

Чтобы было понимание окружения человека: он программист фрилансер.
Один хороший человек писал(а): ты такие штуки любишь, поэтому и слушай :D пилить блог/группу/др. хрень мне лень))
суть методиГи: врубаем запись видео, в самом начале пишем тасклист из 1-3 задач, которые можно/нужно решить за отведённое время.... лимит времени ставлю чисто мысленно, исходя из доступного времени и кол-ва задач, а общее время беру кратное 30мин)
нюанс раз: задачи беру такие, чтоб они влазили в 1 час максимум, а лучше в 30 мин (оценка часто ошибочная и они решаются либо за 10 мин, либо за 1.5часа, но оно компенсируется)

нюанс два: вся эта хренотень основана на помидорах, но не 20 мин, а от 30 до 120 минутных

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

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

нюанс 5: как ни крути, а организму нужен отдых и его количество, в отличие от количества полезной работы, строго отслеживается организмом.... причём, не получится 2 часа пахать, потом поспать и быть как новенький... должно быть время на "активный" отдых, иначе его вычтут со сна, что плохо

как ни странно, но весьма полезно пустить фоном какую-то не особо важную и сложную книг у/лекцию..... скажем, мне не сильно интересна Ява, а многое я и так знаю, поэтому вполне прокатывает лекции про тот же Spring
пусть я и не запоминаю весь материал, но мозг выхватывает много обрывком и потом их вспоминает при надобности.... пример: слушал про Haskell, не понимал почти ничего в ФП, потом меня ветром занесло в Питон и C#, где ФП весьма доступно, и я ооооочень быстро заполнил пробелы, начав свободно манипулировать списками и всякими map-reduce (хотя не на уровне профи, конечно)

Lomelind
Сообщения: 1235
Зарегистрирован: Ср июл 01, 2015 5:11 pm

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Lomelind »

оооо, человек явно в теме:)

Про книжку фоном - плюс много, да.

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

и ещё 5 пункт - тоже, так есть.

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

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

Аватара пользователя
Антон Миргородченко
Сообщения: 6
Зарегистрирован: Пн июл 06, 2015 11:50 am
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Антон Миргородченко »

Ну, коль на то пошло, тут тогда выложу свои дальнейшие размышления-приключения.
Небольшой disclaim: я особо не знаком с материями, которые вы тут обсуждаете. Читать я особо не люблю (мало книг без воды), всякие вебинары/статьи по тайм-менеджменту были посланы (опять же, вода одна... только бухтелки Макса прижились, как-то более практично), поэтому мои рассуждения могут идти вразрез с более серьёзными теориями. Фактически, учусь/вникаю я по ходу жизни, набивая шишки и пытаясь больше не наступать на теже грабли.

И так, начнём.
-- Не измеренное время/дело - наполовину продолбано.
Куда потом пойдут замеры, в учёт или же в мусорку, - это дело второе, но должна быть мысль что "вас измеряют")) Это позволяет и не расслабляться, и не уйти в... эээ.... over-engineering?, и вовремя отложить дело (упираешься в новую, сложную, задачу и начинаешь тупо метаться, тратя зря время/силы)
Даже сейчас у меня тикает таймер, кстати, чтоб не продолбать весь день на этот опус (коэффициент продалбываемости ограничен лишь личным желанием НЕ продалбывать :-) )

-- В любой непонятной ситуации - тупим.
Применимо к делам:
1) Нет списка дел и нужно понять что делать - тупим.
2) Есть список дел, но их больше одного - тупим пропорционально количеству дел.
3) Мы выбрали дело "на сейчас", но оно непонятно и/или явно невпихуемо (требует больше ресурсов, чем есть) - тупим.
4) Во всех остальных случаях - люто тупим.

Если эту мысль развить и довести до предельного вида, то получаем что-то типа:
КПД = (общее время - ((время на подумать - Х) * коэффициент тупления) / общее время
тут Х - это эдакое время разгона механизма тупления.

Из этой забавной псевдо-формулы следует, например, что чем ближе "общее время" к Х - тем выше шанс повысить КПД. Почему шанс? - Х зависит от кучи факторов и скачет сильно, поэтому мы можем раз выжать 99% КПД, а потом месяц восстанавливать Х.
Кстати говоря, привет помидорам :-) Они пытаются именно приблизить общее время к Х, но делая это "в лоб", что не всегда правильно.

В отношение списков дел, это выливается, например, в необходимость контекстно-зависимых списков. Да, два списка - это уже выбор, думанье и тупление, НО если они взаимоисключающие друг друга, то всё окей. Есть ресурсы для работы? - Открываем список по работе. Есть ресурсы для самообразования? - Открываем список по самообразованию. Захотели отдохнуть? - Не-не-не, списочек открываем, таймер включаем и продуктивно отдыхаем!
(Конечно же, стоит их так организовать, чтоб не думать долго какой сейчас нужен)

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

Эдакий тезис: если некая задача долго висит в списке на период Х, то это, скорее всего, задача более высокого "уровня".
Например, уже месяц в списке ежедневных дел висит проект, который я делаю уже 8 лет. Каждый день я вижу этот пункт и думаю "мммм, а хз что там делать, сделаю другое".

Я не знаю как плавно перейти, поэтому сразу опишу как происходит сейчас работа у меня:
1) определяю доступные мне ресурсы (время и желание)
2) беру список дел на более высокий уровень (на день)
3) выбираю подходящий проект
4) беру список дел для ЭТОГО проекта, уже на требуемый мне период времени
5) выбираю подходящий ПОДпроект
6) смотрю его подзадачи, которые и делаю

Опять же, всё это выполняется с работающим таймером. Если я ещё не дошёл до п.6, а прошло уже 5 минут, то тут должна появиться задача "потупить 15 минут и уточнить задачу Х". Если у меня сейчас есть ресурсы для этого, то задача тут же берётся в оборот, а таймер перезапускается.

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

Пока всё, писательский ресурс я исчерпал, поэтому буду закругляться.

P. s. у некоторых возникают вопросы типа "а как же творчество и креатив?" - так вот, творчество - это когда вы творите, а не та хрень, которая тратит ваши ресурсы зря. Хотите больше свободы в творчестве? - Приковывайте к батареи музу, чтоб всегда была под рукой, а не шастала хз где.

Аватара пользователя
Антон Миргородченко
Сообщения: 6
Зарегистрирован: Пн июл 06, 2015 11:50 am
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Антон Миргородченко »

Вчера меня беспокоил тот факт, что я приравнивать пытался процесс работы над делом к работе цехов/станков. Конечно, оно где-то как-то так и есть, но у меня эта аналогия вызывает противоречия т. к. цеха вполне себе работают параллельно, а наше тело/мозг - нет.
Цеха работают независимо, поэтому проблемы возникают лишь на "стыках" и то самое ограничение измеряется в обрабатываемых ед./время. Человек же так не работает, мы не можем каждому отделу мозга/тела дать по задаче и молотить их независимо. Это может быть просто неспособность правильно разбивать задачи на части, но факт остаётся фактом: процесс работы над одной минимальной задачей носит сугубо последовательный характер и, в большинстве случаев, проблемы возникают только со скоростью каждого этапа, но не с заторами на входе-выходе.
Кроме того, мы почти не в состояние как-то значительно улучшать/расширять наши конечности или части мозга, поэтому и ограничения, казалось бы, не устранить. Только вот эти участки/цеха часто неспособны работать в полную силу т. к. грубо говоря, им уже доставили сырьё, но работать они не могут из-за ведения плановых тех. работ. Фактически, речь идёт об истощение какого-то ресурса-подсистемы и времени на его восстановление.
Система устаёт, начинает требовать всё больше времени на выполнение отведённой ей работы, и скатывается до превращения в ограничение. Если таких систем всего Адын, как было описано в книги Карнеги, когда он анализировал работу грузчиков угля, то вполне уместно просто вовремя отдыхать "полностью". Если же систем много, то тут уже стоит их раздельно включать/выключать в процесс работы, подбирая такие задачи, которые не требуют работы "уставших" систем.
Именно поэтому я, при выборе задач, ориентируюсь не только на доступное время, но и на эмпирическую оценку доступности той или иной системы. Кроме того, это вполне вписывается в идею периодической смены деятельности, но уже в рамках отдельных подсистем. Например, я вполне могу переключиться из написания кода на игру в шашки и дать отдых отдельным частям, не принуждая к остановки другие подсистемы и, тем самым, избегая полного выход из рабочего потока. НО! Далеко не любая партия в шашки способствует отдыху и этот момент я ещё изучаю :-) и такой вот хак не отменяет необходимости периодической кардинальной смены деятельности, поэтому не забываем про тот же спорт, книги и т. п. :-)

Lomelind
Сообщения: 1235
Зарегистрирован: Ср июл 01, 2015 5:11 pm

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Lomelind »

Вот насчёт разделить задачи - иногда очень даже можем:)
Можно сидеть и чистить картошку и параллельно слушать аудиокнижку.

Аватара пользователя
Андрей Титов
Сообщения: 207
Зарегистрирован: Ср сен 23, 2015 2:24 pm
Откуда: Калуга
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Андрей Титов »

Рецепт - это когда по пунктам (1, 2, 3) и по шагам, а тут целая методика. А любая методика требует анализа и адаптации. Это один из случаев, когда предпроектная подготовка и организация работы составляют 80% от самой работы.

Проще, дешевле и быстрее - виденье (понимание) первого шага - ничего нет.

Да ничего и не надо. Много ли сработало стратегий, которые рассчитывались и подготавливались годами? Пример глобальный - СССР, Япония (80-е годы).

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

Так же и с действиями, когда понятен один шаг - понятно и направление и цель видна.

Пример с рыбалкой - чё там готовиться и организовывать - копаем червей и вперёд, а там уже как погода.

Даже пример с едой (кто готовит сам - согласится) - соль и специи строго меряются щепотками. Какие к чёрту граммы? Вы читали рецепты? Там сплошь округлённые цифры - 100 гр, 50 гр, 5 гр, 2 гр. И все говорят - я, бл...ть, делал всё по рецепту и чё то как то где то видимо упустил. Что я не так сделал? Ну давай теперь готовое блюдо разберём на ингредиенты и посмотрим сколько ты чего туда положил (это как бы камень в рефлексию, ретроспективу и прочие анализы).

Есть такое слово как ПРЕЦЕДЕ́НТ - Случай, служащий примером, оправданием для последующих случаев этого же рода. Вот его и надо использовать.
Кто понял жизнь - тот не спешит

Аватара пользователя
Максим Дорофеев
Site Admin
Сообщения: 1980
Зарегистрирован: Вс июн 28, 2015 1:56 pm
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Максим Дорофеев »

Антон Миргородченко писал(а):Именно поэтому я, при выборе задач, ориентируюсь не только на доступное время, но и на эмпирическую оценку доступности той или иной системы.
А, ведь, на самом деле это гениально! Если последить за собой, то реально у нас систем много разных всяких и у каждой есть свое топливо. Я тоже за собой часто замечал, что кажется, будто устал пипец как, но через 10 минут бодро берусь за что-то другое. Вплоть до того, что устал от чтения одной книги, беру в руки другую и она ложится в мозг ровно и гладко.

@Антон Миргородченко, а сколько ты в себе систем насчитывал? ;)

Аватара пользователя
Антон Миргородченко
Сообщения: 6
Зарегистрирован: Пн июл 06, 2015 11:50 am
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Антон Миргородченко »

Lomelind писал(а):Вот насчёт разделить задачи - иногда очень даже можем:)
Можно сидеть и чистить картошку и параллельно слушать аудиокнижку.
Это не совсем тот случай :) да, я сам совмещаю часто аудиокниги/видео с работой, но там немного иной механизм работы.... они, как бы, включают в работу "цеха", которые не задействованы в основной задаче, что повышает суммарный КПД. Кроме того, они работают в "пассивном" режиме, поэтому не получится эффективно усвоить сложный материал.
cartmendum писал(а):@Антон Миргородченко, а сколько ты в себе систем насчитывал? ;)
Пардон, но зачем их считать?) Если рассматривать это с точки зрения ТОС, то имеет смысл помнить только об ограничениях и всё сводится к вопросу "в какие ограничения упирается задача Х? насколько они сейчас загружены?".

P. s. писать мне, увы, тяжело и физически, и "технически" (стараюсь писать связно и логично, а это утомительно, когда печатаешь в 1000 раз медленнее, чем думаешь), поэтому могу отвечать/писать такими вот набегами. Надеюсь, что в ближайшее время смогу более подробно расписать т. к. это так, верхушка айсберга..

Аватара пользователя
Максим Дорофеев
Site Admin
Сообщения: 1980
Зарегистрирован: Вс июн 28, 2015 1:56 pm
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Максим Дорофеев »

Антон Миргородченко писал(а):
cartmendum писал(а):@Антон Миргородченко, а сколько ты в себе систем насчитывал? ;)
Пардон, но зачем их считать?) Если рассматривать это с точки зрения ТОС, то имеет смысл помнить только об ограничениях и всё сводится к вопросу "в какие ограничения упирается задача Х? насколько они сейчас загружены?".
Ага, все верно. Ну по именам их перечислить :) Как ты в себе выделил? Там, программирующая система, система ищущая баги, система читающая умное... Вообще заморачивался там, чтобы их как-то так распознать?
Антон Миргородченко писал(а):P. s. писать мне, увы, тяжело и физически, и "технически" (стараюсь писать связно и логично, а это утомительно, когда печатаешь в 1000 раз медленнее, чем думаешь), поэтому могу отвечать/писать такими вот набегами. Надеюсь, что в ближайшее время смогу более подробно расписать т. к. это так, верхушка айсберга..
Прекрасно понимаю. А вот про верхушку айсберга чувствую, да :) Очень любопытно :)

Аватара пользователя
Антон Миргородченко
Сообщения: 6
Зарегистрирован: Пн июл 06, 2015 11:50 am
Контактная информация:

Re: Один из проверенных временем рецептов личной эффективности (от программиста-фрилансера)

Сообщение Антон Миргородченко »

cartmendum писал(а):Ага, все верно. Ну по именам их перечислить :) Как ты в себе выделил? Там, программирующая система, система ищущая баги, система читающая умное... Вообще заморачивался там, чтобы их как-то так распознать?
Не знаю как у тебя проходят тренировки, но меня мой тренер 2 часа гоняет по тем упражнениям, которые ну пока мне не совсем выполнимы, если только не выложиться на 110%, а потом говорит:
- Заметил слабые места свои? вот и работай над ними, до нашей след. встречи!
В делах всё так же: делаешь что-то и наблюдаешь как оно идёт, где ты тупил, где мог бы быть эффективнее, какие действия можно оптимизировать (скрипт там написать или положив ближе нужные записи/книги).
Слегка эзотерическая формулировка, но очень важно само намерение быть продуктивнее. Если оно есть, то уже как-то само приходит постепенно понимание некое, свои подходы и наработки. Если его нет, то медицина тут бессильна :) хоть каждую секунду учитывай, а эффективности не будет и в помине.
Таким образом, всё сводится к наблюдению, анализу и потом уже получаешь некие итоговые данные аля "над gui я работаю очень плохо, поэтому на него нужно закладывать больший запас времени и сил". Мне с этим даже проще т. к. у меня 90% дел/жизни происходит на экране компа, поэтому я могу просто записывать процесс работы над каждой задачей, потом ускорить его в 6-10 раз и вечером просмотреть всё, отмечая (мысленно, зачастую) нюансы.
Было бы слишком просто жить, если бы мы могли получить оценку всех аспектов нашей личности :-) Только наблюдение, только хардкор)
-------------------
Решил поделиться эдаким примером подобной стратегии :) Кроме видеозаписи работы, я ещё веду запись партий в шашки/шахматы и далее работаю с ними точно так же, ускоряя немного и пересматривая. Как это не удивительно, но я замечаю на записи кучу удачных стратегий и ошибок, которые я не видел в процессе игры (и дело не в лимите на время, его предостаточно). Не то чтоб очень быстро достиг невероятного прогресса, но навыки заметно улучшил именно благодаря анализу и корректировке.
Думаю, что мы точно так же функционируем и в др. делах, погружаясь в них и переставая видеть всю картину целиком.

Ответить