#13 Что должен знать и уметь frontend разработчик

poster
Сегодня мы с вами разберем какими же технологиями должен владеть javascript developer, чтобы выжить в современном мире.
Понравилось? Поделитесь с друзьями!
Понравилось?
Поделитесь с друзьями!
Комментарии
Текст видео

Сегодня мы с вами разберем какими же технологиями должен владеть javascript developer, чтобы выжить в современном мире.

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

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

Итак на первом месте стоит git. Это самая популярная система контроля версий, а без контроля версий программисты не работают. Так что это де факто самая важная вещь для любого программиста.

На втором месте идет javascript. Вы должны хорошо знать язык на которым пишете. Так что его нужно знать хотя бы на уровне понимая как работают функции, типы данных, операции с данными, контекст, замыкание, прототипное наследование. Собственно все эти вещи вы можете найти в любой книге по javascript.

Дальше идет CSS, HTML. Мы говорили о них в прошлых видео и хоть есть люди, которые занимаются чисто javascript, есть очень много работ, где вы пишете все вместе. Сюда я могу только добавить знание препроцессоров например sass. Также я посоветовал бы посмотреть на модульный CSS и какие возможности он может дать.

Теперь о фреймворках. Обычно на проекте вы будете использовать 1 фреймворк и знание других в этом случае поможет только в понимании какой подход и где лучше. Как минимум 1-2 самых популярных фреймворка знать нужно, чтобы без проблем найти на них работу, так как без фреймворка обычно проекты не пишуться. Из самых популярных фреймворков я бы выделил Angular и React, так как на них проще всего найти работу. Backbone попал в мой список по двум причинам. Все еще есть проекты, которые его используют. Во вторых он очень просто и его исходники очень легко читать. Это отлично позволяет разобраться как он написан и как он работает.

Понимание как работать с API, какие есть HTTP запросы, желательно понимание как работает сеть интернет и протокол HTTP. Так как вы пишите фронтенд часть, то нужно знать, как общаться с бекендом.

Сборщики проектов. Обычно весь javascript вместе с css и шаблонами чем по транпайлится и готовится к продакшену. Для этого я бы посоветовал изучить webpack и gulp.

NodeJS. Даже если вы не пишете бекенд, то вы используете сотни npm пакетов. Поэтому пакетный менеджер вместе с nodeJS нужно знать.

Знание хотя бы одного бекенд языка программирования. Я бы предложил ruby с фреймворком ruby on rails или python. Но это на ваше усмотрение. Это дает понимание как пишется бекенд и какие сложности по другую сторону разработки.

Ну и конечно базы данных. Хотя бы немного. Я бы посоветовал попробовать MongoDB как документо ориентированную базу и PostgreSQL как реляционную.

Unix и Bash. В основном девелопмент обычно происходит на маке, а все проекты ранятся на unix серверах. Как минимум начальные знания работы с unix и командной строкой желательно иметь.

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

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

Только зарегистрированные пользователи могут оставлять комментарии.  Войдите, пожалуйста.
Vladimir
8 лет назад
Привет! Где прочитать про модульный СSS и как его использовать? Какие пакеты есть для Node.js?
monsterlessons
8 лет назад
Привет. Гуглите css modules. Там есть очень много вариантов. Самый банальный, если мы говорим о webpack, css-loader. Там можно настроить, чтобы генерировались уникальные классы.
Moe Green
8 лет назад
сейчас осваиваю node + express + mongo + mongoose мне нравится ощущение полноты картины, когда создаешь full-stack приложения, а не делаешь обезьянью работу - вот кусочек кода - его нужн сделать так. а что это за кусочек и откуда у него ноги растут - хз (( у меня пока только два таких проекта (full-stack) и они очень простые, учебные - но все же ))
monsterlessons
8 лет назад
Лишь бы нравилось. Полностью представлять себе как все работает от начала и до конца нужно обязательно.
Moe Green
8 лет назад
это список для middle? если да - тогда у меня middle (по крайней мере - по уровню теор. знаний) :)) вот опыта работы кот наплакал - плохо очень ((
monsterlessons
8 лет назад
Я бы сказал мидл. Ну можно и на сеньйора иногда продать себя с таким списком. Опыт не обязательно на работе набирать, пет прожекты имхо больше решают, когда уже не джун, так как обычно на работе 1 фреймворк/проект ковыряешь пару лет пока не поменяешь.
vlad
9 лет назад
Было бы супер: 1. разместить в "Текст видео" все пункты плана (Что должен знать разработчик frontend); 2. по пунктам плана создать серию "от нуля до джуниора" с видеоуроками и образцами кода; 2.1. с учетом того что практически все видео у Вас уже есть, но разбросанные по разным сериям;
monsterlessons
9 лет назад
Спасибо за идею. Добавили в список будущих видео.
vlad
9 лет назад
В копилку к серии "от нуля до джуниора": очень нужный функционал для нУлевых разработчиков - https://www.youtube.com/watch?v=yX1W5B7V7Ec - свой сайт, например для демонстрации своих скиллов :) P.S. просто я за полгода много прочитал и просмотрел материалов про фронтенду и бэкенду, половину уже забыл. а такой сайт на гитхабе это как дневник так и реальный проект. .....В итоге, если создать такой сайт в самом начале обучения, то у народа материал должен будет лучше закрепляться и усваиваться.