Перевод статьи Игоря Барси «Just-in-Time Knowledge: Learn What You Need, When You Need It».
Мы постоянно ищем новые креативные способы сохранять остроту нашего ума и свежесть навыков. Мы живем в век, когда от океанов информации нас отделяет лишь несколько нажатий клавиш. Если вы на мгновение задумаетесь о том, какие возможности для личного и социального роста это создает, это реально может вас вдохновить.
Но каковы последствия такого безграничного доступа к информации?
Сообщество JavaScript уже некоторое некоторое время находится в состоянии усталости. Скорость изменений инструментов, библиотек и абстракций превышает нашу способность к их освоению. И хотя можно только восхищаться тем, какое влияние оказал JavaScript на сообщество разработчиков, – все имеет свою цену. Посты в блогах, книги, видеоуроки, курсы – все они заявляют, что могут обучить вас последним новинкам вашей отрасли.
Лавина информации вполне реальна, и ее негативные последствия уже приближаются к вам.
Если вы только начинаете «грызть гранит науки», перед вами встают сложные вопросы:
- Нашел ли я всю информацию, которая мне нужна?
- Надежна ли та информация, которую я нашел?
- Правильные ли вещи я искал?
Вместо того чтобы пытаться усвоить 100% попавшейся вам информации просто на всякий случай, почему бы не учить все по мере необходимости?
«Просто на всякий случай» vs «Изучение по мере необходимости»
«Опыт это суровый учитель, поскольку сначала делает проверку, а урок дает только потом», – Вернон Лоу.
Большинство из нас знакомы с традиционной системой образования. Учителя преподают в классах стандартизированный материал. Изменения в него сносятся нечасто, а ученики группируются без учета индивидуальных особенностей восприятия материала. Периодически проверяется, что они усвоили.
Это обучение «просто на всякий случай», кардинально отличающееся от того, что происходит за пределами школы. В первом варианте вы овладеваете знаниями в чистом виде, не зная, как будете применять их впоследствии (и будете ли вообще), а во втором встречаетесь с задачами до того как изучите необходимое. Жизнь полна таких вывертов. Вы никогда не знаете, с чем столкнетесь в следующий раз.
Если изучаемая вами информация не значима для вас на данный момент и не применяется регулярно, вы в конечном итоге забудете большею ее часть. Сколько-то вы все-таки запомните, но детали будут утрачены.
Этот метод обучения можно сравнить с ежедневным потреблением новостей, постов в блогах и длинных лент твитов. Хотя эта информация может быть полезной, впитывание ее сейчас, прежде чем представится возможность ее использовать, является пустой тратой времени. В какой-то момент вы начинаете ощущать уменьшение отдачи от ваших инвестиций времени и умственных сил.
JIT-компиляторы
Альтернативный подход к обучению я хотел бы изложить, используя аналогию с JIT-компилятором – программным обеспечением, которое воплощает аналогичные основные принципы.
Компиляторы преобразуют код, который вы пишете, в нечто, понятное машине. Чтобы создать оптимизированный перевод того, что мы пишем, традиционные компиляторы начинают работать заранее. Современные JIT-компиляторы, в свою очередь, преобразуют отдельные части вашего кода по мере того, как они становятся «горячими» (например, когда они используются).
Эти фрагменты кода преобразуются в заглушки, которые затем оптимизируются и заново переводятся в более эффективной манере, поскольку их использование растет. Если выполнение вашего кода меняется и компилятор замечает что-то неправильное, он выбрасывает заглушку и начинает сначала. Таким образом, компилятор самостоятельно вносит исправления и работает над переводом только если возвращаемое значение считается положительным.
По сути, обучение «по мере необходимости» вполне объясняется с помощью принципов, заложенных в JIT-компиляторы.
Производительность важнее эффективности
Традиционные компиляторы очень эффективны. Они не спеша читают весь ваш код прежде чем преобразовать его наиболее эффективным способом. Вы можете пойти тем же путем и стать очень эффективным в том, что касается чтения и обработки информации. Для этого нужно тратить кучу времени на усвоение как можно большего количества знаний.
Это не лучший вид обучения.
Вместо того чтобы фокусироваться на эффективности, остановитесь и подумайте, нужные ли вещи вы изучаете.
Очень часто мы тратим время на то, чтобы сделать что-то, вместо того, чтобы сделать что-то нужное.
Не важно, говорим ли мы о личной или командной продуктивности. В любом случае стоит потратить некоторое время и убедиться, что идешь в правильном направлении. Прилагать усилия нужно только в том случае, если это ведет к максимальной отдаче.
Команды, занимающиеся доставкой, уделяют большое внимание достижению максимальной скорости. Но при этом не стоит забывать о направлении.
Вносите коррективы в свои представления
Занимаясь преобразованием, JIT-компиляторы немедленно выбрасывают существующие оптимизации, если заново интерпретируемая логика опровергает сделанные ранее предположения.
Когда вы учитесь «на ходу», вам порой попадается информация, опровергающая ваши предыдущие знания. Обращайте внимание на эти открытия, поскольку они могут быть индикаторами сомнительных источников. Не берите все на веру и учитывайте надежность своих ресурсов информации.
Если вы изучаете что-то новое по работе, вы зачастую стеснены во времени. По мере приближения дедлайна появляется стремление ускорить обучение, чтобы успеть к срокам.
Опять же, не забывайте о направлении. Проверяйте свою сеть, отфильтровывайте догматические мнения и старайтесь, чтобы поступающая вам информация заслуживала доверия.
Организовывайте информацию
Когда JIT-компилятор парсит ваш код, он сегментирует логику и создает заглушки, которые индексируются по числу строк и типу переменных. Эта индексация существенно облегчает сортировку, фильтрацию и поиск релевантных частей вашего кода при оптимизации.
Если говорить о вашем обычном дне, вы общаетесь с коллегами, просматриваете письма, пролистываете свои ленты новостей: к вам поступает много потенциально полезной и интересной информации.
Но если бы вам при этом нужно было ежедневно собирать всю эту информацию в кучу и усваивать ее полностью, она бы вас погребла, подобно лавине. Количество часов в сутках ограничено, а вам не хотелось бы упустить что-то действительно важное.
Найдите сервис вроде Pocket или Instapaper, который поможет вам собирать полезные ссылки на будущее. Как и в случае с заглушками компилятора, вам нужно, чтобы этот сервис поддерживал поиск, категории, метки, сортировку и фильтрацию для легкого доступа. Определите, какое группирование лучше всего подходит для вашего стиля обучения и убедитесь, что в случае необходимости легко найдете нужную ссылку.
Зачастую, чтобы понять ценность статьи, вовсе необязательно полностью читать ее. Беглый просмотр даст вам достаточно контекста, чтобы решить, стоит ли сохранять этот пост «на потом».
Предостережение
«Чем больше у вас базовых знаний, тем меньше нового вам придется изучать», – Чарльз Мангер.
Хотя преимущества обучения «по мере необходимости» очень привлекательны, оно не отменяет нужды в знаниях основ.
Есть достойная причина, по которой школа учит нас основам. Эти базовые вещи являются строительным материалом для развития более глубокого, более специализированного понимания нужного вам предмета. Без этого фундамента вам будет тяжело усваивать новый материал. Начинать хоть с какой-то базы легче, чем начинать с нуля.
Кроме знания основ, вам также необходим широкий кругозор. Обширные, пускай и неглубокие познания во многих сферах вашей деятельности помогут вам оптимизировать ваше обучение «по мере необходимости». А как иначе вы узнаете, что именно вам нужно изучить, когда столкнетесь с какой-то проблемой? Вам нужно знать, какие у вас есть варианты, прежде чем решить, что изучать.
Чем больше вы знаете, тем более готовым будете к встрече с новыми задачами. Непрерывное обучение – это ключ к личностному развитию и успеху. При этом более разумный подход к обучению будет сильнее толкать вас вперед.
Что делать, когда вы чего-то не знаете
«Образованный человек – тот, кто знает, что делать, если он чего-то не знает», – Майкл Льюис, «The Undoing Project».
В конечном итоге, главное это баланс. Посвятите время изучению основ своего дела и одновременно выстраивайте костяк из ресурсов и техник, которые помогут вам в ситуации, когда вы чего-то не знаете.
Помните основные принципы обучения «по мере необходимости»:
- Фокусируйтесь на продуктивности, регулярно спрашивая себя: «А правильные ли вещи я изучаю?».
- Вносите исправления в свои представления, когда встречаете конфликтующие данные. Проверяйте свои источники и избегайте догматических мнений.
- Организовывайте свою информацию так, чтобы иметь безболезненный доступ к ней, когда она вам понадобится.
Не тратьте время и силы на изучение чего-нибудь «просто на всякий случай». Изучайте то, что вам нужно, и тогда, когда вам это нужно.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]