Вчера, в твитере, я выяснял какие скилы нужны супер крутому фронту. Но, кроме пары полезных ссылок и рекомендаций я ничего не нашел. Поэтому сегодня, просмотрев 40 самых высокооплачиваемых вакансий Front end разработчиков / JavaScript программистов, я проанализировал требования к кандидату. Отталкивайтесь от этого списка и смотрете что изучать в дальнейшем.
Я ничего не парсил, пробегался глазами по вакансиям и переносил требования в блокнот. Плюс я анализировал вакансии с HeadHunter, поэтому список отражает динамику только для российского IT сегмента.
Цифра — количество упоминаний в требованиях.
Общие требования
- 9 — английский, на уровне чтения тех. документации
- 5 — более трех лет опыта в разработке на JavaScript
- 4 — умение комментировать и документировать код
- 3 — опыт разработки Single Page Application (SPA)
- 3 — наличие GitHub аккаунта с примерами кода
- 1 — наличие образования в сфере IT
Основные требования
- 31 — отличное знание JavaScript (тонкости, прототипы, наследование, контексты, замыкания)
- 22 — система контроля версий GIT (иногда проскакивает SVN и Mercurial)
- 20 — AJAX, REST API, понимание принципов функционирования сети Интернет и протокола HTTP
- 16 — тестирование JavaScript (unit, TDD, BDD)
- 10 — понимание принципов OOP, MVC, MVVM в JavaScript
- 6 — клиентская оптимизация
- 4 — XML, JSON/JSONP, xslt, xpath
- 4 — WebSocket
- 4 — CoffeeScript
- 4 — Unix/Linux
- 3 — Sketch, Photoshop
- 2 — Знание DOM-модели
CSS пост/препроцессоры
- 6 — опыт использования любого пост/препроцессора
- 4 — LESS
- 3 — Sass/SCSS
- 2 — PostCSS
- 1 — Stylus
CSS фреймворки
- 7 — Bootstrap
- 1 — Foundation
CSS методологии
- 3 — БЭМ (BEM)
- 1 — SMACSS, OOCSS
JS библиотеки
- 20 — JQuery
- 3 — underscore.js
- 2 у Lo-Dash, MooTools, Prototype
JS фреймворки
- 5 — Любой из популярных
- 19 — AngularJS
- 15 — Backbone
- 7 — React.js
- 7 — Ember.js
- 4 — Knockout
- 2 у cordova, extJS
Модульность
- 10 — AMD (RequireJS)
- 2 — Common JS (browserify)
Системы сборки
- 8 — любая
- 2 — Gulp
- 2 — Grunt
Дополнительный язык
- 2 — владение каким-либо скриптовым языком (php, python, ruby, perl)
- 10 — Node.js (ExpressJS/MongoDB)
- 1 — Ruby (RoR)
Остальное
- 3 — SVG
- 1 — опыт дебага в браузере
- 1 — Graceful Degradation
- 1 — понимание принципов usability
- 1 — алгоритмы и структуры данных
- 1 — паттерны (!?!?!) 😨
- 1 — ES6
- 1 — CanJS
- 1 — Webpack
- 1 — Bower
- 1 — canvas
- 1 — Titanium
- 1 — Polymer, Shadow DOM
- 1 — Autoprefixer
- 1 — D3.js
- 1 — Phonegap
- 1 — Django
- 1 — WebGL
- 1 — уязвимости XSS, CSRF/XSRF
Вот такой получился интересный список. Если у вас есть вакансия для front end разработчика, пришлите её на электропочту или дайте ссылку на неё в комментариях, чтобы я обновил эту заметку.
В следующей статье, я выберу то, что подучить мне и дам ссылки на обучающие материалы, которыми буду пользоваться, пока буду изучать каждый из пунктов.