Изучать Frontend сложно. Эта область быстро растет, и легко потеряться в десятках фреймворков, библиотек и инструментов. Чтобы расти как фронтенд-разработчик, вы должны откинуть лишнее и сосредоточиться на главном.
Вы знаете свою цель: стать лучшим фронтенд-разработчиком. Чтобы этого добиться, нужно составить план. Если вы посмотрите вакансии, то увидите список из 10-20 требований, которые вам нужно знать, чтобы называть себя фронтенд-разработчиком.
Но на самом деле это не так.
Необязательно знать все, чтобы устроиться на работу. Иногда даже опытные разработчики всего не знают.
Веб-интерфейс построен на трех основах:
Вот и все. Если вы знаете их очень хорошо, этого почти достаточно, чтобы найти работу. Почти потому, что вам обычно также нужно знать один фреймворк JavaScript.
Не изучайте Vue.js, React, Angular и что-то еще. Выберите один и придерживайтесь его.
Как выбрать фреймворк для изучения? Узнайте, что пользуется спросом на интересующем вас рынке труда. Если есть много предложений для джуниор разработчиков Angular, изучите Angular. Если выигрывает какой-то другой фреймворк, выберите его. Если вы не уверены, сделайте ставку на React.
А как насчет других технологий, перечисленных в требованиях к должности? Вы должны что-то прочесть о них, но в большинстве случаев их можно игнорировать.
Изучение основ Git важно, но вы можете сделать это за день или два. Стилизованные компоненты? Если вы знаете JavaScript и CSS, вы быстро освоите их. Сборщики модулей? Скорее всего, вы будете использовать стартовые пакеты еще долго в своей карьере.
Вначале вам нужно изучить вещи, которые помогут вам получить работу. Вы сможете узнать больше и отточить свои навыки, когда кто-то начнет вам за это платить.
Вы знаете, чему учиться. Время действовать.
Первый шаг — разделить все, что вам нужно, на управляемые кусочки знаний. Помните о двух основных правилах:
Начать действительно просто. Создайте веб-сайт, используя только элементы HTML — без CSS. Простая страница с одним изображением. Очень важно познакомиться с HTML и тем, как он выглядит в браузере.
Не торопитесь, не добавляйте CSS или JavaScript. Сравните, как ваш сайт выглядит в разных браузерах. Вы будете удивлены различиями.
Позже начните экспериментировать с CSS. Опять же, начните очень просто. Возьмем, к примеру, главную страницу Google — ничего особенного, ничего сложного. Создавайте подобные сайты и привыкайте к CSS. Затем опирайтесь на этот фундамент.
Начните изучать JavaScript только тогда, когда почувствуете себя комфортно с CSS.
Всегда делайте только один шаг за раз. Игнорируйте все, кроме шага, который вы собираетесь предпринять. Со временем попробуйте создавать все более и более комплексные веб-сайты.
Часто люди хотят научиться программировать, но думают, что у них нет времени заниматься этим каждый день. Они изучают все выходные каждые две недели, но не могут втиснуть учебные часы в рабочие дни.
Это кажется разумным. Если вы можете в среднем учиться 16 часов за два дня, это похоже на обучение по одному часу в день в течение 16 дней.
Но это не разумно. Все зависит от регулярности.
Подумай об этом. Нельзя тренироваться раз в неделю и стать профессиональным спортсменом. Так как же вы могли учиться раз в две недели и стать разработчиком программного обеспечения?
В дни между тренировками вы все забудете. Более того, вы не можете эффективно учиться много часов подряд. Вы слишком устанете.
Учиться программировать часами легко. Научиться программировать каждый день — непростая задача.
Чтобы преодолеть повседневную борьбу, нужно подходить к ней с умом. Вы должны выработать привычку к программированию. Ваша цель — превратить обучение из рутинной работы в то, что вы просто делаете. Даже если в некоторые дни это всего 15 минут, сделайте это. Это облегчит выработку привычки.
Более эффективно учить час в день, чем семь часов один раз в неделю. Если у вас есть больше свободного времени на выходных, обязательно используйте его. Но помните, что регулярность важнее, чем выжимание как можно большего количества часов в день.
Многие любят изучать теорию. Информатика увлекательна, просмотр курсов расслабляет, блоги по программированию — это здорово.
Но есть одна проблема.
Вы не сможете добиться больших успехов, когда читаете или просто наблюдаете, как что-то делают другие. Вы можете провести недели с лучшими доступными ресурсами и при этом ничего не узнать. Почему? Потому что мы учимся на практике. Теоретические знания быстро испаряются, если не применять их на практике.
Итак, что нужно делать?
Учитесь на практике. Откажитесь от теории и сразу переходите к делу.
Это может показаться слишком простым, но это не так. Пачкать руки — лучший способ научиться.
Создайте этот веб-сайт, создайте это приложение. Неважно, добьетесь ли вы успеха или проиграете. Что важно, так это борьба за поиск решения.
Почему обучение на практике так эффективно?
Сначала вы не будете знать, нравится ли вам изучать новый навык. Пока не начнешь этим заниматься, нельзя быть уверенным. Так что не тратьте время зря — начните как можно скорее.
Неважно, будет ли новый навык изучать HTML или какой-нибудь модный фреймворк. Вы должны попробовать это, чтобы понять, хотите ли вы это сделать. Если обучение приносит вам радость и вы видите прогресс, это признак того, что вы на правильном пути. Если каждая новая задача кажется борьбой, вероятно, вы не захотите этим заниматься в долгосрочной перспективе.
Вы можете смотреть курсы в течение сотен часов, но, в конце концов, вам нечего будет показать, что вы приобрели новые навыки.
Для вашего будущего работодателя более впечатляюще иметь портфолио из 25 веб-сайтов, чем сказать, что вы просмотрели 25 часов видео и прочитали сотню статей.
Ваш разум играет с вами злую шутку. Он будет притворяться, что вы учитесь, пока вы просто смотрите видео, готовите еду и пишете текстовые сообщения одновременно. Промедление — коварный зверь.
Вы можете победить промедление, делая что-то. Вы часто отвлекаетесь при просмотре видео о новейших функциях языка программирования. Но чтобы создать приложение, вы должны быть сосредоточены.
Чтобы придерживаться своих привычек, они должны приносить вам удовлетворение. Это поможет вам в трудные времена. И что может быть лучше, чем делать то, что вы можете показать другим?
Учиться — это искусство терпеть неудачу. Вы будете много терпеть неудач. Вы разочаруетесь. Будут дни, когда вы почувствуете себя самым тупым человеком на земле, который никогда не научится программировать.
Очень легко завысить ожидания и разочароваться.
Сосредоточьтесь на процессе, а не на результатах.
Результаты находятся вне вашего контроля. Вы можете запланировать освоение обещаний JavaScript за неделю, но можете потерпеть неудачу. Мы плохо умеем предсказывать будущее, наши навыки и сложность предмета. Но это только неудача, если вы решите измерять свой прогресс по результатам.
Лучше сконцентрироваться на процессе. Это может быть изучение JavaScript по часу в день. Через неделю, если вы учились каждый день, у вас все получилось. Может быть, вы выполнили обещания. Может, понадобится еще несколько дней. Важно то, что вы сделали то, что хотели.
Придет успех. Просто нужно доверять процессу.