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

    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.
    Ответ написан
    5 комментариев