Как найти работу?
Для кого эта статья?
Если вы хотите пойти в мир Web-программирования, то эта статья для вас.
Но, даже если вы не хотите заниматься Frontend разработкой, все, о чем будет сказано здесь, может оказаться полезным.
Если вы хотите быстро перейти от слов к действию, то заходите на https://roadmap.sh/roadmaps и смотрите дорожную карту по вашей технологии или языку.
Английский язык
Начнем с "дополнительных" навыков. Самое главное - разговорный язык. В 99.9% случаев - это будет английский. Учите язык, иначе отказать вам могут еще до того, как вы дойдете до этапа технического интервью!
Какой уровень необходим: такой, чтобы вы могли поговорить о погоде и хорошо понимать собеседника. Обычно это называется B1.
Как учить:
- Не прогуливайте английский в БГУ. Его и правда преподают хорошо. Проверено.
- Найдите человека из другой страны и просто общайтесь с ним. Это очень просто. В 2016 году я почему-то общался на сайте https://www.interpals.net/, но я думаю, что вы и так знаете хорошие альтернативы.
- Skyeng и прочее - отличные места, вот только платные...
- Anki для flashcards, чтобы учить слова.
- Переведите все устройства на английский, смотрите видео и читайте статьи на английском.
Еще раз подчеркну, английский нужно знать обязательно!
За что хвататься?
Не советую сразу начинать какой-то фреймворк, если нет достаточных знаний JS. Чтобы проверить себя, можете ответить вслух на следующие вопросы:
- Что такое замыкание?
- Как реализовано наследование в JS?
- Что такое event loop и как это работает?
Если не получается связного ответа на эти вопросы, то лучше сначала освоить JS. Отсутствие этих знаний может сильно замедлить вас при изучении фреймворка. И вообще, JS фреймворки приходят и уходят, поэтому необходимо иметь уверенные знания JS, чтобы без особых проблем осваивать другие инструменты.
Javascript
Вот дорожная карта по JS 👹
Вау! Надеюсь, что для вас она выглядит впечатляюще, а не пугающе.
Все, что в ней отмечено зелеными галками стоит изучить. Как учить? Гуглить темы и разбираться в них, параллельно решая задачки на эти темы. Теория - это прекрасно, но без практики мало что будет запоминаться. На самом сайте карты можно тыкать в блоки и смотреть рекомендованные материалы. Помимо материалов с сайта почти все можно найти в YouTube и даже на русском.
Вместо гуглинга можно почитать какую-нибудь книгу, например:
- 📚 Самый главный учебник по JS: Современный учебник JavaScript
- 📚 Книга слабовата, но вроде ничего: Выразительный JavaScript. Современное веб-программирование
- 📚 Хорошая книга, но большая, но хорошая: JavaScript. Полное руководство | Флэнаган Дэвид
Не забывайте постоянно тестировать свои знания. Сделать это можно огромным количеством способов:
- ❓ Гитхаб с вопросами по JS
- ❓ Вопросы с интервью: 300+ вопросов по JavaScript на собеседовании.. Вопросы на middle уровень, конечно, странные... Да и на senior… Но бесполезных знаний не бывает
- ❓ В ютубе полно видеособеседований: слушаем вопрос, пауза, отвечаем, продолжаем
- ❓ Советую подписаться на какие-нибудь каналы в телеграм, которые время от времени публикуют вопросы (ссылки на такие будут ниже в этой заметке).
Фреймворк
Если мы уверенно понимаем JS, далее на выбор я бы предложил 3 фреймворка:
- React
- Angular
- Vue
И вот почему:
Каждый из них популярен, поэтому можете выбирать любой, какой захотите. React на данный момент самый популярный, следовательно, открытых рабочих позиций по нему больше. Поэтому о нем и будем говорить подробно.
Вот его дорожная карта 👹👹👹
Относительно недавно React обновил свою документацию. Теперь она прекрасна. Quick Start - отличная секция, чтобы начать.
Здесь все то же самое. Советую изучать параллельно программируя что-нибудь полезное руками.
И не забывайте проверять свои знания:
- ❓ Гитхаб с вопросами по React
- ❓ В ютубе полно видеособеседований: слушаем вопрос, пауза, отвечаем, продолжаем
Как результат ваших знаний, необходима парочка проектов на Github, например:
- Крестики-нолики (желательно, чтобы можно было играть с компьютером)
- Todo list - это вообще как Hello World в мире Web
- Можете сделать сайт-портфолио и запустить его, например, на Netlify.
- Каждый из проектов на курсе Web достоин попасть в ваш репозиторий, если вы сделали его хорошо.
Ну, необходимость загрузить куда-то наш код вынуждает нас выучить
Git
Гит - это система контроля версий, то есть набор утилит, позволяющий вам "сохраняться", как в игре, чтобы не потерять прогресс. Его выучить можно в БГУ или:
- 📹 Monsterlessons Git
- 📹 Javascript Git курс
- Если больше нравится читать, то хабр
Что нужно знать из команд гита:
git pull
, git fetch
, git add
, git commit
, git push
, git merge
, git rebase
, git reset
.
Этих команд хватит на начальном этапе. Нужно научиться жонглировать ими в терминале.
Далее посмотреть, что же такое GitHub и загрузить туда какой-нибудь интересный проект на JS и на фреймворке, далее ссылочка на ваш GitHub должна быть у вас в CV (резюме).
Курсы
Я бы не рекомендовал никаких курсов, потому как все они, если хорошие, стоят денег, а еще и долгие. Я бы советовал идти по роадмапе и смотреть видео на темы, в которых сложно. Ну и, конечно же, практиковаться!
Но если очень сильно хотите отдать кому-то денег то вот мой патреон, то все, что найдете на этих сайтах, достойно рассмотрения:
- Есть вот такое место, где за очень маленькие деньги можно пройти очень дорогие курсы. Лучше не задаваться вопросом, как они туда попадают https://coursehunter.net/
- Все на русском Уроки по фронтенд технологиям - Monsterlessons.com
- Английский, но очень примитивный Monsterlessons Academy
- Курсы на любую тему Fireship.io
Дополнительно
Telegram каналы
- Канал с тестами по JS JavaScript test
- Еще один похожий Frontend Interview - собеседования по Javascript / Html / Css
Youtube каналы
Советую подписаться на пару каналов в YouTube и время от времени бегло просматривать видео. Одни из тех, которые когда-то открыл для себя я:
- ⭐️⭐️⭐️ CodeAesthetic - ОБЯЗАТЕЛЬНО НАДО СМОТРЕТЬ ВСЕ
- Fireship - Обо всем на свете
- Monsterlessons Academy - Канал от автора monsterlessons
- Диджитализируй! - про Python
- S0ER - Канал про C++ и JS
- DevAsLife про JS, можно посмотреть, как пишется код
- ДевШахта (NodeJS, в основном)
- Jack Herrington - много по React
- JS, мысли, всякое
- Dan Abramov - отец Redux и отчим React