Новая работа, новая роль, вещи, которые я считаю важным понимать

6 месяцев назад я закончил 5 лет работы инженером-программистом. Я написал свои выводы из этой статьи, которые стали вирусными и были представлены в нескольких электронных книгах. Примерно в то же время я начал свою новую работу старшим инженером. Роль с четким описанием работы, которая влечет за собой не только кодирование, но также включает в себя принятие множества решений, общение и необходимость учитывать бизнес-требования. Теоретически это звучит просто. Но когда вы начинаете сначала, как и в любой другой роли, это может быть хаотично.

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

Ориентация на лучший результат, а не на лучшее решение

Мне нравится это различие между решениями и результатами. Слишком часто люди упускают из виду разницу между ними. В таких случаях они путают свою приверженность конкретному решению с результатом. Конечно, нет. Решение - это средство достижения результата, а не сам результат.

И дело в том, что обычно существует несколько решений, которые приведут вас и вашу команду к желаемому результату. На самом деле это то же самое, что сосредотачиваться больше на результатах, чем на решениях. С годами я меньше сосредотачивался на результатах (что) и больше на решениях (как). Это определенно привело к хорошим решениям, но не к лучшим результатам.

И это в целом привело к меньшему влиянию. Как старший инженер, вы всегда должны смотреть на картину в целом. Представление новой функции всегда должно включать вопросы о влиянии на бизнес, сроках, приоритетах и ​​т. Д. Это поможет вам сосредоточиться на вещах, которые действительно необходимы. И поверьте мне, у вас будет много дел, и отказ от некоторых требований поможет вам достичь большего.

Держите глаза и уши открытыми для нетехнических вещей

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

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

Всегда сосредотачивайтесь на Почему, прежде чем углубляться в Как.

Старшие разработчики не тратят свое время на вещи, которые не имеют большого значения для того, что ведет к созданию новой функции. Они постоянно задают себе вопрос: окажет ли то, над чем я работаю, влияние на пользователя и, в конечном итоге, на бизнес? А если возникнет конфликт, они без колебаний откажутся от него. И сказать нет действительно важно. Я объяснил больше о нездоровом образе мышления, которого вам, как разработчику, следует избегать.

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

Эффективная коммуникация

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

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

Вы должны быть открыты для изменений, осознание того факта, что большинство членов команды менее осведомлены, также следует учитывать.

Это поможет вам эффективно предлагать новые решения не только внутри команды, но также с менеджерами по продуктам и клиентами. Умение понимать проблемы жизненно важно для этой роли.

Принятие решений только на основе серьезных исследований

Старший разработчик - это тот, кто тщательно думает о том, что делает. Это очень важно, потому что вы, как старший, будете вести много дискуссий. Без глубокого понимания того, о чем вы собираетесь говорить, ничего не выйдет.

Ждать? Разве это не то, что должен делать каждый разработчик?

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

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

Понимание проблем и их документирование

Новичок в команде дает вам возможность иметь более широкую картину происходящего. Обязательно делайте заметки о вещах, которых может не хватать при адаптации и уже документировании, можно улучшить. Это может включать запуск и тестирование сервисов локально, получение доступа к используемым платформам. Как управляются секреты и как получить доступ к промежуточной и производственной средам?

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

Вам придется написать много документов вокруг предложений по новым функциям, архитектурным решениям и изменениям, которые вы вносите.

Вы можете найти меня в LinkedIn, Twitter и Instagram.

Другие интересные статьи