Изучение веб-разработки в 2018 году огромно.

Просто чертовски многому нужно научиться.

Экосистема JavaScript растет быстрее, чем любая другая.

Там есть. Так. Проклятие. Много.

Руководства по становлению веб-разработчиком похожи на долбаного летающего спагетти-монстра.

Никогда не было лучше, никогда не станет лучше

Я работаю в индустрии программного обеспечения с 2004 года, и мне все время казалось, что я пил из пожарного шланга.

За это время кое-что улучшилось.

Мы перешли от настройки серверов вручную к автоматическому развертыванию целых кластеров в облаке.

JavaScript превратился из игрушечного языка в самый широко используемый язык в мире.

Мы перешли от ручного кодирования и стилизации всего на наших веб-сайтах к десяткам CSS Frameworks и Component Libraries с сотнями функционирующих, красивых готовых шаблонов и компонентов.

Мы перешли от системы без сеток к единой неуклюжей системе сетки 960 пикселей к невероятно мощной настраиваемой системе сеток, встроенной в БРАУЗЕР.

У нас никогда не было лучше, чем сегодня.

И все еще.

Мы перешли от возможности простой загрузки файлов к сложному набору интерфейсных инструментов сборки.

Мы перешли от отсутствия хороших библиотек JavaScript к наличию одного доминирующего инструмента (jQuery) к 3 огромным интерфейсным фреймворкам и десяткам второстепенных.

Темпы изменений никогда не были такими быстрыми, и они продолжают расти.

Никогда не станет лучше. Нам всегда нужно учиться.

Три МО: основа для принятия решения, чему учиться

Я считаю само собой разумеющимся, что пока я работаю в этой индустрии, мне нужно продолжать учиться.

Даже в этом случае сложно понять, чему учиться. Чтобы помочь себе определиться, я использую простую схему из трех частей, которую я называю «Три Мос». Мотивация, импульс и деньги.

  1. Мотивация: насколько я рад, узнав об этом?
  2. Импульс: на что меня натолкнуло обучение?
  3. Деньги: каковы коммерческие / финансовые возможности?

Мотивация

Насколько я взволнован, узнав об этом?

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

Я не только получу больше удовольствия от изучения того, что меня волнует, но и буду учиться лучше и быстрее.

Импульс

Как изучение этого меня помогает делать или узнавать другие вещи?

Будет ли изучение этого навыка полезным в будущем?

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

Деньги

Будет ли кто-нибудь платить мне за то, чтобы я это узнал? (в идеале текущий клиент или работодатель). Если нет, какова востребованность / востребованность этого навыка?

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

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

Применение трех подходов к фреймворкам JavaScript

Частый вопрос для начинающих веб-разработчиков: «Какой JavaScript Framework мне следует изучить?»

Я собираюсь ограничиться «большой тройкой» фреймворков React, Vue и Angular, но если один или несколько из «трех» укажут вам на другой, не стесняйтесь включать это в свое рассмотрение.

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

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

Как только вы глубоко поймете архитектуру на основе компонентов, жизненные циклы компонентов и управление состоянием в стиле Flux, вы сможете применить эти знания во многих фреймворках.

Что касается денег, если у вас уже нет конкретного клиента, работодателя или лидера, который интересуется Vue или Angular, я думаю, что текущее преимущество у React.

Использование React по-прежнему намного выше, и, похоже, в React больше возможностей для работы и фриланса. Тем не менее, Vue быстро догоняет, и есть много возможностей.

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

Как учиться: проектное обучение

Ваш первый шаг - найти проект.

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

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

Наличие проекта заставит вас учиться гораздо более комплексно, чем просто следовать курсу или руководствам.

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

Вам придется адаптировать решения, не прибегая к «правильному пути».

Невозможно заменить обучение на основе проектов.

Начните с курса, затем перейдите в Google и документацию

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

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

Я редко заканчиваю курс полностью, но обычно просматриваю его значительную часть, чтобы получить общее представление.

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

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

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

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

Рекомендуемые курсы

Я использовал этот подход, чтобы изучить React и Vue за последние год или два. Хотя я не всегда могу сказать, какие лучшие курсы в этих областях, я могу порекомендовать те, которые я использовал.

React: Modern React с Redux

Vue: Vue JS 2 - Полное руководство (включая Vue Router и Vuex)

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

Angular: Angular 6 (ранее Angular 2) - полное руководство

Стратегическое обучение

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

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

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

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

Другими словами, нам нужно руководствоваться чем-то вроде схемы «Три Мос».

Это правильно? Я сомневаюсь. У меня это хорошо сработало, но я готов поспорить, что может стать еще лучше.

Что вы используете для обучения? Дайте мне знать ниже в комментариях.

Если вам понравился этот пост, пожалуйста, похлопайте по нему. Вы можете отдать до 50!

P.S. - Если вам интересны такие темы, вы можете подписаться на меня в Twitter или подписаться на мою рассылку новостей. Я отправляю еженедельный информационный бюллетень под названием Friday Frontend. Каждую пятницу я рассылаю 15 ссылок на лучшие статьи, учебные пособия и объявления по CSS / SCSS, JavaScript, а также множество других замечательных новостей Front-end. Зарегистрируйтесь здесь: https://zendev.com/friday-frontend.html

Первоначально опубликовано на zendev.com 14 августа 2018 г.

✉️ Подпишитесь на рассылку еженедельно Email Blast 🐦 Подпишитесь на CodeBurst на Twitter , просмотрите 🗺️ План развития веб-разработчиков на 2018 год и 🕸️ Изучите веб-разработку с полным стеком .