[ГРЕЙДЫ И ИХ КРИТЕРИИ ЧАСТЬ 3]
Senior
Senior – он, как ниндзя. Ты можешь кричать: «Эй, чувак, твой код гуано…» А он тебе уже на спину плюнул.
Senior Android наследуют все требования и обязанности middle
Экспертный уровень и ответственность
- Обладает высоким уровнем понимания того, что происходит в проекте, в т.ч. в смежных командах. Фактически может взять и сделать любую задачу из бэклога, любой сложности.
- Совместно с командой реализует проекты в максимально короткие сроки, заботится об уменьшении сроков разработки.
- Имеет высокий технический кругозор, позволяющий принимать надежные и оптимальные архитектурные решения.
- Обладает хорошим опытом и экспертизой в публикации приложений, библиотек.
- Умеет быстро проводить ресерч технологий, технических вопросов и проблем.
- Всегда уделяет большое внимание финальному качеству продукта, производительности и стабильности, овнит доверенные ему в разработку фичи. Берет ответственность не только за себя, но и за работу коллег, в рамках своей задачи или проекта.
- Уделяет должное внимание документации проекта, актуализирует ее, участвует в разработке стандартов качества кода, описывает сложные и/или малоочевидные детали запуска, настройки и конфигурации проекта.
- Регулярно проводит и принимает участие в технических собеседованиях. Дает развернутую обратную связь по кандидатам.
Инженерная культура
- Проактивно ищет неэффективные места в коде/архитектуре/тестовых моделях. Пополняет технический бэклог команды и доносит до владельца бэклога ценность технических изменений.
- Системно контролирует количество технического долга. Может его оценить.
- В рамках code review и в процессе выполнения своих задач выявляет небезопасные подходы и/или уязвимости, а также не оптимальные решения. Дает развернутое описание проблемы.
- Добавляя какой-либо новый функционал в проект, всегда учитывает возможность его масштабирования не только в рамках своего функционала, но и относительно смежных команд. Если на разработку оптимального решения, которое принесет много пользы в будущем, требуется больше времени, то согласовывает это с овнером задачи/фичи, аргументируя плюсы и минусы такого решения.
- Разрабатывает сложные решения, которые могут выходить за рамки одного спринта, как правило требующие интеграций сторонних сервисов, взаимодействие с командами 3rd party сервисов, или же создание и разработка нового проекта в рамках компании.
- Регулярно обновляет и дополняет документацию проекта.
Коммуникация
- Должен быть максимально объективным с точки зрения принимаемых решений, не ориентироваться только на свою точку зрения, а сравнивать все доводы, плюсы и минусы.
- Во время обсуждений стимулирует высказывание различных точек зрения и использует их при формировании окончательного решения.
- Дает конструктивный фидбэк коллегам.
Самообучение и наставничество
- Наставничество Junior и Middle разработчиков.
- Онбордит новичков.
- Старается системно улучшить процессы в команде, взаимодействие и быструю обучаемость новичков.
- Выступает на внешних конференциях, пишет статьи в профильные блоги, публикует open source проекты, преподает в различных образовательных учреждениях или ведет курс по разработке приложений.