Разработчик, инженер, программист или даже «кодер» для определенного поколения. Как ни крути, создание программного обеспечения с помощью кода — довольно увлекательное занятие. Когда я оставил свою старую карьеру позади и решил с головой погрузиться в полнофункциональную веб-разработку, я еще не знал, что это будет лучшее решение в моей жизни. На самом деле, я мало что знал о том, чем вообще занимался.

Благодаря терпению и практике я сделал ключевое открытие, которое помогло мне достичь того, что я имею сегодня. Это открытие? Тот простой факт, что все, что вам нужно, чтобы стать профессиональным разработчиком программного обеспечения, доступно вам, если у вас есть доступ к самому замечательному месту - Интернету.

Что касается того, где я нахожусь сегодня, я работаю фронтенд-разработчиком на ранней стадии стартапа. Я научился разработке полного стека, просматривая многочасовые онлайн-руководства, курсы для самостоятельного изучения, статьи, документацию, видео, многие другие образовательные ресурсы и тонны практики. Большинство этих ресурсов бесплатны, а для тех, что я купил, стоимость каждого была минимальной (менее 25 долларов). Конечный результат, безусловно, может быть достигнут без каких-либо затрат.

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

Bootcamp или самоучка

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

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

Школа

Возможно, вы подумываете о том, чтобы подать заявку на участие в программе информатики в колледже или университете. Как и в случае принятия решения о том, записываться ли в учебный лагерь, это решение зависит от того, что вы считаете лучшим для вас. Если вам нравится школьная среда и вы можете себе это позволить, это может быть отличным вариантом. Если вы не можете себе этого позволить, не паникуйте — у вас есть другие варианты!

Где вы действительно должны начать

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

Зарегистрируйтесь на freeCodeCamp и пройдите их учебную программу. Есть несколько других хорошо известных отправных точек для обучения программированию, таких как Codeacademy или CodeSignal, но freeCodeCamp всегда казался наиболее рекомендуемым и, честно говоря, лучшим.

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

Куда вы должны пойти дальше

Реддит

Один мой друг недавно сказал мне, что считает Reddit чем-то вроде дикого запада интернета, где свирепствуют теории заговора и люди публикуют всякую ерунду. Хотя в этом есть доля правды… Reddit на самом деле является одним из величайших событий, которые произошли с Интернетом, и может стать дверью к безграничным знаниям. Нигде это так не верно, как в сфере разработки программного обеспечения.

Святым Граалем для того, чтобы стать разработчиком-самоучкой, является субреддит Learn Programming. В частности, FAQ — это очень надежная книга, которая обязательно укажет вам правильное направление, независимо от того, откуда вы пришли или что вас интересует. Я рекомендую, по крайней мере, проверить любые ресурсы, предназначенные для начинающих, которые кажутся интересными ты.

Удеми

Udemy — это онлайн-рынок курсов, очень похожий на Coursera. Именно здесь я решился на платные ресурсы, но не беспокойтесь — я никогда не платил больше 15 долларов за один курс. Пара из них все еще бледнеет по сравнению с учебным курсом по программированию, который может стоить от 15 000 до 30 000 долларов. Что касается оплаты 15 долларов или меньше, Udemy постоянно проводит распродажи. Буквально, все время. Любой курс, который в настоящее время указан по полной цене, будет продаваться по цене 15 долларов или меньше в какой-то момент в ближайшем будущем.

Многие из предлагаемых курсов идеально подходят для тех, кто начинает работу с новой темой. Есть множество разработчиков с многолетним опытом работы на полной ставке, которые пройдут курс Udemy (оплаченный компанией), чтобы изучить новый язык программирования, фреймворк, стек и т. д.

Возвращаясь к нашей конкретной цели обучения веб-разработке, Кольт Стил является одним из самых популярных инструкторов на Udemy, и на то есть веские причины. Его курсы фантастические, и он тоже довольно забавный. Его Учебный лагерь для веб-разработчиков — идеальное место для начала работы.

Выберите стек, чтобы сосредоточиться на

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

Я учился в контексте стека MERN — MongoDB, Express.js, React.js и Node.js. Я пытался узнать как можно больше о каждой из этих тем, а затем создал несколько полнофункциональных приложений, чтобы применить свои знания и практику. Например, изучение основ React, а затем немедленное переключение на Vue отвлечет вас от вашего образования. Вы хотите хотя бы немного поработать со структурой или навыком, потому что так вы получите лучших представителей в решении проблем. Цель и то, что вы почувствуете на этом пути, — это научиться программировать. Изучение внутренней работы компьютерных наук, архитектуры кода и способов решения проблем — это вещи, которые немедленно перейдут на любую новую структуру, которую вы в конечном итоге решите взять на себя, будь то для работы или просто для себя.

Как улучшить

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

  • Изучайте новый язык, структуру, навыки или концепции с помощью курса (бесплатного или с минимальной оплатой), онлайн-руководства/руководства, видеокурса или книги.
  • Следуйте и создавайте любой проект, который используется в качестве примера ресурсом, за которым я следую.
  • Практика, практика и еще раз практика, создавая новый проект, который следует тем же шагам и методам, которые предложены в учебном ресурсе.
  • Как только я освоюсь с этими навыками, перейду к следующей теме. Смыть, повторить.

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

Помимо практики в проектах, есть еще одна простая, но оченьполезная форма практики — решение задач по программированию. LeetCode — популярный веб-сайт, о котором вы часто слышите, отличный ресурс, который я часто посещаю. Но я думаю, что Codewars лучше, особенно когда вы находитесь на этапе обучения (LeetCode лучше подходит для подготовки к собеседованию). Поскольку вы будете изучать JavaScript для веб-разработки, выработайте привычку выполнять задачи по кодированию один раз в день или несколько раз в неделю, это очень поможет вам, когда вы позже начнете создавать эффективные алгоритмы для проектов, интервью и работы.

Некоторые из моих любимых ресурсов

  • Reddit — Изучаем программирование, вебдев
  • Udemy — посмотрите Colt Steele и другие популярные курсы по веб-разработке. Не покупайте тонну сразу, покупайте по одной.
  • YouTube — Видеоуроки, длинные или короткие, могут быть отличными. На самом деле справедливо сказать, что на YouTube есть много бесплатных курсов, которые могут заменить эквивалентный курс Udemy. Ознакомьтесь с библиотекой freeCodeCamp!
  • roadmap.sh — красивое простое руководство по учебной программе с несколькими бесплатными ресурсами, перечисленными для каждой темы.
  • CS50 — идеальный вариант для знакомства с компьютерными науками.
  • Кодовые войны
  • Переполнение стека — Святой Грааль вопросов и ответов.
  • The Odin Project — бесплатный полноценный учебный план
  • free-programming-books — замечательный репозиторий GitHub, который может указать вам на множество ресурсов.
  • Документация. Как только вы хоть немного освоитесь с JavaScript или выбранным вами языком программирования, прочитайте документацию для любой используемой вами платформы или библиотеки.

Другие ресурсы и ссылки

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