«Ошибочно думать, что с помощью картофеля можно решить любые серьезные проблемы». -Дуглас Адамс

Мой подход к обучению программированию, особенно к разработке полного стека, представлял собой комбинацию самостоятельного обучения и структурированных онлайн-курсов. Поскольку моя первая неделя в Hack Reactor (когорта HRR26) скоро начнется, я хотел бы поделиться некоторыми ценными шагами, которые я предпринял, чтобы расти как разработчик и чувствовать себя уверенно, присоединившись к иммерсивной программе Hack Reactor. чтобы достичь своих целей.

Ящик Пандоры

обоюдоострый меч - обладание бесконечными знаниями на кончиках ваших пальцев - хорошо заточено, когда вы хотите изучить новый навык «наилучшим образом».

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

Вот где вступает в дело обоюдоострый меч. Здорово иметь более 100 различных ресурсов о том, как console.log 'hello world' или даже подключить MongoDB к Express, но все они не могут быть лучшим способом обучения для каждого отдельного человека. . Вы должны постараться найти то, что поможет вам учиться в темпе, при котором концепции закрепятся. Используя множество различных учебных ресурсов, я получил фундаментальные основы веб-разработки, одновременно осознавая важность использования образовательных стратегий, которые лучше всего подходят для меня.

После изучения большого количества информативных, но иногда не столь плодотворных образовательных ресурсов, хорошие, безусловно, выделяются тем, что стоит потратить ваше время и поделиться с другими. Не все учащиеся одинаковы, поскольку не все учителя одинаковы. Некоторые инструкторы, которые показались мне чрезвычайно полезными, - это Дэвид Малан, Брэд Трэверси, Уэс Бос и Кольт Стил.

Ресурсы, которые помогли мне привлечь внимание веб-разработчиков (в произвольном порядке):

  • Codecademy - отличный способ сразу почувствовать код. Это позволяет вам почувствовать вкус решения проблем с использованием реального синтаксиса, имея при этом множество рекомендаций, чтобы не сойти с рельсов.
  • FreeCodeCamp - отличная практическая программа, чтобы начать понимать основы HTML, CSS и JavaScript. Я работал по программе сертификатов Front End Development Certificate, и мне нравилось завершать законченные проекты практически без каких-либо рекомендаций. FCC отлично справляется с предоставлением информации, достаточной для того, чтобы учащийся разбирался в документации и задавал правильные вопросы в своем сообществе или в Stack Overflow. FCC - это то место, где я начал изучать веб-разработку.
  • Javascript30 - это отличный набор ежедневных задач, которым можно научиться у одного из лучших инструкторов по веб-разработке. Вес Бос - ваш учитель более 30 дней, который дает увлекательные инструкции с классными приложениями.
  • Eloquent Javascript - это ресурс, который постоянно всплывает, если вы посмотрите вокруг достаточно долго и на то есть веская причина. Пройдите по главам и вызовам, чтобы получить отличное представление о ключевых концепциях JS.
  • Учебный курс для веб-разработчиков Колта Стила (Меня зовут Стил… Кольт Стил) - это высоко оцененный курс Udemy, который охватывает разработку полного стека с использованием HTML, CSS, JS, jQuery, Bootstrap. , Экспресс и NodeJS. Этот курс был составлен хорошо. Я настоятельно рекомендую взять его и посвятить много времени работе со всеми технологиями, которые используются в курсе.
  • Hack Reactor Prep - это испытание ваших навыков и понимания фундаментальных концепций JS. Работа над этим подготовительным онлайн-курсом имела первостепенное значение для укрепления моего понимания различных движущихся частей JS. Существует отличный поток повторений и все более сложные наборы задач, которые действительно привлекают пользователя.
  • Codewars и CoderByte - это сайты с вызовами кодирования, которые полны оцененных практических задач, которые сосредоточены на основах программирования, шаблонах, структурах данных и алгоритмах разных уровней трудность.
  • JavaScript: Полное руководство Дэвида Фланагана, 6-е издание подтолкнуло меня к тому, чтобы узнать больше о том, что находится под капотом JS, и точных низкоуровневых механизмах работы этого языка. Это монстр из справочника, который отлично подходит для чтения и реализации кода во время обучения.
  • Видео с YouTube. Это очевидно, но я перечислю некоторые из моих любимых, которые мне очень помогли. MIT OpenCourseWare Fall 2016 Introduction to Computer Science - отличная серия, над которой было здорово работать, даже если она использует Python, который вывел меня из зоны комфорта JS. В той же теме Harvard CS50 - отличный ресурс, который многие рекомендуют. Я также хочу отметить чрезвычайно ценные, хотя и не так часто рекомендуемые, гарвардские курсы CS75, CS76 и мой личный фаворит CS164 . Помимо специальных курсов, я смотрю Traversy Media, Net Ninja и Academind. Наконец, я не могу достаточно рекомендовать серию CrashCourse Computer Science - Кэрри Энн Филбин лучшая из них.

Все в пределах досягаемости

Один из интересных аспектов, которые я обнаружил, изучая веб-разработку, заключается в том, что примеры его превосходства и передового опыта окружают и используются всеми нами ежедневно. У нас есть доступ к продукту лучших команд веб-разработки 24/7, что часто можно считать само собой разумеющимся. Вы не можете перенести эту динамику на все профессиональные области, но ее можно найти в некоторых отраслях (например, производство музыки, кино, академическая наука и т. Д.).

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

Веб-разработка не приносит быстрых результатов, а приносит ее постепенно. Я быстро научился не торопиться и фиксировать важные концептуальные основы, прежде чем забегать вперед. Таким образом, 15-минутное обучающее видео можно легко превратить в 2-х часовое изучение концепции, воспроизведя ее в CodePen, прочитав MDN и, если применимо, попытавшись решить любые начальные проблемы, с которыми я сталкиваюсь во время работаю с ним в моих ограниченных пределах. Промыть, повторить.

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

Продолжайте сокращать разрыв в знаниях и исполнении. Пожалуйста, оставайтесь на связи, если хотите сопровождать меня на протяжении моего пути в Hack Reactor.