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

Дата: 30.09.2017 в 13:18, Категория: JavaScript
  • 7944
  • 24
Что должен знать frontend разработчик в 2017?

Так как в последнее время я занимался поиском новой работы на должность 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)