Профессия SDE (software development engineer)
Вчера я говорил про профсообщества и профессии, поэтому сегодня решил продолжить эту тему и поговорить про SDE. Эта тема интересна, так как основной состав tech компаний составляют именно инженеры разработчики, но часто в больших компаниях у них особо не единства:
- Они делятся по условным направлениям бекенд, фронтенд, мобайл, ...
- Внутри этих направлений есть свои деления по языкам (c++, go, java, .net, ...), платформам (iOS, Android, кросс-платформа), фреймворкам (Angular, React, Vue) и так далее
Понятно почему так происходит:
- Это завязано на найм - и нанимающему менеджеру проще сказать ищи джависта и рекрутингу проще их искать
- Это завязано на собеседования - что мы спрашиваем у условного джависта по его языку
- Это бывает завязано на матрицы компетенций - что мы ожидаем от джависта в рамках его инструментария
- Это бывает завязано на стандарты профессии, общий тулинг и так далее - удобно когда все джависты в компании на одной волне (например, у нас есть фреймворк kora для джава приложений в Tinkoff)
Но иногда такое дробление мешает и требуется наоборот большая унификация
- В случае общего видения матрицы для SDE, где нет специфики стека, но есть общие моменты вида -- Scope - какая область влияния у инженера -- Impact (Delivery) - какой вклад у инженера в продукт/проект -- Complexity - какой технической сложности задачи решил инженер -- Leadership - какие лидерские свойства демонстрировал инженер и насколько успешно коммуницировал с другими сотрудниками -- Improvement - какие улучшения инженер внедрил в процессы или как помог вырасти своим коллегам и себе
Как видно, в такой матрице многое сфокусировано на значимых достижениях инженера, который их систематически демонстрирует. И если он движется по грейдам, то у него все меньше привязки к стеку, а все больше отсылок к хорошим инженерным процессам и демонстрации technical leadership. И если рассматривать условную классификацию, то
- Middle разработчик может быть описан как SDE -> backend -> java (уровень Middle)
- А вот Staff инженер уже должен описываться скорее как SDE (уровень Staff).
Интересно, что у тех же Staff инженеров есть свои архетипы, но они прибиты не к стеку, а скорее к исполняемой им роли (подробнее можно прочитать в статье)
#Management #Leadership #Staff #Engineering #Software #SoftwareDevelopment