Матрица компетенций веб-разработчика. LAMP, Bitrix, Frontend

Наставления отца: как растить Битрикс-разработчика

Программисты, разработчики, верстальщики, фронтенд, бекенд, админы… Кто все эти люди?

Что делает веб-разработчик? Какие они бывают? Как оценить кандидата на собеседовании? Как управлять развитием программистов?

Практически все компании, где есть программисты, и тем более веб-интеграторы задают себе эти вопросы. Как правило, критерии определения квалификации весьма мутные. Системного решения этого вопроса нет.

В ИНТЕРВОЛГЕ работает несколько десятков разработчиков. Процесс найма, развития, переключения между проектами, выращивания техлидов – постоянный.

Для погружения в тему прочитайте статью:  Как мы находим, учим и развиваем программистов .

Задача систематизации навыков, присвоения грейдов и выработки политики развития разработчиков – ключевая.

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

Матрица была составлена больше года назад и применяется нами при собеседованиях, аттестациях и отборе людей на проекты. 

Мы решили опубликовать эту матрицу. Рискну утверждать, что матрица достаточно универсальна.

Что делает backend-веб-разработчик? Как оценить уровень?

Мы выделили 6 направлений работы, областей знания бекенд-разработчика:

  • Знания PHP

  • Знания SQL

  • Работа с технологиями

  • Взаимодействия с сервером Unix

  • Работа с  1С-Битрикс

  • Front-end

У фронтенд-специалистов отдельная матрица компетенций, но мы оцениваем и прокачиваем каждого backend-разработчика по “смежным” для него направлениям – серверы и frontend.

Эти направления стали “колонками” матрицы.

матрица компетенций веб-разработчика

Уровни квалификации разработчиков

Мы выделили 4 уровня. Это вполне традиционные стажер, junior, middle и senior.

Чтобы попасть к нам на испытательный срок, нужно продемонстрировать 30%-50% стажерских компетенций (Битрикс мы проверяем только у тех, кто работал с платформой).

Для перехода между уровнями должно пройти минимум несколько месяцев. Часто  проходит 1-2 года.

Получение каждого уровня – довольно трудоемко, поэтому мы вводим промежуточные градации: 30% и 70% закрытия компетенций.

Итого каждый разработчик может быть отнесен к одному из 12 уровней (4 базовых и в каждом три степени достижения)

Прогресс и скорость роста

Прогресс после уровня junior желателен, но совсем не обязателен, многие разработчики останавливаются на уровне “70% junior”  или “30% middle”.

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

Сопоставимость уровней

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

Сравните. Вот, например, ожидаемые нами компетенции на уровне “Middle”

PHP

SQL

Технологии

Сервер

1С-Битрикс

Front-end

Применение паттернов (Singleton, ACL, Фабрика)

Настройка прав доступа

Работа с веб-сервисами (REST/SOAP)

Установка и настройка ПО в Unix

Работа с модулями интернет-магазин и торговый каталог

ООП в JS

Обработка ошибок и иcключений

Знание основных функций в операторах SQL

Типовая настройка 1С для выгрузки на сайт, знание всех типов файлов обмена, умение найти цену / наличие / значение свойства товара / SKU в файлах обмена. Импорт файлов через эмулятор.

Мониторинг использования ресурсов сервера

Авторизация через соц.сети

Работа с JS фреймворком кроме JQuery (d3)

Интерфейсы и абстрактные классы

Кэширование в MySQL

xDebug, xhprof

Скидки, наценки, типы цен

Работа с БЭМ

Применение пространства имен

Триггеры

Двухуровневая архитектура nginx + apache

Многосайтовость

BX (кастомизация классов, использованных в шаблонах компонентов магазина)

работа с модулями PHP (сURL, DOM, GD)

Проектирование структуры БД

mod_rewrite

Настройка многосайтовости в Битрикс веб-окружении

Кастомизация Админки

Front-end оптимизация

Написание тех.аудита

Хранимые процедуры

Настройка HTTPS с выпуском сертификата

Программирование на bash

Интеграция с 1С стандартная

Настройка электронной коммерции

Разработка UNIT-тестов

Модели (4 шт) хранения деревьев

Статья на сайте ИНТЕРВОЛГИ

Работа с Munin и Nagios

Композитный сайт

Написание своего плагина для jQuery

Разработка SELENIUM-тестов

Нормализация / Денормализация



Складской и количественный учет


Reflection API




Интеграция с сторонними сервисами / платформами или кастомная интеграция с 1С (иные типы файлов)


1.5 года работы в профессии






Также для присвоения уровня Middle мы требуем сдачи экзаменов 1С-Битрикс (в этом месте Ивану Малышину должно быть особенно приятно):

  • Сертификат разработчика: Базовый

  • Сертификат разработчика: Профессионал

Сдачу этих экзаменов мы оплачиваем.

О руководителях и техлидах

Как правило, руководитель отдела или группы программистов сам на хорошем уровне владеет технологиями. При этом в каждом отделе и проектной группе у нас есть “техлид” – самый компетентный и эрудированный разработчик. 

Почти все наши техлиды имеют уровень Senior.

Как проходит аттестация разработчика?

Аттестация занимает от 1.5 до 5 часов и проводится путем личной беседы с 1-2 более грамотными старшими коллегами. 

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

Сформировалась практика: на проверку одной “клеточки” уходит около 15 минут.

По статистике, около трети попыток подтвердить компетенцию бывают неуспешны.

При проверке экзотических технологий иногда для подтверждения даются “учебные задачи”. Например, xhprof мы применяем не очень часто, и аттестуемый разработчик получит такое “учебное” задание и выполнит его под наблюдением старшего.

Как применяется матрица компетенций?

Мы применяем матрицу при собеседованиях, аттестациях и определении уровня зарплат, при определении целей на полгода и год.

Вы можете распечатать матрицу на большом плакате и повесить на стенку :-)

Чтобы получить pdf-файл с полной матрицей, поделитесь статьей в социальных сетях и заполните форму внизу статьи.

Будем рады вашим рассказам о том, как вы аттестуете разработчиков. Почта stepan@intervolga.ru
Я «поделился» статьей, прошу прислать файл