Здесь, в Oddball, я провожу много времени, нанимая, наставляя и улучшая инженеров, это заставило меня задуматься, мы все время подбрасываем слова младший, средний и старший разработчик, и у нас есть врожденная интуитивная проверка того, что это значит, но мы у меня нет четкого определения того, что на самом деле означают эти термины. Я собрался вместе с одним из инженеров здесь, чтобы подумать об этом, вот что мы придумали для того, что мы ищем в интерфейсных инженерах. (обратите внимание, мы ищем инженеров React, поэтому некоторые из них относятся к React)

Отслеживание навыков

Вообще говоря, для любого фронтенд-разработчика есть 2 трека: тенденция, специфичная для фреймворка («Я занимаюсь React.js в течение 3 лет»), и трек, независимый от фреймворка («Я писал javascript 3 года и иметь глубокое понимание DOM, CSS и производительного JS »). Вы можете занять более высокое место по одному треку, чем по другому, но должны иметь комбинацию обоих.

Младший

Вообще говоря, младший разработчик должен уметь взять хорошо определенную пользовательскую историю / заявку и завершить ее с минимальным вкладом. Это может быть что-то простое, например изменение текста кнопки или отображение списка данных.

Они должны уметь с легкостью делать следующее:

  • Создать компоненты
  • Проходящий реквизит
  • Состояние настройки
  • Базовая компонентная архитектура
  • Понимание html + css
  • Модель CSS-бокса + Flexbox
  • Простые HTML-теги
  • Базовая обработка данных, сортировка / алгоритмы

Середина

Инженер среднего звена должен уметь взять одну эпопею: «Пользователь должен иметь возможность видеть список сообщений и выполнять поиск по ним», понимать и выполнять работу, которая идет в этом направлении.

Им следует:

  • Понять структуру государственного управления (redux, flux, baobab)
  • Понять `mapStateToProps`,` mapDispatchToProps` или аналогичный
  • Твердое понимание методов жизненного цикла и того, как их использовать
  • Обширные знания свойств CSS + анимации / переходы
  • Четкий краткий семантический HTML (не суп div)
  • Понять умные и глупые компоненты

Старший

Старший инженер должен иметь возможность взглянуть на макет от дизайнера и быстро понять, какая работа будет связана с этим, состояние данных, необходимое для выполнения этой работы, и чувствовать себя комфортно, создавая его быстро масштабируемым способом. Нам было труднее всего определить эту категорию, во многом она связана с лидерством и способностью что-то объяснять. Для этой роли требуется определенное количество управленческих навыков, они являются лидером в команде, независимо от того, указано ли это в названии или нет.

Им следует:

  • Оптимизировать для повышения производительности
  • Понимание кэширования данных / нормализации хранилища
  • Наставник и проявить готовность вести
  • Работайте с большой чрезмерно сложной кодовой базой css и соответственно модулируйте

Думаете, это элитарная чушь? Думаете, мои определения слишком сложны? слишком легко? хотел бы начать обсуждение, оставить комментарий и сообщить мне