Система грейдов разработчиков — профессиональные скиллы

Programmer hard skills

В целом, система трейдов была рассмотрена в статье Общие положения грейдов. 

А в этой статье, рассмотрим прогресс по знаниям разработчика в его профессии

  1. В общем

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

  1. Стеки технологий — специализация

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

Сперва разделим разработчиков на такие категории (наиболее часто встречающиеся):

  • Фронт-енд разработчик
  • Бэк-енд разработчик
  • Фул-стек разработчик
  • Разработчик десктопных приложения
  • Разработчик приложения под Android
  • Разработчик приложения под iOS

Но и теже Бекенд разработчики не знают всех бекенд языков (PHP, Python, Java, Go, Ruby, NodeJS, C# и многие другие) и технологий (Linux, Windows, Docker, Nginx, Apache, MySQL, PostgreSQL, MongoDB, MS SQL, GraphQL, React, Vue.js, Sphinx, Elastic Search, Redis, MQ Rabbit, Machine Learning и многие другие).

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

В следующих статьях будут примеры для PHP Бэк-енд разработчика (Linux + PHP + MySQL), Фронт-енд (JS, React, Node) и Android-разработчика, Фул-стек программиста.

  1. Общие концепции программирования

Но, есть такие технологии и концепции которые применяются во многих стеках или являются стандартном для любого стека

Это, например 

  • git, git-low, 
  • ООП, 
  • REST-Api, 
  • Agile, Scrum
  • YAGNI, KISS, DRY, SOLID 
  • Юнит-тесты
  • CI/CD
  • SSH
  • и многое другое. 

Про них не стоит забывать при составлении грейдов разработчиков.

  1. Лидерство и наставничество

На самом деле, высокие грейды редко обходятся без наставничества и лидерства.

В качестве требования для перехода на высокие уровни (мидл++, сеньор), можно включать:

  • Наставничество: повышение ученика с X на Y уровень
  • Код-ревью и Релизы
  • Статьи во внутренних (локальная wiki, Confluence) или внешних источниках (Habr, форумы, сообщества, бумажные статьи в сборниках)
  • Выступления на конференциях от имени компании

5. Вопросы безопасности кода

Уже с малых грейдов, нужно знать как писать код, защищенный от основных атак и уязвимостей