Что должен знать frontend разработчик в 2017?

  • суббота, 30 сентября 2017 г. в 10:18:00

Так как в последнее время я занимался поиском новой работы на должность frontend-разработчика, у меня сложился некий багаж знаний от прохождений собеседований. Из разных пройденных собеседований, я взял много полезного опыта и хотел бы поделиться в данной статье. Статью я затягивать не буду. Я понимаю, что вы пришли сюда не за тонной воды, которую я так сильно люблю использовать в своих статьях.

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

Первая часть - статистика. Вторая часть - итог.

Как составлялась статистика?

  1. Я написал парсер вакансий с сайта МойКруг и HeadHunter. Парсер собирает все тэги со всех вакансий. Рассчитывает количество упоминаний для каждого тэга.
  2. После чего, я вручную пробежался по 2-ум страницам (25 вакансий, на каждую страницу) и составил свою статистику.

Составив статистику с двух сайтов, я отсортировал тэги по убыванию. От большего количество упоминаний к меньшему.

Сам парсер написан на NodeJS

Статистка с сайта - МойКруг (парсинг)

Статистка с сайта - HeadHunter (парсинг)

Подводим итог

Итак! Пересмотрев около 40-50 вакансий вручную, пройдя кучу разных собеседований, я могу сделать небольшой итог по тому, что надо знать frontend-разработчику на 2017 год и уже стоящий на носу 2018 год.

JavaScript

Библиотеки, фреймворки

  1. ReactJS (Redux + React Router)
  2. Angular 2
  3. VueJS (Vuex + VueRouter)
  4. Backbone
  5. Ember
  6. Meteor

Языки программирования (стандарты)

  1. ECMAScript 6 (+ Flow. И пора уже приглядываться к ES7).
  2. TypeScript (жив благодаря Angular)
  3. CoffeeScript (уже умирает)

Другое

  1. Unit testing
  2. ESLint

CSS

Препроцессоры

  1. SASS (SCSS)
  2. LESS
  3. Stylus
  4. PostCSS

Методологии

  1. БЭМ
  2. SMACSS
  3. OOCSS

Библиотеки, фреймворки

  1. Bootstrap 4
  2. Semantic UI
  3. Foundation

Системы сборки

  1. Webpack
  2. Gulp
  3. Grunt (уже вымирает)

Основное

  1. Git (Github, Bitbucket, GitLab)
  2. Кроссбраузерная и адаптивная верстка
  3. RESTFul API, AJAX, WebSocket
  4. Опыт работы с UNIX системами (Linux, Ubuntu, Debian, macOS etc.)
  5. Понимание принципов ООП, MVC, паттернов проектирования

Общее

  1. Уметь тестировать код (unit testing. Jasmine, Mocha, Jest и т.д.)
  2. Писать качественный код, соответствующий единому стилю (ESLint)
#топ 10 языков программирования#топ#языки программирования#яп#сентябрь