В настоящий момент конкуренция в сфере веба стремительно ползет вверх и из-за этого список навыков у Junior Frontend программиста становится похожим на тот, что и у Middle Frontend разработчика!
В этой статье я расскажу о том, как стать по-настоящему крутым программистом и заиметь перспективное будущее!
Приступим!
Hard Skills
Поговорим о профессиональных навыках
HTML
HTML - стандартизированный язык разметки. Он должен стать самым первым в вашем кладезе знаний. Вы должны изучить базовые теги, понять что такое валидация, семантика и доступность. Этого хватит для прочной базы. В HTML много тегов, но не спешите их все изучать, второстепенные теги можете постигать по мере практики и при необходимости.
Так же есть крутой плагин "Emmet", который упрощает написание разметки.
CSS
CSS - каскадные таблицы стилей. Стилизует наши HTML элементы и это второй важный навык для Frontend программиста! Что нужно знать:
- Как выравнивать элементы на странице(flexbox)
- Как стилизовать текст
- Как стилизовать блоки
- Нужно знать специфичность селекторов и понимать как они работают
- Нужно изучить адаптивную верстку(responsive design, media запросы)
- Нужно понимать mobile-first и desktop-first
- Как работают свойства, отвечающие за видимость элементов (display, visibility, overflow)
- Кроссбраузерность
- Псевдоклассы и псевдоэлементы
- Форматы картинок и как они используются в верстке
- Уже можно начать пользоваться консолью разработчика
Здесь главное практика! Есть очень много обучающих видео, которые дают все эти знания! Остальные знания по CSS придут в процессе практики! Этой базы хватит уже для того, чтобы сделать свой первый небольшой проект по верстке!
Далее спокойно начинайте изучать препроцессоры и постпроцессоры, css-фреймворки и вместе с ними изучите GULP. Эти технологии дадут ускорения разработке.
HTML и CSS можно изучить за месяц, при хорошем усердии!
JavaScript
JavaScript - язык программирования , который внесет в ваш код динамику. С ним ваши сайты оживут и станут полноценными frontend проектами. Третий и самый важный навык Frontend программиста. Владея им на высоком уровне вы сможете достигать больших высот в разработке. Я безумно люблю этот язык и знаю его базу просто на отлично. Что нужно изучить:
- Базовые конструкции языка и типы данных
- Структуры данных
- Стрелочные и обычные функции
- Контекст this, как он ведет себя в стрелочных функциях
- Методы call(), bind(), apply()
- Асинхронность
- Как отслеживать события(нажатие и т.п.)
- Погружение и всплытие событий
- Взаимодействие с DOM
- Event loop
- Паттерны проектирования
- Алгоритмы сортировки и поиска
- ES6
Посоветую замечательный канал для изучения JS - Владилен Минин. Там вы найдете очень много полезной информации для изучения этого языка!
Обязательно посветите немного времени для GIT - это сервис для контроля версий приложения. Его изучение не займет большого кол-ва времени, но даст вам плюс как программисту.
После изучения базы JS переходите на фреймворки (советую React, так как самый популярный и востребованный на рынке). Главное никуда не торопитесь при изучении. JS уже не игрушки, к нему надо подходить с полной серьезностью. И, как всегда, много практики! Без нее вы будете двигаться медленно и не сможете применить полученные знания в бою.
Soft Skills
Теперь поговорим о надпрофессиональных навыках
Дисциплина
С того момента, как вы начали изучать frontend, вы должны взять себя под контроль. Четко распределять время на учебу, чтобы ничто вас не отвлекало. Обязательно следить за здоровьем: регулярно делать разминку во время работы, заниматься физическими нагрузками, ведь спорт дает не только хорошую физическую форму, но и энергию всему телу, а это в, свою очередь, улучшает мозговую активность, и держит ваше настроение на высоком уровне. Заниматься изучением нужно периодически, но не переусердствуйте!
В общем вы должны держать себя в ежовых рукавицах.
Так же очень важно умение запомнить информацию и закрепить ее! Если что-то забыли - повторите материал. Боитесь забыть - запишите, попрактикуйтесь. Учиться можно всегда и везде - главное желание!
Работа в команде
Очень важный навык! Нужно уметь коммуницировать с коллегами, правильно излагать свои мысли, уметь слушать и слышать.
Можно почитать литературу по психологии, она даст много знаний в сфере общения с людьми. Напишите в комментарии, если вам интересна моя подборка такой литературы
Дополнительно
Английский язык! Конечно, без него вы далеко не уедите. Чтобы изучить выше описанное, вам хватит и русского языка, ведь материала навалом. Но все новое, связанное с технологиями, выходит на английском языке! Большинство документации написано на английском языке! Поэтому займитесь его изучением хотя бы до такого уровня, когда сможете без особых усилий переводить документацию!
В заключение
Хочу сказать, что не будет легко на этом пути. Вам теперь постоянно придется учиться чему-то новому, ведь IT сфера не стоит на месте! В этой гонке победит тот, кто работает больше всех остальных!
Пишите в комментарии как Вы начинали свой путь в программировании, я буду рад почитать!