Эффективное самообучение в IT-сфере. Что мы делаем не так?
Мы все узнаем что-то новое, особенно в IT-сфере. Но что занимательно: нас никто не учил учиться, хотя именно самостоятельное обучение – истинный фундамент.
Как это работает в IT-сфере?
В условиях постоянной эволюции технологий эффективное самообучение помогает открывать многие двери, постоянно инвестировать как в реальное портфолио (где-нибудь на GitHub), так и в портфолио своих знаний.
Но что конкретно это значит – учить что-либо эффективно? Мне кажется, это одноразовый процесс глубокого понимания важной информации, концепций, а также идей их объединения с уже имеющимися знаниями и опытом. Это также внимательность к процессу, что позволяет понимать и усваивать новые знания, которые не «выветрятся» спустя пару дней.
Основная проблема в подходе, который практикует большинство программистов: они изучают ровно столько, сколько необходимо для решения конкретной задачи. Эта стратегия хороша в короткой перспективе, но если в ближайшее время нет никакой причины или возможности использовать новые знания – время потрачено впустую. Как следствие, поверхностные знания сложно применять к другим подобным задачам в будущем.
Учебники и рандомные презентации? Да бросьте. Все это создаст ложное ощущение понимания, собрав в памяти островки из поверхностных знаний. Но наш подход самообучения в IT-сфере будет другим: он состоит из подготовки, разведки, практики, погружения и повторения. Ну что, приступим?
Подготовка
Да, это очень короткий этап, но он является основой для всех последующих. На нем вы просто выбираете материалы для изучения. Позаботьтесь о том, чтобы это были качественные и актуальные источники информации, читайте отзывы, рекомендации экспертов, или же положитесь на личный опыт.
Разведка
Независимо от типа источника информации, – книга, видео или статья, – на этом этапе вы должны только ознакомиться с ним, не тратя слишком много времени и не вдаваясь в детали. Попробуйте понять, в чем основная идея, что пытается донести автор и каким образом он это делает.
Не концентрируйтесь и не стесняйтесь пропускать материал, который пока что не понимаете. Сделайте заметки, краткие выводы к каждому разделу и запишите вопросы, которые возникли во время ознакомления.
Практика
Это Альфа и Омега в IT-сфере. Данный этап непрерывен, ведь не заканчивается с наступлением следующего, а растягивается на весь процесс обучения. Ваша цель – практика изученного: только так вы сможете сделать выводы о том, что не смогли понять, что нужно подтянуть, усвоить лучше.
Очень важен выбор упражнений. Не полагайтесь на великий рандом. Упражнения должны быть достаточно сложными, чтобы чувствовался прогресс, но при этом не слишком, иначе это повлечет за собой демотивацию.
Например, если вы уже пробежались по синтаксису нового языка программирования, было бы неплохо поупражняться здесь. Да и у нас кое-что для вас найдется, в том числе задачи с IT-собеседований. Вот только еще рано создавать очередной клон «Твиттера»: не торопите события.
Погружение
А вот и она – разница между типичным подходом большинства программистов и тем, что называют эффективным самообучением. Главная цель – понять все самые сложные идеи, которые вы идентифицировали во время практики. Для этого лучше использовать метод Фейнмана:
Идентифицируйте тему
Установите предмет погружения. Соберите всю основную информацию из тех источников, которые вы выбрали на этапе подготовки. Если тема обширная – разбейте ее на более мелкие части.
Запишите идею, которую хотите понять
В IT-сфере непросто, и это касается любого языка программирования, даже нареченного предельно легким: обязательно найдется что-то непонятное. Напишите о такой находке на бумаге или в текстовом документе.
Обучайте
Пришло время написать простое объяснение идеи. Сделайте это так, будто учите кого-то другого, например, ребенка. Используя доступную информацию, запишите каждую часть идеи своими словами в виде нескольких предложений и/или визуализаций, которые, на ваш взгляд, хорошо передают суть.
Если какая-то часть остается не слишком понятной – скопируйте объяснения из источника информации, но уточните непонятные вам термины и попробуйте все визуализировать. Не стыдитесь использовать аналогии, которые вы хорошо понимаете, и попробуйте понять, как их объединить с тем, что вы пытаетесь понять сейчас.
В результате у вас должно выйти несколько страниц заметок, пригодных для того, чтобы презентовать новую усвоенную информацию коллегам или написать о ней в блоге.
Повторение
После восполнения всех пробелов в понимании идеи нужно как-то сохранить свежие знания, в идеале – навсегда. Положитесь на работу человеческого мозга и используйте интервальное повторение. Перенесите все заметки с этапа погружения в карточки (записи), используя любую программу на ваш выбор (например, Anki). Пересматривайте карточки ежедневно по 10-15 минут.
Не бойтесь перенасыщения карточками! Хорошая программа учится понимать, что вы знаете хорошо, и откладывает следующее повторение усвоенного материала подальше, фокусируясь на свежих знаниях.
Выводы
Со временем вы заметите, насколько хорошо помните все, что изучили, а также как легко новая информация соединяется с тем, что уже знаете. Вам также могут помочь специальные курсы, доклады и книги. Да, сложные темы все равно будут занимать от нескольких дней до нескольких месяцев, но, поверьте, результат того стоит!
Успехов в самообучении!