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

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

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

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

Антон Миргородченко писал(а):Слегка эзотерическая формулировка, но очень важно само намерение быть продуктивнее. Если оно есть, то уже как-то само приходит постепенно понимание некое, свои подходы и наработки. Если его нет, то медицина тут бессильна :) хоть каждую секунду учитывай, а эффективности не будет и в помине.
Антон Миргородченко писал(а):Таким образом, всё сводится к наблюдению, анализу
Думаю, @Natalia согласится, что это и есть чистой воды антихрупкое прилаживание :) Чуть ли не единственный возможный метод работы со сложными и непонятными системами.

Natalia
Сообщения: 313
Зарегистрирован: Пн июл 06, 2015 4:40 pm

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

Сообщение Natalia »

Ага.
А намерение нормальное слово. Если разобраться, можно и без эзотерики обойтись.


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

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

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

Хотелось красиво расписать всё и вся, но тупо забивал и откладывал, поэтому напишу чисто мысли о том, что мне нужно/важно.
Опять disclaim: многое будет в стиле КО, но для меня оно было не очевидным.

-- Нужно чётко отделять работу над задачами от подготовки/генерации задач.
Искренне верил и надеялся, что списки дел и др. практики меня превратят в сверхпродуктивного человека. Какие критерии продуктивности у меня? - Поставленные задачи эффективно решаются, а новые ставятся.
Поставленные задачи решились, заказы все выполнены, задач 0, сплошной ра.... жопа, а не рай :-)
Ну окей, это лично мой опыт, можно бы спихнуть на мою криворукость, НО, по сути, отсюда идёт прокрастинация. Если задача поставлена и мы начали её решать, то тут совсем другие проблемы (нас могут отвлекать, мы можем тупить и тратить в 10 раз больше времени, чем реально нужно), но если ещё не начали работу, то тут и начинается прокрастинация.
Это сумбурно и по-капитански звучит, но момент весьма интересный т. к. приводит к мысли, что продалбывание - это одно явление, а прокрастинация - другое, сопутствующее. Можно продалбать прокрастинируя, но невозможно прокрастинировать продалбывание :-) Варианты навскидку:
1) Не начали работу и тупим - прокрастинация
2) Начали работу, но смотрим котиков - продалбывание - нужно смотреть ресурсы, условия работы, заводить таймеры, всячески оптимизировать процесс работы
3) Начали работу, НЕ смотрим котиков, но работа стоит - прокрастинация? нее, тут проблемы с постановкой задач и рабочим процессом.

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

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

Опыт и знания более-менее понятно как влияют. Если я уже решал такую задачу сотню раз, то и в 101 раз не проблема решить. Если я задачу не решал, но приблизительно знаю как решить, где это узнать, то чуть сложнее. Если вообще непонятно что там нужно сделать (формулировка кривая или область мне неизвестная), то тут уже оценка не то что "очень сложно", а дополнительно завышенная. Если ещё и ранее я потерпел неудачу в схожей ситуации, то тут уже чуть ли не истерика у мозга :)
Исходя из этого, можно предложить следующие правила/признаки правильной постановки задач:
- Задача должна быть уже знакома. Если она нам незнакома, то ставим задачу "ознакомиться с...." и её вариации.
- Область задачи должна быть знакома. (ознакомиться)
- Формулировка задачи должна быть простой, однозначной и понятной. Привет лекциям Макса, глаголам в начале и др. советам :-) Если с этим проблемы, то это не атомарная/правильная задача (кстати, их допустимо хранить в списках на неделю/месяц/др., но подозреваю что и там они не оптимальны, а чем заменить - непонятно)
- Избегаем негативный опыт. Опять же, неизвестно как это делать. Хитрить всячески, дробить задачу, оставлять "критический участок" на такой момент деятельности, когда мозг не совсем адекватен и ему сложно вспоминать негативный опыт (полусонное состояние, всякие вещества (для себя нашёл китайский чай, например), "разогнанное" состояние, как у пауэрлифтёров)

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

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

Глава 25 (шутка)
Сейчас я немогу сказать/предположить где и как оно учитывается (перед оценкой, думаю), но ещё одним краеугольным камнем является ожидаемый результат. Самая известная проблема связанная с этим - перфекционизм. Менее известная - до....... ну, когда "хочу свой Crysis 5 написать" или "напиши мне систему ****** за 10р" :-)
Вторую проблему я не испытываю давно, но лечил бы чем-то острым :) А вот перфекционизм у меня в запущенной форме, ещё и некоторые особенности здоровья это усугубляет, поэтому о нём и напишу пару слов.
Видимые варианты решения:
- Явно и сознательно указывать минимальные требования к задаче. Не "нарисовать круг", а "нарисовать то, что другим покажется кругом" :-) Шутки шутками, а в фотошопе, на изображение порядка 2000х2000, я упирался в квадратные пиксели
- С заказами немного проще: делим бюджет на часовую ставку ("психологическую") и уже отталкиваться от этого...... перфекционизм отпускает, но появляются другие проблемы (появляется идея личного проекта, но за него никто не платит, поэтому нафиг его, даже если оно могло стать доходным продуктом)
- Дробим задачи ещё сильнее. Атомарные слишком большие для перфекциониста, поэтому идём на квантовый уровень :) почему это работает? - Мы делаем идеально много мелких задач, а время доведения задачи до идеала/идиотизма пропорционально её размеру, поэтому получаем потом вполне стандартное гавно за вменяемое время.

(на нормальных людях эти методы, по идеи, дают обратный результат, повышая итоговое качество)

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

На этом всё, устал печатать :)

Ответить