Изучение JavaScript в 2016 году: обзор Code Camp — неделя 5

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

1) Будет хреново, но оно того стоит.

Вам придется работать каждую ночь больше часов, чем вы ожидаете. Одна простая функция, которую можно добавить в свой проект, станет кошмаром, как только вы поймете, что некоторые API не имеют смысла. А может быть, вы не понимаете какое-то новое понятие, брошенное вам (я смотрю на вас Чай). Если вы не имеете опыта программирования, все будет казаться вам не в вашей зоне комфорта. У вас также никогда не будет достаточно времени, чтобы почувствовать, что вы не в себе. Моя единственная рекомендация — пройти через это и использовать все возможные внешние ресурсы. Вы не создадите кучу красивых портфолио из учебного лагеря с первого раза, даже если они говорят, что вы это сделаете. Вернитесь и переработайте свои старые репозитории. Как только вы научитесь что-то делать, вам будет что показать потенциальным работодателям. Если у вас есть время (у вас его нет), займитесь сторонними проектами. Присоединяйтесь к проектам с открытым исходным кодом. Делайте все, что связано с кодированием, насколько это возможно.

2) Вы будете чувствовать себя ошеломленным, если не поймете основ.

Я не могу подчеркнуть это достаточно. Если ваш лагерь программистов дает вам подготовительную работу, сделайте ее. Если они этого не делают, вам следует подумать, являются ли они законными. За четыре недели мы перешли от html/css к JQuery/Ajax, работе с API, модульному тестированию и включению ES6 в наш код с помощью Babel. Не экономьте на обучении заранее. Ценное время для работы в сети вместо этого будет потрачено впустую на изучение основных концепций программирования.

3) Вы почувствуете себя обманщиком.

В то время как работающие разработчики, с которыми я разговариваю, все делают React/Redux, я изо всех сил пытался сделать циклы forEach. Знаете ли вы, что литералы шаблонов нуждаются в обратной галочке, а не в одиночной кавычке? Да, я не делал, потратил около часа в замешательстве на это. Загрузчики модулей (на данный момент) находятся за пределами моего концептуального понимания. Мой файл Gulp ломается всякий раз, когда я пытаюсь добавить плагины. При поиске решения в Google все, похоже, отказались от Gulp в пользу [вставьте вариант сборщика месяца]. Это произойдет. Не забегайте вперед, слушая каждого элитарного человека на Stack Overflow и Hacker News. Сначала изучите ванильный JavaScript и ES6. Как только вы поймете, зачем вам нужен инструмент, вы оцените его больше всего.

4) Лекции не так важны.

Не в обиду моему инструктору, но кроме демонстрации того, что важно, материал не может быть устно внушен вам. Чтобы действительно учиться, требуется активное участие в содержании. Если не считать просмотра живого кода вашего инструктора, у вас не будет много моментов «ах-ха». Это непростая вещь, и нет «правильного» способа сделать что-либо. Инструктор должен помочь вам, а не держать вас за руку. Всегда смотрите на код других людей, но не копируйте и не вставляйте. Узнайте, что работает для вас, а затем реорганизуйте свой код, чтобы оптимизировать его, как только вы поймете, почему ваш код отстой. Я не могу не подчеркнуть важность рефакторинга вашего кода. Это будет ужасно, просто смирись с этим.

5) Совет для тех, кто хочет уйти с работы и сделать это:

  1. Выполните предварительную работу. ВЫПОЛНЯЙТЕ ПРЕДВАРИТЕЛЬНУЮ РАБОТУ.
  2. Задавайте вопросы инструктору, но….
  3. Не полагайтесь на то, что ваш инструктор даст вам все ответы. Если вы не можете в чем-то разобраться, поставьте таймер на 20 минут и попробуйте разобраться сами. Если не можешь, то иди за помощью. Решение проблем важно, но с такой большой работой вы не можете увязнуть из-за ошибки и отстать.
  4. Прежде чем начать, напечатайте визитки. Укажите «Веб-разработчик» в качестве названия своей должности (даже если вам неудобно это делать). Эти программы работают быстро, и они вам понадобятся.
  5. Приведите свои дела в порядок, прежде чем начать. Если вы еще не понимаете ценность времени, однажды вы будете тратить 6–8 часов в день на программирование. Это не считая времени, которое вам нужно будет потратить на работу в сети и чтение документации.

Мне еще предстоит многому научиться, но пока я наслаждаюсь своим лагерем программистов. Хотя мне все еще нужно найти время для общения в сети и ведения блога, все начинает обретать смысл. Самое удивительное, как многому учишься, даже не осознавая этого. То, с чем вы боретесь в течение одной недели, отложится в вас, и вы редко совершите ошибку снова. Если у вас проблемы с синтаксисом, продолжайте в том же духе — через неделю все будет в порядке. Трудно не быть, когда пишешь код по 8 часов в день.

Кодирование — это круто.