Большинство людей не хочет плавать до того, как научится плавать
В этой статье я постараюсь не давать никаких советов. Будут только размышления на тему обучения, личный опыт и инструменты, которые помогают мне. Каждый случай индивидуален, но всё равно существуют определенные паттерны/типы людей и мысли, описанные здесь, кому-то из Вас могут помочь сделать полезные выводы.
Меня зовут Геннадий, мне 28 лет. Учиться программированию начал в конце 2019 года. Было сложно прийти к этому решению, и потребовался не один год, чтобы понять, чем я хочу заниматься в жизни. В этом мне помог тест, который проходят многие американские школьники (MBTI). Он определяет тип личности и дает рекомендации по выбору профессии. Среди моих рекомендаций числятся: аналитик, архитектор и программист.
Первые попытки программирования я предпринимал еще в школе. Это была обычная анимация двухмерного плывущего парусника на бейсике. Тогда это не показалось мне интересным. Я любил компьютерные игры и рисовать, поэтому начал изучать 3Ds Max. Обучение шло крайне медленно, но у меня стали получаться простые трехмерные модельки бытовых предметов. Когда нужно было определяться с универом, я начал искать кафедры, где обучают трехмерному моделированию, но не нашел ничего путного, кроме текстильного университета. На этом мое увлечение закончилось и я пошел, «как все» на экономиста. Как итог - больше пяти лет проработал в продажах. Основная причина, по которой я не начал менять профессию сразу - это страх. Я начинаю обдумывать идею и все сопутствующие трудности наперед, до того момента, пока она не кажется неподъемной. Как я стараюсь справляться с этим? - разбивать глобальную цель на более мелкие.
Про обучение
Есть люди, которые восполняют свою энергию с помощью других, их мотивирует поддержка родных/друзей, статьи и ролики в интернете. В моем случае лучше работает другой подход и он касается не только программирования. Когда я вижу плохой код, у меня возникает желание это поправить или улучшить. Куда можно идти за такими примерами? в Телеграм-чаты, где люди просят помощи в решении задач. Еще есть много новичков в слаке Хекслета, которым тоже можно помогать и закреплять пройденный материал. У меня также присутствуют проблемы с ленью. Окончательного железного аргумента по борьбе с ней я еще не изобрел, но вот пара мыслей на эту тему:
- Мотивация имеет краткосрочный эффект, а дисциплина - долгосрочный. Уделяя определенное время в день программированию, вы приучаете мозг к нагрузке, и он со временем перестает сопротивляться.
- Да, мозг сопротивляется и обманывает вас, для того, чтобы делать меньше работы. Могут возникать мысли: «У меня не получится. Слишком сложно для меня. Это занятие мне не подходит, найду более интересное, где будет интересно каждую секунду».
- Обмануть мозг сложнее, чем тело при походе в спортзал. Он гораздо изобретательнее и изощреннее. Для борьбы я использую систему поощрений - кофе или сладкое, но только после выполнение задачи.
- Любая хорошая вещь в жизни достается через боль и преодоление трудностей. Почти вся полезная еда по вкусовым качествам уступает гамбургеру.
О способе подачи информации
Я отношусь к людям, которые лучше воспринимают информацию на слух. Если я читаю статью, то проговариваю важные вещи, чтобы зафиксировать их в памяти. Еще лучше подходит мышечная память. Я стараюсь никогда не копировать код (только название переменных). По опыту курсов в интернете «Делай, как я» скажу - так не работает. Вы скопируете чужой код, получите красивый результат, получите удовлетворение от выполнения задачи и обнулите свою память.
Почему подход Хекслета работает? Потому что он направлен в первую очередь на выстраивание модели мышления. Наша «человеческая» память устроена так же, как и компьютерная. При обращении, мозг ищет «ассоциацию» и выдает ответ. Если в компании несколько людей с одинаковыми именами, то вы гораздо лучше запомните того, у кого есть прозвище или характерная черта. Ассоциации выстраивают связь между понятиями и помогают применить предыдущий опыт. «Неподписанные» ячейки памяти перезаписываются текстом новой рекламы с билборда. Кому интересно изучить тему памяти - почитайте книжку «Фокусы и развлечения» Я.И. Перельмана.
Для теории хорошо подходит проверенный способ - записывать конспекты в тетрадку. У меня есть пара таких тетрадок, которые я использую, как карманную базу данных. Для разных тем, можно налепить разноцветные стикеры, чтобы иногда перечитывать.
О Практике
Этот блок будет коротким, потому что сам не обладаю достаточной компетенцией для полного раскрытия темы. В начале обучения мне помог портал freecodecamp. Он дает практические задачки после каждой темы. Когда уже есть небольшая база - можно порешать задачки на:
- Codebattle
- HackerRank
Для практики я люблю использовать песочницы:
- CodePen - подходит для небольших задач.
- CodeSandbox - более мощный инструмент.
Обычно я беру тему, которую плохо понимаю, и всячески модифицирую в песочнице. Отслеживаю данные логированием и как они меняются в процессе.
Хорошим вариантом для портфолио будет персональная страничка. Захостить её можно на GitHub Pages. Туда же можно залить ссылки на все свои проекты для демонстрации потенциальным работодателям.
Про сложности
Когда я не могу найти решение задачи, то применяю несколько приемов. Некоторые мне подсказал мой наставник (Спасибо, Ирина!:) Метод утенка - Когда не знаешь, как подступиться к задаче - формируешь в голове вопросы и задаешь вслух вымышленному помощнику. В правильно заданном вопросе кроется бОльшая часть решения.
Иногда для лучшего мыслительного процесса надо поместить себя в зону максимальной концентрации. Для меня эта пешие прогулки. Со стороны, наверное, это выглядит странно, когда я иду по улице и задаю вопросы невидимому «утенку».
Отдых/смена деятельности. Часто сам этим пренебрегаю, потому что зацикливаюсь на задаче. По моим наблюдениям, если решение не приходит за несколько часов размышлений, то лучше отложить решение на некоторое время и заняться чем-то другим.
Спасибо, если прочитали до конца. Буду рад обратной связи и вашим комментариям. Критика тоже приветствуются, если в ней будет конструктив. В заключение скажу, что Критика — это тоже важная часть личностного роста. Чем больнее рана, тем лучше память. Важно делать выводы и не сдаваться. Удачи вам на пути познания и да прибудет с вами дух IT.