Доброго дня! Давно тянутся руки поделиться опытом на Хабре, или, вот, GT, благо опыта накоплено немало и в научной сфере, и в преподавательской, и в алгоритмотворческой. Но работа в крупной корпорации связывает руки в плане написания статей о разрабатываемых системах, а писать какие-то общие слова на тему — очень мало смысла и пользы. Однако пришла в голову идея поделиться именно подходом к работе, который позволяет сохранять здоровье, не теряя производительности, а порой даже заметно её повышая.
Слабым местом программиста — а кто в наше время не программист? — является зрение. Код, документы, презентации, диаграммы и прочая картиночно-текстовая мишура, сутками пляшущая на мониторе, очень сильно сажает зрение в глубокий минус по диоптриям и в дельта-окрестность нуля по остроте. Не могу при этом не похвастаться собственным зрением, не требующим для успешной работы ни очков, ни близости рассматриваемого объекта, ни его крупности, ни значительных мощностей освещения. Сохранять его в таком состоянии удаётся, во многом благодаря отражённой в заголовке технике работы с диктофоном. Этот подход позволяет работать не только без монитора, но и даже без ручки с бумажкой.
В общих словах такую работу можно описать следующим образом. Если требуется хорошенько обдумать какую-то часть деятельности, которая потом, конечно, выльется в исходный код, презентацию или текстовый документ, то не надо сразу же кидаться к редактору. Да, многие знают, что кидаться сразу к редактору среды разработки — это, вообще, детский, нулевой, уровень. Открывать текстовый документ для написания плана работы можно, пожалуй, назвать первым уровнем развития. На второй уровень позвольте поставить ручку с бумажкой или доску с маркером (кстати, мел я люблю больше), потому что отказ от включения компьютера позволяет не только отодвинуть среду разработки ещё подальше для лучшего развития плана работы, но и банально дать глазам ещё несколько минут или десятков минут не пялиться в монитор. Уровни, надо отметить, совершенно условные, взятые прямо в момент написания текста с моего невысокого потолка просто для некоторого разграничения подходов разных людей. Иногда ведь так перещёлкнет, что лезешь прямо в код, делаешь там весьма значительные правки — и всё с первого раза отлично работает. Но это как бы говорит о том, что всё планирование и продумывание произошло в головушке, а там это порой случается в одну секунду.
Собственно, пишу-то я о третьем уровне развития подготовки к работе. Не надо даже брать ручку с бумажкой, можно просто закрыть глаза и включить диктофон. Воображение, правда, тоже придётся активировать, но с ним, пожалуй, у программистов обычно всё в порядке. Сейчас может показаться самым приятным, что, в отличие от подходов всех предыдущих уровней, здесь зрению предоставляется полный покой. Например, первый набросок данной статьи я наговаривал на диктофон, лёжа с закрытыми глазами в кровати, перед сном. Но отдых аппарата восприятия картинок — это, честно говоря, не самое приятное. Самой сладкой плюшкой оказывается именно ощущение могущества работы в голове, без привлечения окружающего мира. Попросту можно сказать, что предлагается хорошая практика предварительного обдумывания работы с использованием диктофона. Я ещё не говорю о том, что в дороге с работы домой в автобусе, в метро или в личном транспорте записывать свои мысли лучше всего именно на диктофон. Эх, сказал… И всё же, практикуя такого рода диктовку, в некоторый момент приходишь к поразительной возможности не просто обдумать и набросать, а полностью до деталей выполнить всю работу, не прибегая ни к чему, кроме воображения и диктофона.
На этом можно было бы статью и закончить. Посыл простой: прежде чем писать код, клепать презентацию, документацию или даже решать физико-математическую задачку с немаленькими формулами, попробуйте взять диктофон и заняться всеми теми же видами деятельности с закрытыми глазами. На прогулке или за рулём глаза, правда, лучше не закрывать. Оказывается, ничто не мешает вербально описывать названия и параметры функций, их взаимодействие, их начинку, работу с памятью, индексы элементов в массивах, типы данных и даже битовое содержимое. Ничто не мешает точно также «на словах», а не на деле, брать сложные интегралы, описывая подынтегральные функции, области интегрирования, подстановки, элементарные методы перехода за следующий знак равенства и т.п. Такая работа реально снизит нагрузки на зрение и удивит возможностями собственной, казалось, уже пустой, головы.
Однако статья на этом не заканчивается. Плох препод без жизненных примеров. Диктофон я купил в тот момент, когда у меня оказалось сразу три работы: преподавание математики с ассистентской нагрузкой, научная активность, которую после защиты кандидатской хотелось разогнать для выхода на докторскую траекторию, и ещё R&D деятельность в области 3GPP и смежных стандартов, за которую только и платили какие-то разумные деньги, в отличие от первых двух активностей.
Необходимо было написать отчёт по технологии Мобильного IP. Что-то вроде технико-экономического обоснования (feasibility study). Несмотря на простоту идеи технологии и, вообще говоря, нефундаментальность исследования, весь зоопарк систем и подсистем, содержащий в себе мобильные сети третьего и четвёртого, на тот момент, поколения, а также сети Wi-Fi и попытки их вовлечения в сети сотовых операторов, требовал для создания сколько-нибудь грамотного отчёта закопаться в такую кучу стандартов IETF, IEEE и OMA, что мама не горюй. Я просто физически начал замечать, как номера домов, которые мог различить, глядя с балкона, становились всё ближе и ближе, а те, которые были различимы вчера, сегодня превращались в недогруженный Прогрессивный JPEG. Ведь, помимо чтения документов, требовалось ещё куда-то фиксировать усвоенный материал, то есть постоянно переключаться между файлами, копировать, вставлять, переставлять местами куски текста, дописывать, искать, куда вставить текст, который пришёл позже, но жизненно необходим для понимания раньше и т.д. Чтение само по себе не так утомительно, как эти самые метания между документами, презентациями и прочей электромакулатурой. Технические стандарты имеют к тому же привычку ссылаться друг на друга самым непристойным образом. Авторов, конечно, можно понять, но разгребать все эти ссылочные деревья с многократными ветвлениями, а потом ломать глаза в поисках документа с нужным номером в папке на собственном компьютере — это удовольствие, достойное самого радикального мазохиста.
И тогда я взял диктофон. Переходя к очередному документу, просто проговаривал его название и спокойно читал, надиктовывая отдельные цитаты, описания картинок и диаграмм, собственные мысли по ходу чтения. Периодически туда же в звуковой файл рассказывал общую картину, которую понял на текущий момент, указывая, каких крупных и мелких элементов в ней не хватает. А когда находил эти элементы, точно так же рассказывал, где они были найдены, что из себя представляют и как встраиваются в целиковую конструкцию. В подобном подходе к работе во многом привлекает тот факт, что очень эффективно составляется именно общая картина, но при этом ничто не мешает пристально рассмотреть любую её мелкую деталь во всех подробностях. И всё это документально фиксируется для дальнейшего сбора в финальный документ. Когда приходит глубокое понимание исследуемого предмета и ощущение способности изложить это понимание в отчёте, диктофон переключается в режим ускоренного воспроизведения, и отчёт пишется с нуля и до конца в один присест, разве что только с отвлечениями на справление естественных нужд, но чаще всего — на очередную кружку чая.
Другой пример — с формулами. Однажды затеял поиск уравнений движения сложной механической системы, но в то же время возникла необходимость совершить 9-часовой перелёт. Диктофон, как обычно, лежал в кармане, и я подумал, что можно записать хотя бы какие-то начальные мысли по поводу конструкции и анализа этой системы. В течение перелёта, в условиях тряски, темноты и полусна — в обычных самолётных условиях — удалось обдумать все обобщённые координаты и связи, направления и нулевые лучи для отсчёта углов, ввести таким образом кучу переменных, собрать их в нехилый лагранжиан, взять необходимые частные и полные производные (см. Лагранжева механика) и сделать некоторый анализ полученных уравнений движений, которые, конечно, представляли собой набор гармонических осцилляторов с разного рода взаимосвязями. И всё это, практически не открывая глаз. Все необходимые вещи прекрасно описываются словами, и, будучи описанными, великолепно запоминаются и поддаются манипулированию в воображении не хуже, чем на бумаге или доске.
Очевидно, что диктофон на третьем уровне развития является лишь неким костылём для воображения, который на четвёртом уровне уже не понадобится. Но костыль чрезвычайно удобный, позволяющий открывать невиданные горизонты. Пришёл я к нему, вообще говоря, пытаясь запрыгнуть сразу на четвёртый уровень ещё в старших классах школы. Дед активно впрягал меня в пахоту, окучивание, прополку и сбор картошки, а мне одновременно нужно было решать физические задачки с удалённых курсов МГУ. Решать приходилось в уме. На самом деле, задачки как правило не решались, а только именно обдумывались в общих чертах, но обдуманные задачи, как известно, решаются весьма непринуждённо. Тем не менее, меня сегодня нисколько не удивляет, что, например, Стивен Хоукинг пишет книги и выполняет сложнейшие вычисления, будучи чуть более подвижным, чем огурец; и что Леонард Эйлер спокойно, а может быть, даже ещё активнее занимался математической физикой после полной потери зрения.
Добавлю ещё о диктофонах. Всю прелесть этого устройства сложно оценить, имея только какое-то там диктофонное приложение на смартфоне. Сам пользуюсь устройством (можно немного рекламы?) Olympus VN-713PC, не являющимся профессиональным инструментом, но позволяющим работать именно вслепую: включать и ставить на паузу запись, перематывать записанные дорожки, ускорять воспроизведение и менять его громкость — всё приятными на ощупь кнопочками, без опасения коснуться сенсорного экрана в неподходящем моменту месте.
И ещё о редактировании текста. Вот написал в один проход статью из диктофонной заготовки. В следующий проход я начитываю её на диктофон, опять-таки, не пытаясь корректировать печатный текст, что требует периодических перечитываний, дабы избежать коверкания читабельности и логики правками. При этом, однако, на диктофон начитывается модифицированный текст: предложения исправляются, добавляются новые. На третьей итерации слушаю диктофон и вставляю правки в печатный текст. Диктофон позволяет во время диктовки нажатием кнопочки вставлять метки прямо на звуковой дорожке, между которыми легко перемещаться. Например, данный текст при первом перечитывании потребовал всего трёх правок. В результате слушать всё целиком ради поиска модификаций немного расточительно, поэтому удобно пользоваться перемещением между метками. Второй и третий шаг можно и, вообще, желательно повторить несколько раз. Ускоренное вдвое прослушивание не отнимает много времени, зато позволяет соорудить достаточно приятный текст.
Ну и, самое последнее. Диктовка развивает речь и ораторские способности, что всё ещё ценится в современном мире, но часто бывает чудовищно недоразвито у программистов и прочих трудяг не самого разговорного фронта.
Благодарю за внимание. Надеюсь, кто-то освоит.
Слабым местом программиста — а кто в наше время не программист? — является зрение. Код, документы, презентации, диаграммы и прочая картиночно-текстовая мишура, сутками пляшущая на мониторе, очень сильно сажает зрение в глубокий минус по диоптриям и в дельта-окрестность нуля по остроте. Не могу при этом не похвастаться собственным зрением, не требующим для успешной работы ни очков, ни близости рассматриваемого объекта, ни его крупности, ни значительных мощностей освещения. Сохранять его в таком состоянии удаётся, во многом благодаря отражённой в заголовке технике работы с диктофоном. Этот подход позволяет работать не только без монитора, но и даже без ручки с бумажкой.
В общих словах такую работу можно описать следующим образом. Если требуется хорошенько обдумать какую-то часть деятельности, которая потом, конечно, выльется в исходный код, презентацию или текстовый документ, то не надо сразу же кидаться к редактору. Да, многие знают, что кидаться сразу к редактору среды разработки — это, вообще, детский, нулевой, уровень. Открывать текстовый документ для написания плана работы можно, пожалуй, назвать первым уровнем развития. На второй уровень позвольте поставить ручку с бумажкой или доску с маркером (кстати, мел я люблю больше), потому что отказ от включения компьютера позволяет не только отодвинуть среду разработки ещё подальше для лучшего развития плана работы, но и банально дать глазам ещё несколько минут или десятков минут не пялиться в монитор. Уровни, надо отметить, совершенно условные, взятые прямо в момент написания текста с моего невысокого потолка просто для некоторого разграничения подходов разных людей. Иногда ведь так перещёлкнет, что лезешь прямо в код, делаешь там весьма значительные правки — и всё с первого раза отлично работает. Но это как бы говорит о том, что всё планирование и продумывание произошло в головушке, а там это порой случается в одну секунду.
Собственно, пишу-то я о третьем уровне развития подготовки к работе. Не надо даже брать ручку с бумажкой, можно просто закрыть глаза и включить диктофон. Воображение, правда, тоже придётся активировать, но с ним, пожалуй, у программистов обычно всё в порядке. Сейчас может показаться самым приятным, что, в отличие от подходов всех предыдущих уровней, здесь зрению предоставляется полный покой. Например, первый набросок данной статьи я наговаривал на диктофон, лёжа с закрытыми глазами в кровати, перед сном. Но отдых аппарата восприятия картинок — это, честно говоря, не самое приятное. Самой сладкой плюшкой оказывается именно ощущение могущества работы в голове, без привлечения окружающего мира. Попросту можно сказать, что предлагается хорошая практика предварительного обдумывания работы с использованием диктофона. Я ещё не говорю о том, что в дороге с работы домой в автобусе, в метро или в личном транспорте записывать свои мысли лучше всего именно на диктофон. Эх, сказал… И всё же, практикуя такого рода диктовку, в некоторый момент приходишь к поразительной возможности не просто обдумать и набросать, а полностью до деталей выполнить всю работу, не прибегая ни к чему, кроме воображения и диктофона.
На этом можно было бы статью и закончить. Посыл простой: прежде чем писать код, клепать презентацию, документацию или даже решать физико-математическую задачку с немаленькими формулами, попробуйте взять диктофон и заняться всеми теми же видами деятельности с закрытыми глазами. На прогулке или за рулём глаза, правда, лучше не закрывать. Оказывается, ничто не мешает вербально описывать названия и параметры функций, их взаимодействие, их начинку, работу с памятью, индексы элементов в массивах, типы данных и даже битовое содержимое. Ничто не мешает точно также «на словах», а не на деле, брать сложные интегралы, описывая подынтегральные функции, области интегрирования, подстановки, элементарные методы перехода за следующий знак равенства и т.п. Такая работа реально снизит нагрузки на зрение и удивит возможностями собственной, казалось, уже пустой, головы.
Однако статья на этом не заканчивается. Плох препод без жизненных примеров. Диктофон я купил в тот момент, когда у меня оказалось сразу три работы: преподавание математики с ассистентской нагрузкой, научная активность, которую после защиты кандидатской хотелось разогнать для выхода на докторскую траекторию, и ещё R&D деятельность в области 3GPP и смежных стандартов, за которую только и платили какие-то разумные деньги, в отличие от первых двух активностей.
Необходимо было написать отчёт по технологии Мобильного IP. Что-то вроде технико-экономического обоснования (feasibility study). Несмотря на простоту идеи технологии и, вообще говоря, нефундаментальность исследования, весь зоопарк систем и подсистем, содержащий в себе мобильные сети третьего и четвёртого, на тот момент, поколения, а также сети Wi-Fi и попытки их вовлечения в сети сотовых операторов, требовал для создания сколько-нибудь грамотного отчёта закопаться в такую кучу стандартов IETF, IEEE и OMA, что мама не горюй. Я просто физически начал замечать, как номера домов, которые мог различить, глядя с балкона, становились всё ближе и ближе, а те, которые были различимы вчера, сегодня превращались в недогруженный Прогрессивный JPEG. Ведь, помимо чтения документов, требовалось ещё куда-то фиксировать усвоенный материал, то есть постоянно переключаться между файлами, копировать, вставлять, переставлять местами куски текста, дописывать, искать, куда вставить текст, который пришёл позже, но жизненно необходим для понимания раньше и т.д. Чтение само по себе не так утомительно, как эти самые метания между документами, презентациями и прочей электромакулатурой. Технические стандарты имеют к тому же привычку ссылаться друг на друга самым непристойным образом. Авторов, конечно, можно понять, но разгребать все эти ссылочные деревья с многократными ветвлениями, а потом ломать глаза в поисках документа с нужным номером в папке на собственном компьютере — это удовольствие, достойное самого радикального мазохиста.
И тогда я взял диктофон. Переходя к очередному документу, просто проговаривал его название и спокойно читал, надиктовывая отдельные цитаты, описания картинок и диаграмм, собственные мысли по ходу чтения. Периодически туда же в звуковой файл рассказывал общую картину, которую понял на текущий момент, указывая, каких крупных и мелких элементов в ней не хватает. А когда находил эти элементы, точно так же рассказывал, где они были найдены, что из себя представляют и как встраиваются в целиковую конструкцию. В подобном подходе к работе во многом привлекает тот факт, что очень эффективно составляется именно общая картина, но при этом ничто не мешает пристально рассмотреть любую её мелкую деталь во всех подробностях. И всё это документально фиксируется для дальнейшего сбора в финальный документ. Когда приходит глубокое понимание исследуемого предмета и ощущение способности изложить это понимание в отчёте, диктофон переключается в режим ускоренного воспроизведения, и отчёт пишется с нуля и до конца в один присест, разве что только с отвлечениями на справление естественных нужд, но чаще всего — на очередную кружку чая.
Другой пример — с формулами. Однажды затеял поиск уравнений движения сложной механической системы, но в то же время возникла необходимость совершить 9-часовой перелёт. Диктофон, как обычно, лежал в кармане, и я подумал, что можно записать хотя бы какие-то начальные мысли по поводу конструкции и анализа этой системы. В течение перелёта, в условиях тряски, темноты и полусна — в обычных самолётных условиях — удалось обдумать все обобщённые координаты и связи, направления и нулевые лучи для отсчёта углов, ввести таким образом кучу переменных, собрать их в нехилый лагранжиан, взять необходимые частные и полные производные (см. Лагранжева механика) и сделать некоторый анализ полученных уравнений движений, которые, конечно, представляли собой набор гармонических осцилляторов с разного рода взаимосвязями. И всё это, практически не открывая глаз. Все необходимые вещи прекрасно описываются словами, и, будучи описанными, великолепно запоминаются и поддаются манипулированию в воображении не хуже, чем на бумаге или доске.
Очевидно, что диктофон на третьем уровне развития является лишь неким костылём для воображения, который на четвёртом уровне уже не понадобится. Но костыль чрезвычайно удобный, позволяющий открывать невиданные горизонты. Пришёл я к нему, вообще говоря, пытаясь запрыгнуть сразу на четвёртый уровень ещё в старших классах школы. Дед активно впрягал меня в пахоту, окучивание, прополку и сбор картошки, а мне одновременно нужно было решать физические задачки с удалённых курсов МГУ. Решать приходилось в уме. На самом деле, задачки как правило не решались, а только именно обдумывались в общих чертах, но обдуманные задачи, как известно, решаются весьма непринуждённо. Тем не менее, меня сегодня нисколько не удивляет, что, например, Стивен Хоукинг пишет книги и выполняет сложнейшие вычисления, будучи чуть более подвижным, чем огурец; и что Леонард Эйлер спокойно, а может быть, даже ещё активнее занимался математической физикой после полной потери зрения.
Добавлю ещё о диктофонах. Всю прелесть этого устройства сложно оценить, имея только какое-то там диктофонное приложение на смартфоне. Сам пользуюсь устройством (можно немного рекламы?) Olympus VN-713PC, не являющимся профессиональным инструментом, но позволяющим работать именно вслепую: включать и ставить на паузу запись, перематывать записанные дорожки, ускорять воспроизведение и менять его громкость — всё приятными на ощупь кнопочками, без опасения коснуться сенсорного экрана в неподходящем моменту месте.
И ещё о редактировании текста. Вот написал в один проход статью из диктофонной заготовки. В следующий проход я начитываю её на диктофон, опять-таки, не пытаясь корректировать печатный текст, что требует периодических перечитываний, дабы избежать коверкания читабельности и логики правками. При этом, однако, на диктофон начитывается модифицированный текст: предложения исправляются, добавляются новые. На третьей итерации слушаю диктофон и вставляю правки в печатный текст. Диктофон позволяет во время диктовки нажатием кнопочки вставлять метки прямо на звуковой дорожке, между которыми легко перемещаться. Например, данный текст при первом перечитывании потребовал всего трёх правок. В результате слушать всё целиком ради поиска модификаций немного расточительно, поэтому удобно пользоваться перемещением между метками. Второй и третий шаг можно и, вообще, желательно повторить несколько раз. Ускоренное вдвое прослушивание не отнимает много времени, зато позволяет соорудить достаточно приятный текст.
Ну и, самое последнее. Диктовка развивает речь и ораторские способности, что всё ещё ценится в современном мире, но часто бывает чудовищно недоразвито у программистов и прочих трудяг не самого разговорного фронта.
Благодарю за внимание. Надеюсь, кто-то освоит.