Я и кодирование. Периодические отношения, которые начались 2 года назад, пока я не решил, что либо мне нужно придерживаться этого, либо я просто трачу время перед экраном, рассматривая бесконечные блоки кода.

Технологии всегда вызывали у меня интерес, и этот интерес превратился в решение, полностью изменившее мою жизнь. Это произошло, когда разразился COVID-19, и все были заперты где-то в доме, а у меня была небольшая зависимость от Candy Crush. Типа зависимости, требующей многочасовых игр. Однажды аккумулятор моего телефона разрядился, но я не был готов попытаться сопоставить еще немного конфет.

Чтобы продолжить игру, я решил включить свой ноутбук и открыл их сайт, где немного покопался. Я заметил, что прямо в заголовке была ссылка «Вакансии». Не то чтобы я когда-либо планировал работать в Candy Crush (игра мне понравилась, но не НАСТОЛЬКО), я нажал на нее. Первое, что я вижу: «Ищем разработчика программного обеспечения! Работать с нами!"

Я не могу точно объяснить, что произошло в моем мозгу, когда я прочитал эти слова, какую кнопку нажал — но что-то произошло.

Как я уже сказал, технологии всегда вызывали у меня интерес, и я пару раз играл в CodeAcademy с HTML и CSS, но на этом все. У меня не было планов становиться кем-то связанным с технологиями, не говоря уже о разработчике программного обеспечения.

Но это был день, когда я перестал так много играть в Candy Crush и начал время от времени заниматься программированием.

Я изучал код всеми возможными неправильными способами в течение как минимум года.

Я хорошо начал с HTML и CSS, используя freeCodeCamp и CodeAcademy в качестве основных источников обучения. Пока мне не захотелось больше источников. Мне казалось, что я тону в всех вещах, которые можно изучить, когда дело доходит до программирования. С каждой вкладкой поиска следовали еще 5, снова и снова, пока мой ноутбук не начал издавать звуки громче, чем музыка, которую я играл фоном. И я старался все это записывать — копировать и вставлять то, что считал важным, а в то время я думал, что почти вся информация важна.

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

Но давайте составим список ошибок, чтобы нам было легче их отслеживать, а именно:

  1. Хотелось узнать больше, чем я мог проглотить
  2. Огромное количество учебных ресурсов
  3. Непоследовательность
  4. Слишком много заметок

Летом я работал (и до сих пор работаю, пока пишу это) гидом в сфере туризма. Зимой у меня было полно свободных дней, а летом – гибкий рабочий график, который мог начинаться на рассвете и заканчиваться поздно вечером. В прошлом году я решил, что мне нужно сменить карьеру после 6 долгих лет работы в одной и той же сфере. Но это означало изменение способа обучения программированию.

Итак, я начал с очевидной проблемы: сократить кучу руководств, курсов, видео, учебных ресурсов и т. д. Первым шагом было выбрать курс и придерживаться его. Для меня Курс современного JavaScript 2.0 Брэда Трэверси стал моей основной картой обучения (и я не могу не порекомендовать его тем, кто хочет начать изучать JavaScript!)

С тех пор, как я начал это, я придерживался этого. Тем более, что JavaScript был моим главным убийцей слухов в начале моего пути программирования.

Меньше заметок, больше практики.

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

Мое приложение Obsidian — моя основная система отслеживания документирования и ведения заметок, но то, как я это делаю, — это тема, требующая отдельного поста в блоге.

Очень легко все записывать, но вот что я изменил, чтобы не чувствовать себя утопленным в собранной информации:

  • Прежде всего, копирование и вставка запрещены. Даже если тема немного длиннее. Прочтите, поймите, а затем попробуйте написать сами. Таким образом, вы заставляете себя пропускать информацию через мозг, прежде чем записать ее куда-нибудь.
  • Просмотрите свои записи в конце занятия и сократите информацию. Упростите это. Отфильтруйте.
  • Поиграйте с информацией, которую вы только что записали. Запустите любой текстовый редактор, поиграйте с кодом в консоли или попробуйте использовать его в мини-проекте. Если у вас возникнут какие-либо трудности (имейте в виду, это новая концепция, которую вы только что изучили), запишите ошибки, которые вы допустили!

Помимо всего написания и кодирования, читайте, читайте, читайте. Одного курса будет недостаточно. Проведите более глубокое исследование и просмотрите документацию. Не полагайтесь только на учебник/курс, который предоставит вам всю необходимую информацию! Просто старайтесь изо всех сил не увлекаться вопросами Stackoverflow и форумами Reddit. Итак, проблема номер два:

В большинстве случаев можно двигаться дальше, если вы не на 100% понимаете, что происходит.

Как человеку, которому пришлось выучить два языка (английский и турецкий; румынский является моим родным), мне много раз говорили, что когда вы читаете предложение на языке, который вы изучаете, и не понимаете всех слов, но поймите, что пытается сказать это предложение, — затем переходите к следующему предложению. Открытие Google Translate для каждого слова аналогично StackOverflow. Вам не обязательно все гуглить, так что не делайте этого. Некоторые вещи придутся по пути.

Например, прямо сейчас я учусь работать с API, async/await и промисами. Хотя я могу понять, что каждый из них делает и как работает, я до сих пор не научился правильно использовать PromiseAll(). И это нормально, потому что сейчас мое основное внимание сосредоточено на том, как работает API и как я могу обрабатывать отдельные обещания, которые он дает. На мой взгляд, следующим на очереди будет PromiseAll(), но на данный момент я не открывал эту дополнительную вкладку, поэтому изучите ее/посмотрите видео об этом. И поверьте мне, это сэкономило мне полчаса на работе над API.

Объяснение концепции так, как если бы вы объяснили ее пятилетнему ребенку, — один из лучших методов.

Я делаю это либо разговаривая сам с собой, либо со своей кошкой; не имеет значения, даже если вы стоите лицом к стене. Объясните, что вы только что узнали, и постарайтесь сделать это, используя простые термины. Вы не на собеседовании, никто не почувствует смущения из-за того, как вы объясняете то, что вы только что узнали, так что сделайте это! Потому что, если вы можете объяснить сложную концепцию, как если бы вы объяснили ее ребенку, вы действительно понимаете, о чем идет речь.

Напишите, что вы узнали.

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

И это на данный момент. Вири очень рад поделиться своим опытом изучения технологий и, надеюсь, помочь другим на этом пути!

Спасибо за прочтение и увидимся в следующий раз!