Позвольте мне сказать вам кое-что, малыш. Давным-давно, в далекой-далекой галактике человек, как и многие другие до него, отправился в учебный ад. Легенды гласят, что он так и не вернулся. Не будь как он.

– Разработчик, собирается просмотреть 75-й учебник по созданию веб-приложения для блога

Когда Данте впервые написал Inferno, он описывает свой опыт путешествия слева в обучающий ад, как и многие другие до него, через девять различных кругов ада. Будучи человеком 14-го века, Данте, вероятно, не знал о существовании одного ада — на первый взгляд безобидного, но самого зловещего и ослабляющего из всех: обучающего ада.

Сегодня мы благословлены обилием учебных пособий. Очень легко начать практически все, что вы хотите сделать. На YouTube, Udemy и т. д. также есть множество высококлассных репетиторов и преподавателей. С таким количеством рекомендаций вы не ожидаете, что все пойдет не так, верно? Каждый может осуществить свою мечту, и никто не останется разочарованным, верно?

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

Как я попал в обучающий ад

Это было еще когда я учился в старшей школе. Я только что научился писать простой код на Python. Это было хорошо и все такое, но я быстро понял, что распечатывать Hello World на консоли с помощью цикла for — не самая полезная вещь. Так что я отправился в путешествие по самоанализу (то есть я погуглил, что я могу сделать с Python). Я пришел к следующему списку:

  • Наука о данных
  • AI/ML
  • Веб-разработка

Я решил заняться веб-разработкой, потому что в то время меня не интересовали первые две темы. Также один из моих учителей порекомендовал мне эту штуку под названием Django.

Поэтому, поскольку мои знания о Django и веб-разработке были примерно такими же, как у трехлетнего ребенка, я подумал, что было бы неплохо посмотреть учебные пособия, составленные людьми, хорошо разбирающимися в этой теме. Я посмотрел обучающее видео от Traversy Media и фактически прошел всю серию. На тот момент у меня было запущенное и работающее веб-приложение для блога, и я очень гордился собой. Хорошо, давайте посмотрим, смогу ли я сделать это снова с нуля. У меня не получилось. Ничего не приходило мне в голову, и я был ошеломлен и сбит с толку. Унизительное поражение.

Был ли учебник плохим? Возможно нет. Что означает, что я, вероятно, действительно плохой. Я должен смотреть больше руководств и «учиться».

— Юный Джейкоб вот-вот ступит в ад обучения

Петля обратной связи: чувствовать себя плохо, когда застреваешь, но пытаешься выбраться, чувствуешь себя ужасно

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

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

На самом деле мы ничему не научились.

Я в этом не разбираюсь. Я просмотрел сотни туториалов How to make X и наиграл тысячи часов. Каждый раз, когда я смотрел эти видео, я чувствовал себя прекрасно. Я чувствовал, что работаю продуктивно и делаю что-то полезное. У меня есть папка на моем ноутбуке, в которой хранится весь мой код из руководств, и есть много мертвых веб-приложений для ведения блогов и приложений для списка дел. Один учебник готов, отлично, еще одно веб-приложение, которое нужно бросить в папку забвения. Должен признать, состояние, в котором я находился, было довольно жалким.

Давайте проясним: смотреть учебные пособия для обучения — это нормально, но зависимость от учебных пособий — это ложь себе и форма мгновенного удовлетворения, которую нам нужно сократить.

Как завершить этот цикл

Смотреть учебник. Затем попробуйте воссоздать то же самое, не заглядывая в учебник. Неудача. Ваше эго думает, что вы можете это сделать, но ваш мозг понимает, что на самом деле вы не можете. Почувствуйте когнитивный диссонанс. Пусть это немного впитается. Это хороший будильник.

Вы должны понимать, что полагаться на учебник вам никак не поможет. Это как делать домашнюю работу. Чем меньше вас это волнует, тем больше вероятность, что вы смошенничаете и скопируете ответы у Чегга или Слейдера. Вам нужно больше заботиться. Подумайте, почему вы вообще хотели начать программировать. Это потому, что вы находите концепцию действительно интересной? Это потому, что вам нравится создавать крутые вещи? Или это только за деньги? Какой бы ни была причина, если вы четко сформулируете свои цели, вы сможете создать внутреннюю мотивацию. Другими словами, заставьте себя хотеть заниматься программированием, потому что вы искренне хотите достичь чего-то великого.

Также помните: не сравнивайте себя так сильно с другими разработчиками. Это как сравнивать яблоки с апельсинами. Все играют в разные игры, и их правила немного отличаются от ваших. Не поддавайтесь давлению, чтобы добиться большего, чем все остальные. Это ваша первая попытка создать что-то самостоятельно, а Рим строился не за один день. Вместо этого доверяйте процессу и продолжайте честную работу.

Для меня идеальный способ изучения программирования состоит из следующих шагов:

  1. Найдите то, над чем вы хотите поработать или создать.
  2. Проведите мозговой штурм и спроектируйте структуру приложения. Какой у него будет функционал? Как это будет реализовано? Каждая функциональность может быть создана в соответствующем модуле. Разделите свой проект на более мелкие, более управляемые части.
  3. Выберите свое оружие выбора. Посмотрите учебное пособие или прочтите документацию, чтобы понять, как использовать выбранные вами инструменты.
  4. Используя эти инструменты, попробуйте сделать эти модули самостоятельно. Ищите документацию и учебные пособия только тогда, когда вы застряли.
  5. Повторяйте шаг 4, пока не закончите.

Я выполнил описанные выше шаги и вырвался из порочного круга еще до того, как осознал это.

Заключение

Учебный ад — это ловушка, в которую попадают многие новые разработчики, и из нее сложно выбраться. Тем не менее, это то, что вы можете преодолеть. Знайте, что многие до вас поддавались мгновенному удовлетворению, как и вы. Но также известно, что многим из них действительно удалось сбежать. Так что не теряйте надежды, дисциплинируйте себя и доверяйте процессу.

Спасибо за чтение! Я надеюсь, что этот пост поможет новым разработчикам преодолеть ад туториалов и стать сильнее. Вы также можете просмотреть этот пост на dev.to и моем личном сайте.

Удачи,

Джейкоб