@kana_sahanov
фронтенд-разработчик в компании "Кликобилие"

Как узнать уровень фронтенд разработчика?

Версткой занимаюсь уже около года. За это время хорошо подтянул навыки по HTML+CSS.
Использую такие технологии как Gulpjs, SASS/Compass, Susy, BEM от Николаса Галлахера. Могу также верстать на Bootstrap и Foundation. Но с js все не так хорошо. Неплохо знаю jquery. Там обработка событий, всякие табы, аккордеоны и слайдеры простенькие написать смогу.
И определяю себя как джуниор фронтенд разработчика.
И тут встает вопрос, а какими технологиями определяются уровни middle и senior frontend developer?
Правильно ли я понимаю, что к тем технологиям верстки которые я имею мне нужно добавить знания нативного js + какой то фреймворк (angular, backbone, ember) + cofescript, jasmine/mocha и другие продвинутые плюшки, не говоря уже об опыте работы(года два) чтобы дорасти до мидла?
  • Вопрос задан
  • 5328 просмотров
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
@tnorman уровень логики не ниже, чем на серверной стороне?)) Посмешили.
Фронт-енд разработчик должен разбираться во фронт-енде, а не в PHP — фтопку PHP, вообще никакого PHP.

Основы построения баз — да, поскольку появится возможность работы с базами напрямую. Понимать принципы общения с сервером и другими компьютерами, знать про HTTP-заголовки, политику безопасности и, в частности, политику происхождения документа. То есть знание XMLHttpRequest, CORS и (хотя бы) представление о WebSocket, WebRTC.

Разбираться в клиентских технологиях — HTML, CSS, Javascript, SVG, canvas, многочисленные API, описанные в HTML. И если не знать про WebGL и API, то разбираться зачем это и к чему. Построение DOM, CSSOM, понимание узких мест и тенденций. Основные семантические конструкции и микроданные.

Понимать box model, visual formatting model, stacking context, работу с формами и элементами, медиа-элементами. Знать, что такое кодировка и как жить с разными кодировками при необходимости, хотя это уже редкость.

ООП соглашусь — наследование, инкапсуляция, понимание роли прототипов и умение их использовать. Знание основных паттернов и парадигм. Добавлю модель событий — просто знание (не жалкие 5 штук, а реальный охват, включая MutationObserver). Ну и регулярные выражения.

AJAX? Если не брать в расчёт XML-RPC, SOAP, WSDL, то выделять это в отдельный вопрос не стоит. А вот event loop (включая tasks и microtasks), на который завязана модель событий и все асинхронные вызовы знать обязательно. Также быть в курсе, что такое promise, зачем они и как использовать.

Знать основы проектирования, UX и построения UI. Очень много в работе фронт-енда основано на взаимодействии человека и интерфейса. Непонимание основ UX приводит к неприятным последствиям.

Что же насчёт Backbone или других конкретных технологий — это вообще дело наживное и акцентировать внимание не стоит. Опыт приветствуется, но не является обязательным. ну только если проект не горит.
Безусловно, знание технологий разработки нужно, но я бы тогда поставил на Node.js, Grunt/Gulp, AngularJS.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
deleted-tnorman
@deleted-tnorman
Я могу ошибаться, я в этом плане совсем салага, но.

AJAX
Программирование
Объектно ориентированное программирование
MVC

Backbone пойдет очень хорошо для освоение фронт-енд, но не помешает так же вникнуть в серверную часть. PHP с его простенькими фреймворками навроде Slim.

Работа с базой данных.
Даже если непосредственный контакт с настоящей базой данных вам не предстоит, вам не помешает понимать, как бек-енд с ней работает.

Если это предложение не покажется лишним, то вот по поводу PHP [ Slim, RedBean, SQLight]

Создание простейшего приложения на Backbone с пониманием того, что вы делаете, позволит вам называть себя "front-end developer". Просто фронт-енд это не дизайн, это уровень логики не ниже чем на серверной стороне, просто находящийся на стороне клиента.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы