Опыт 9 лет разработки или как я понял, что не бывает идеальных проектов
Senior backend-разработчик поделился советами для начинающих и опытных IT-специалистов.
650 открытий1К показов
Создание проектов — это сложный процесс, который требует массы усилий и времени разработчика и его команды. И даже если выкладываться на полную, в процессах не всё может быть устроено так, как хочется. Особенно, когда вы занимаетесь поддержкой уже существующего проекта. Но и при развитии с нуля что-то может пойти не так.
Мы пообщались с нашим senior backend-разработчиком Антоном, который работает в сфере уже девять лет, и попросили его поделиться советами для начинающих и опытных специалистов. Антон ещё раз напомнил о важном: в любом проекте есть и плюсы, и минусы.
Поделимся ценными рекомендациями с вами.
Всестороннее улучшение проекта — это часть нашей работы
Разработчик должен уметь:
- Дорабатывать документацию;
- Настраивать окружение;
- Искать необходимую информацию;
- Договариваться и корректно ставить запрос;
- Использовать все доступные рычаги давления для получения корректно работающих ландшафтов / площадок для разработки и тестирования;
- Проводить исследование / переработку / рефакторинг legacy;
- Подстраиваться под стиль проекта;
- Налаживать график и работу команды.
Чтобы перечисленные процессы окончательно не превратились в рутину, нужно хорошо понимать, что все эти задачи — только ваши. И откладывать их нельзя: приступать нужно сразу.
Важно учиться выделять время на улучшение проекта
В начале работы над проектом нередко кажется, что всё в нём устроено неправильно, и проще переписать с нуля, чем разбираться в чужом коде. Частично и постепенно удовлетворить это желание можно, даже если перед вами не ставится подобная задача.
Чтобы это стало возможно, важно грамотно подходить к планированию, реализации и оценке текущих дел. И обязательно глубоко изучить внутреннее устройство проекта.
Нужно научиться объяснять заказчику целесообразность собственных идей и доносить их плюсы. А ещё ― не забывать закладывать в оценку работу по рефакторингу и улучшению кодовой базы.
Главное – соблюдать баланс
Развитие проекта — это ответственность разработчика. Но зачастую в реальности не получается трудиться только над улучшениями. Нужно реализовывать новые задачи бизнеса, заниматься техподдержкой и прочими более приоритетными делами. Поэтому крайне важно соблюдать баланс, «есть слона по кусочкам».
Когда вы хорошо узнали проект и подробно изучили продуктовую задачу, у вас, скорее всего, получится объяснить коллегам, зачем проводить рефакторинг части кода, который связан с вашими текущими целями.
Нужно уважать проект, на котором работаешь
Только уважая проект, можно стабильно работать на нем долгое время.
Успех любого дела во многом зависит от отношения к нему. Уважение к продукту и заинтересованность в нём помогают продержаться долгое время без выгорания. В противном случае возникает риск сорвать работу и разорвать контакты с командой.
Относиться к проекту с уважением — это значит думать о способах его улучшения при решении каждой задачи, переживать за функционирование критически важных узлов, делать логику понятной и прозрачной. А это значит покрывать его документацией, автотестами и всевозможными метриками.
Улучшайте проект с умом
Даже когда вы занимаетесь поддержкой проекта, можно получить удовольствие от его усовершенствования и развития. Если у вас возникла хорошая идея по апгрейду, устройте встречу с коллегами, которые уже давно работают на проекте, с тех- и тимлидами, а также, по возможности, с представителями бизнеса, которые знают внутреннее устройство и логику сервиса. На встрече постарайтесь объяснить, что именно требует доработки, какие поправки вы предлагаете и какую выгоду они могут принести.
Уверен, если вы донесете профит своей идеи, вам пойдут навстречу.
Лояльность руководителей и рабочие отношения в команде дороже всего
Совет: постройте доверительные рабочие отношения с коллегами.
Для эффективной, спокойной и долгосрочной работы требуются не только профессиональные качества, интерес, правильный настрой и мотивация, но и лояльность руководителя и хорошие взаимоотношения с командой. Помогайте коллегам разбираться с непонятными моментами, уделяйте должное внимание всем вопросам и потребностям.
Совет: репутация в команде вам поможет.
Проявляя активность на проекте, вы заработаете себе хорошую репутацию внутри команды. При необходимости вы всегда сможете этим воспользоваться. Например, взять отгул или отойти куда-то в будние. Главное — не делать ничего в ущерб себе и своей работе.
Как мотивировать себя и уберечься от выгорания
Устать от работы – это нормально!
В рабочем процессе случаются периоды, когда перестаёшь получать удовольствие, становится скучно. Тогда кажется, что все задачи однообразны, проект уже вдоль и поперёк изучен и просто затянулся. В большинстве случаев это совсем не означает, что пора менять команду или место работы.
Как перезагрузиться — индивидуальный вопрос. За время работы в Hawking Bros я несколько раз чувствовал, что нахожусь на грани выгорания, что еще немного, и будет очень сложно находить мотивацию для максимальной отдачи делу и саморазвитию.
Думаю, что для выхода из подобных ситуаций каждый должен найти свой рецепт. Мне помогает сократить время работы до минимума. Но этот минимум тоже нужно тонко чувствовать и в любой ситуации выполнять обязанности качественно, оставаясь профессионалом. Мне хватает побыть в таком состоянии определенный период, чтобы восстановить эмоциональные силы и снова почувствовать рвение к развитию проекта.
Наверняка кто-то из вас интересуется или занимается спортом. В циклических видах спорта, плавании, беге, лыжных гонках и прочих существует красная черта или предел терпения. Если перейти их, можно надолго залезть в большой долг у организма. Однако есть спортсмены, которые хорошо распознают эту красную зону и не пересекают её. Такие люди умеют восстанавливаться прямо на соревнованиях, оставаясь в гонке.
Совет: найдите хобби.
Многим для разгрузки не хватает одной лишь минимизации рабочего времени, поэтому попробуйте найти хобби, которое в ваши личные часы сможет отвлечь от рабочей рутины. Переключайте внимание на творческий или иной процесс. Самое главное — давать мозгу перезагрузку и чувствовать, когда силы подходят к концу.
Как понять, в какую сторону развиваться
Совет: не бойтесь пробовать и экспериментировать.
Очевидно, что только попробовав и испытав новую технологию на собственном опыте, можно понять, хочется ли заняться ей всерьёз и надолго или нет.
Не бойтесь экспериментировать и применять новые знания и подходы, тестируйте их эффективность и исследуйте свой интерес.
Но и кидаться на каждую новую «игрушку» тоже нехорошо. Здесь, как и везде, важен баланс.
Как выбрать направление?
Первоначально лучше изучать не стеки, а проектирование архитектуры высоконагруженных проектов с сильной бизнес-логикой. Сейчас я понимаю, что мне этого недостаёт.
Определитесь с тем, любите ли вы делать продукт с нуля или развивать и поддерживать существующее. Просматривайте репозитории на GitHub и всегда следите за своими внутренними предпочтениями, не игнорируйте их. Тогда и получится найти то направление, которое будет вас увлекать.
Вывод
Оставайтесь честными сами с собой и учитесь прислушиваться к своему настрою. Придерживайтесь моих рекомендаций, и вам удастся найти любимую область деятельности, выстроить комфортную и интересную работу и избежать выгорания в сложные периоды.
650 открытий1К показов