5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание
Начало
3. Эмпатия в коде (написание «скучных» решений)
«Хитроумный» код — враг удобного в сопровождении кода. Если вы тратите пять минут на написание кода в одну строку, а вашему коллеге требуется час, чтобы его расшифровать, — значит, вы не справились с ролью старшего инженера.
Пример
Вам нужно отфильтровать список пользователей, преобразовать их данные и суммировать общую стоимость их покупок. Вы используете цепочку вызовов LINQ-функции, перегруженную вложенными тернарными операторами, — просто потому, что это выглядит эффектно и умещается всего в две строки.
Почему это важно
Опытные разработчики пишут код с расчётом на того, кто будет его поддерживать — часто это они сами, но спустя полгода, в два часа ночи, когда система вышла из строя. Код читают в десять раз чаще, чем пишут.
Как применять
Отдавайте приоритет читаемости, а не краткости. Используйте понятные имена переменных; если логика становится сложной, предпочитайте стандартные циклы запутанным функциям высшего порядка; пишите комментарии, объясняющие *почему* было принято то или иное решение, а не *что именно* делает код.
4. Мастерское владение инструментами мониторинга и отладки
Мидл-разработчик может исправить ошибку, имея на руках стек-трейс. Сеньор способен исправить ошибку, даже если единственная информация — это жалоба клиента в Twitter о том, что «сайт сломался».
Пример
Система выходит из строя. Мидл-разработчик лихорадочно кликает по элементам приложения, пытаясь воспроизвести ошибку локально. Сеньор открывает дашборд, проверяет метрики задержек, фильтрует структурированные логи по конкретному
trace_id, находит проблемный SQL-запрос и выпускает исправление за 10 минут.Почему это важно
Нужно понимать, как правильно инструментировать приложение, чтобы в случае сбоя (а он неизбежен) система точно указывала, где именно возникла проблема.
Как применять
Изучите три столпа наблюдаемости: логи, метрики и трассировки. Перестаньте использовать простые строковые логи и перейдите на структурированное JSON-логирование с передачей контекста (ID пользователей, ID запросов). Научитесь пользоваться инструментами мониторинга вашего облачного провайдера.
5. Роль «мультипликатора эффективности»
Это ключевая характеристика сеньор-инженера. Эффективность мидла оценивается по его личному вкладу. Эффективность сеньора – по результатам работы всей команды.
Пример
В команде есть блестящий «10x-инженер», который работает изолированно, не делится знаниями и постоянно переписывает пул-реквесты джунов, не объясняя причин. Он выдает огромные объёмы кода, но общая скорость работы команды не растёт. Настоящий сеньор тратит 30% своего времени на то, чтобы помогать коллегам преодолевать препятствия в работе. Он пишет качественную документацию, проводит короткие сессии парного программирования и оставляет конструктивные, обучающие комментарии к пул-реквестам.
Почему это важно
Если вы — единственный человек, понимающий, как работает конвейер развёртывания, вы не старший инженер, а «единая точка отказа». Компании повышают тех, кто помогает окружающим становиться лучше.
Как применять
В следующий раз, когда джун задаст вопрос, не просто давайте готовый ответ и не исправляйте ошибку за него. Укажите на нужный файл, покажите, как пользоваться отладчиком, и направьте коллегу к решению. Документируйте сложные или неочевидные участки кодовой базы. Оставляйте код в лучшем состоянии, чем он был до вас.
Итого
Стать сеньором — это не результат мгновенного решения HR-отдела в день трёхлетия вашей работы в компании. Это фундаментальная смена мышления.
Вы переходите от вопроса «Как мне это реализовать?» к вопросам: «Стоит ли это вообще делать? Как система может выйти из строя? Кто будет её поддерживать?». Развивайте системное мышление, пишите читаемый код, взаимодействуйте с продуктовыми командами и помогайте расти окружающим вас разработчикам. Должность станет естественным следствием такого подхода.
Источник: https://medium.com/skillstuff/5-skills-that-will-make-you-a-senior-developer-faster-f4d5dfdf68f2