Самые маленькие действия имеют большое значение.

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

В обмен на свои усилия они получают продвижение по службе/повышение, самые интересные задачи и имеют больший контроль над своей карьерой. У них и веселее!

Вот набор маленьких привычек, которые выделяют великих инженеров.

1. Своевременно проверяйте код

Проверка кода является узким местом для многих инженерных команд.

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

Они своевременно проверяют код, чтобы их товарищи по команде могли двигаться вперед.

2. Удалите блокираторы для товарищей по команде

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

Если что-то блокирует товарища по команде, и вы знаете, как это исправить, то это приоритет. Отличные инженеры уделяют первостепенное внимание разблокированию товарищей по команде — будь то знания, код или офисная политика.

3. Пишите тесты рано и часто

Тесты — это волшебство. Они уберегут вас от повторения тех же ошибок.

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

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

4. Автоматизируйте инструменты разработки

Инструменты разработчика — это абсолютный мультипликатор.

Один человек пишет инструмент для ускорения процесса. Вся команда выигрывает.

Великие инженеры знают это об инструментах. Они постоянно ищут способы ускорить или автоматизировать обычные процессы. Стремление к автоматизации в первую очередь ускоряет их собственные рабочие процессы. Но вскоре другие члены команды также перенимают эти инструменты, и вся организация работает быстрее.

5. Документация на всех уровнях

Отличные инженеры добавляют документацию на всех уровнях:

  1. Они выбирают отличные имена переменных и функций, которые хорошо описывают концепции и соответствуют дизайну, ориентированному на предметную область.
  2. Классы и функции получают хорошую документацию верхнего уровня о проблемах, которые они решают, и о том, почему они реализованы именно таким образом.
  3. Файлы README в базе кода постоянно обновляются с учетом последних изменений.
  4. Внутренняя документация (Confluence, Google Docs, Notion и т. д.) регулярно пересматривается и обновляется. Когда в коде появляется новая большая концепция, инженер создает новую страницу во внутренних документах.
  5. Изменения кода, влияющие на внешнюю документацию (службу поддержки, документы API и т. д.), помечаются, уточняются и даже замещаются черновиком.

6. Добавьте технический долг в бэклог

Существует три подхода к техническому долгу:

  1. Игнорируй это
  2. Займитесь этим прямо сейчас
  3. Оцените его, напишите тикет и добавьте его в список невыполненных работ для определения приоритетов.

Великие инженеры знают разницу между этими вариантами и знают, когда их выбрать.

Да все верно. Иногда вы просто игнорируете технический долг, который не приносит вреда в данный момент. Оптимизация того, что не сломано, — пустая трата времени.

Если это небольшой подъем или вы видите четкий ответ, то решить его в текущем PR можно. Не нужно проходить через большой процесс, чтобы сделать небольшое исправление.

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

7. Обратите внимание на автоматизацию для других команд

Помните инструменты разработчика ранее?

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

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

8. Пишите регулярно

Я заметил, что все великие инженеры пишут в той или иной форме.

Некоторые просто ведут личные заметки. Им нравится вести журнал кода или использовать приложение для создания заметок, чтобы помнить важные элементы.

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

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

9. Задавайте много вопросов

Лучшие инженеры любопытны.

Они задают много вопросов. Не только вопросы о коде. Они также спрашивают о жизни и опыте своих коллег. Им интересны люди, проблемы и то, как мы их решаем.

Великие инженеры также не задают элементарных вопросов. Они читают документацию, выполняют домашнее задание по теме, а затем задают конкретные вопросы о том, «почему».

10. Пара часто

Обмен знаниями, наставничество и обучение у других имеют решающее значение.

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

Не раздражает, когда вас просят соединиться. Это захватывающе и интересно.

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

Дополнительные ресурсы

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

Хотите продвинуться по карьерной лестнице? Я предлагаю бесплатное 7-дневное наставничество по электронной почте.

Join Medium for $5 - Access all of Medium + support me & others