Top

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

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

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

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. Запаситесь достаточным количеством учебных материалов

Возможно, вы видели видеоролик Айра Гласс (Ira Glass), посвященный написанию кода, в котором он заявляет, что люди «делают огромное количество работы». 

Эта простая вера ведет к состоянию мастерства, а идея легко применима к веб-разработке. Для того чтобы стать веб-разработчиком, необходимо писать много кода, однако многие люди не осознают, что код не обязательно должен быть собственным. Огромное значение имеет следование коду, взятому из книг, учебных материалов и видеоуроков – например, как на сайте SitePoint и в книгах и курсах с сайтов вроде Learnable.

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

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

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

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

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

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

1. Определения ядра поставленной задачи.
2. Обрисовки в общих чертах того, что требуется для решения этой задачи.

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

Вывод

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

Источник: habrahabr.ru