Опыт 9 лет разработки или как я понял, что не бывает идеальных проектов

Senior backend-разработчик поделился советами для начинающих и опытных IT-специалистов.

650 открытий1К показов

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

Мы пообщались с нашим senior backend-разработчиком Антоном, который работает в сфере уже девять лет, и попросили его поделиться советами для начинающих и опытных специалистов. Антон ещё раз напомнил о важном: в любом проекте есть и плюсы, и минусы. 

Поделимся ценными рекомендациями с вами.

Всестороннее улучшение проекта — это часть нашей работы

Разработчик должен уметь: 

  • Дорабатывать документацию;
  • Настраивать окружение;
  • Искать необходимую информацию;
  • Договариваться и корректно ставить запрос;
  • Использовать все доступные рычаги давления для получения корректно работающих ландшафтов / площадок для разработки и тестирования;
  • Проводить исследование / переработку / рефакторинг legacy;
  • Подстраиваться под стиль проекта;
  • Налаживать график и работу команды. 

Чтобы перечисленные процессы окончательно не превратились в рутину, нужно хорошо понимать, что все эти задачи — только ваши. И откладывать их нельзя: приступать нужно сразу.

Важно учиться выделять время на улучшение проекта

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

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

Нужно научиться объяснять заказчику целесообразность собственных идей и доносить их плюсы. А ещё ― не забывать закладывать в оценку работу по рефакторингу и улучшению кодовой базы.

Главное – соблюдать баланс

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

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

Нужно уважать проект, на котором работаешь

Только уважая проект, можно стабильно работать на нем долгое время.

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

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

Улучшайте проект с умом

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

Уверен, если вы донесете профит своей идеи, вам пойдут навстречу. 

Лояльность руководителей и рабочие отношения в команде дороже всего

Совет: постройте доверительные рабочие отношения с коллегами.

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

Совет: репутация в команде вам поможет.

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

Как мотивировать себя и уберечься от выгорания

Устать от работы – это нормально!

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

Как перезагрузиться — индивидуальный вопрос. За время работы в Hawking Bros я несколько раз чувствовал, что нахожусь на грани выгорания, что еще немного, и будет очень сложно находить мотивацию для максимальной отдачи делу и саморазвитию.

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

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

Совет: найдите хобби.

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

Как понять, в какую сторону развиваться

Совет: не бойтесь пробовать и экспериментировать.

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

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

Но и кидаться на каждую новую «игрушку» тоже нехорошо. Здесь, как и везде, важен баланс.

Как выбрать направление?

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

Определитесь с тем, любите ли вы делать продукт с нуля или развивать и поддерживать существующее. Просматривайте репозитории на GitHub и всегда следите за своими внутренними предпочтениями, не игнорируйте их. Тогда и получится найти то направление, которое будет вас увлекать.

Вывод

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

Следите за новыми постами
Следите за новыми постами по любимым темам
650 открытий1К показов