В предыдущих статьях, мы рассмотрели взгляд на грейды в целом и на хард скиллы в общем.
Пришло время посмотреть реальные примеры грейдов хард-скиллов программистов.
В этой статье «под прицелом» фулл-стек разработчик со стеком технологий:
- Бэкенд: PHP, Laravel, Codeigniter (язык программирования и фреймворки на нем: новый, современный и старый, легаси), MySQL
- Фронтенд: JS, React (основная библиотека), Vue.js (так же используется)
А теперь — подробнее и с различением по уровням
- Джуниор.
Комментарии: принимаем на этот уровень новичков без значимого опыта. На этот уровень не подымаются по системе грейдов.
- Джуниор+
Необходима сильная экспертиза в следующих технологиях и инструментах: HTML / CSS / Sass / JS / Jquery / Bootstrap / Git
Комментарии: по сути, это основы. С чего начинают разработчики вебсайтов. Ну а систему контроля версий, тоже, нужно знать как можно раньше
- Джуниор++
- Разбирается в основном проекте
- Сильная экспертиза в следующих технологиях и инструментах: PHP / Composer / PhpShtorm / MVC / Codeigniter / REST API
Комментарии: чтобы подняться на этот уровень, начинаем углубляться в бэкенд. Основной пакетный менеджер, среда разработки, более легкий фреймворк, его архитектура
- Мидл
- Разбирается в основном проекте на уровне, что может пояснять бизнес процессы коллегам
- Принимать архитектурные решения. Связка 2 и больше таблиц для решения поставленных требований
- Помощь менеджерам в формировании более полных требований с технической точки зрения
- Сильная экспертиза в следующих технологиях и инструментах: mySQL, postgresql, Laravel and Codeigniter ORM
Комментарии: Мидл разработчик подразумевает более высокие компетенции, чем Джуниор. Он может принимать решения. Например, разрабатывать архитектуру небольших приложений или «фичи». Так же, он более самостоятелен в работе и, постепенно, становится экспертом в своей области. Владеет более сложными технологиями. Так как на этом грейде, речь была про архитектуру, добавляем хорошее знание баз данных.
- Мидл+
- Приличная экспертиза в одном из проектов из экосистемы (наряду с основным проектом), уверенное выполнение задач
- Сильная экспертиза в следующих технологиях и инструментах:
- React (фронт основного проекта), npm, WordPress (например),
- VueJS (фронт второго проекта)
- Придерживается принципам программирования: YAGNI (You Ain’t Gonna Need It)
Комментарии: так как фул-стек программист должен знать и фронт-енд, то глубже погружается в него. Там же пакетый менеджер, без которого, серьезные вещи значительно сложнее реализовать. Экспертиза мидлов не ограничивается кодированием, т.е. активно применяет общепринятые принципы программирования и чистого кода
- Мидл++
- Разбираться в бизнес-процессах одного из экосистемных продуктов на уровне чтобы передать знания
- Сильная экспертиза в следующих технологиях и инструментах: Laravel (сервисы, обработчики очередей, консольные команды, мидлвары, реквесты и валидация)
- Знакомство и способность редактировать: Jenkins(сборка проектов), Gulp / Webpack для сборки и автоматизации сборок
- Придерживается принципам программирования: KISS (Keep It Simple, Stupid)
Комментарии: Более сложные технологии бэкенда, которые увеличивают гибкость реализации задач. Вопросы хорошего кода, безопасного и понятного кода, который легко поддерживать. Так же подымаются вопросы сборок, релизов, CI/CD
- Сеньор
- Не менее 5 лет работы в програмировании (включая предыдущий опыт)
- Сильная экспертиза в следующих технологиях и инструментах: Linux server console / Nginx config / Docker (для создания локальных сред)
- Написан новый крупный компонет (соизмеримый с проектом из микросервисной архитектуры) или проект, или сделан рефакторинг крупного компонента
- Наставничество: ученик был повышен с Джуна+ или Джуна++ до Мидла
- Придерживается принципам программирования: DRY (Don’t Repeat Yourself)
Комментарии: преодолеваем новый рубеж (сеньор), усиливаются требования, увеличивается отдача от программиста. В теории, и за год можно изучить все предыдущие технологии и даже чуть попробовать их на практике, но без опыта, без большого количества рассмотренных задач, кандидат не сможет заслуженно называться сеньором (5 лет опыта в сфере). Так же данный грейд подразумевает наставничество. Кроме опыта самого разработчика, наставничество приносит большую пользу компании
- Сеньор+
- Сильная экспертиза в следующих технологиях и инструментах: Node.js, Создание Npm пакетов
- Создан полезный для проекта npm-пакет, который используется в этом проекте
- Написана статья об этом компоненте или того же уровня в общедоступном айти ресурсе с большой аудиторией (habr или чтото подобное) от корпоративного аккаунта, на этом грейде или ранее
- Занимается релизами в проекте над которым работают 2+ человек
- Наставник 2+ человек, делает код ревью их кода
- Придерживается принципам программирования: SOLID
Комментарии: добавляем не совсем профильные, но очень перспективные технологии, которые должны двинуть разработку за новые горизонты. Еще больше наставничества. Социальная активность от имени компании. Все в выигрыше.
- Сеньор++
- Сильная экспертиза в следующих технологиях и инструментах: создание Composer-пакетов
- Написан необходимый Composer-пакет для одного из наших модулей (или блока, который необходимо выделить в модуль). Подключение в нашем проекте
- Написана статья об этом компоненте или того же уровня в общедоступном айти ресурсе с большой аудиторией (habr или чтото подобное) от корпоративного аккаунта, на этом грейде или ранее
- Наставничество: ученик был повышен с Мидла до Мидла++
- Выступление на айти конференции от лица компании по актуальной теме, на этом грейде или ранее
Комментарии: еще больше взаимной пользы. И программисту и компании. Оптимизация кода. Уровень качества кода на профессиональном уровне.