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

Учиться новому интересно. Однако знать, чему учиться, сложно, и обилие выбора не помогает. Если я захочу пересмотреть свои навыки работы с Linux, я могу потратить весь день на просмотр, просто пытаясь найти нужный ресурс. Это становится еще более сложным, когда вы не осознаете себя и не знаете, как лучше учиться. Научиться учиться чрезвычайно важно, и не только для программистов. Я думаю, прежде чем вы решите освоить новый навык, вам сначала нужно узнать, как вы учитесь наиболее эффективно.

Есть много эвристик, которые вы можете попробовать. Для программирования есть книги, курсы и другие виды ресурсов. Я считаю, что лучший вид обучения для меня — это общение с другими программистами и обучение на практике. Если я хочу узнать о работе в сети, то мне, возможно, следует реализовать стек TCP/IP с нуля. Обучение на практике обладает волшебной силой создавать для нас правильные ментальные модели.

К сожалению, я считаю, что современные образовательные ресурсы более оптимизированы для кратковременной памяти и плохо запоминаются. Конечно, вы можете делать это намеренно и увеличивать свои знания для долговременной памяти. В качестве примера я использую Anki, в котором используется интервальное повторение. Я нахожу это невероятно полезным для создания долговременной памяти, потому что я могу вспомнить свои знания после его завершения.

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

Первоначально опубликовано на https://tik.dev.