Статьи

Как научить себя веб-разработке

В возрасте двенадцати лет, обнаружив в Microsoft Word параметр «Сохранить как веб-страницу», я начал заниматься веб-разработкой. Конечно, я сначала изучил HTML, а затем CSS и JavaScript, а затем кусочки PHP и Rails. (В эти дни я очень люблю Метеор.)

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

  1. Это было слишком дорого.
  2. Я боролся с обучением в классной комнате.
  3. Я уже делал комфортный прогресс.

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

Вот пять шагов для обучения себя веб-разработке.

1. Выберите область веб-разработки, которая вас волнует.

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

Быть веб-разработчиком — это все равно, что быть ученым. Существуют основополагающие идеи, которые применяются в разных дисциплинах, но, в конечном счете, вам необходимо специализироваться. Однако вы должны всегда что-то совершать — легче перейти в другую область после того, как вы овладеете ею, и вы не будете ограничены вашим выбором. Кто-то, кто глубоко знаком с PHP, может сделать гораздо больше, чем тот, кто разбирается в десяти передовых веб-технологиях.

Но на данный момент нет правильного ответа. Пока у вас есть понимание HTML и CSS, вам просто нужно выбрать то, что кажется интересным. Возможно, узнайте, из чего строятся ваши любимые сайты. Вы обнаружите, что Rails повсеместно, но фреймворки JavaScript находятся на подъеме. Я работаю с Meteor, потому что мне нравятся его функции в реальном времени. Ваши причины, однако, не имеют значения. Просто старайтесь следовать своим собственным интересам, так как это единственный способ сохранить мотивацию.

Если вас ничто особенно не волнует, придерживайтесь самых распространенных технологий, таких как JavaScript и PHP. Доступно так много учебного материала, что вы, по крайней мере, получите острые ощущения от обилия доступной поддержки.

2. Игнорировать (большинство) «руководство» от опытных веб-разработчиков.

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

  1. Не помню, чтобы быть новичком.
  2. Ожидать слишком многого от кого-то, кто просто должен понять основы.
  3. Имейте предпочтения, основанные на проблемах, с которыми вы можете никогда не столкнуться. (Например, проблемы с масштабированием до миллионов пользователей.)

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

Вот как я это вижу:

Независимо от того, начинаете ли вы изучать PHP, Rails, JavaScript или что-то еще, не имеет значения. Почему? Потому что переключение с одного языка на другой невероятно незначительно по сравнению с переходом от того, чтобы не быть веб-разработчиком, к тому, чтобы стать веб-разработчиком.

Есть опытные веб-разработчики с отличным советом, но, когда совет предлагается, спросите себя: действительно ли это лучший способ для новичка подойти к этому процессу? Или это просто, как разработчик хотел, чтобы они узнали?

3. Дайте себе точный (и достижимый) проект.

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

  1. Получите острые ощущения от создания чего-либо.
  2. Откройте слабые места в ваших знаниях.
  3. Узнайте, как на самом деле решать проблемы.

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

Также не забудьте определить конечную точку для проекта. Какие функции он будет иметь, когда вы можете пометить его «выполнено»? Вы хотите знать, когда вам позволят чувствовать себя удовлетворенным тем, что вы сделали. (И это не обязательно означает, что проект готов для всего мира, поскольку нет необходимости публиковать творения.)

В зависимости от того, в какой области веб-разработки вы специализируетесь на определенных проектах, может быть проще создать, но вот несколько идей, которые стоит рассмотреть:

  • Приложение списка дел.
  • Частный инструмент для блогов.
  • Инструмент для отслеживания тренировок.

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

4. Передайте определенное количество ежедневной практики.

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

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

Однако существует альтернативный подход:

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

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

5. Занимайтесь значительным количеством учебных материалов.

Возможно, вы видели видео, сфокусированное на письме, от Иры Гласс, где он предлагает людям «много работать».

Айра Гласс о рассказывании историй от Дэвида Шияна Лю на Vimeo .

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

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

Вот что большинство людей не учитывают:

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

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

  • Вы можете увидеть, как разные разработчики решают разные проблемы.
  • Вы можете увидеть, как разные разработчики решают похожие проблемы.

Когда вы будете готовы работать над своими собственными проектами, это представление о том, как проблемы могут быть решены, обеспечит интеллектуальные инструменты, необходимые для:

  1. Определите суть проблемы.
  2. Выясните, что требуется для решения этой проблемы.

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

Вывод

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

Если вы уже в пути самообразования, с чего вы начали? И как изменились ваши методы обучения с самого начала?