Разработка

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

Проясняйте требования

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

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

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

• отыскать похожую задачу в таск-менеджере, посмотреть на ее обсуждение, решение и замечания;
конструктивно обратитесь за помощью к отвечающему за формализацию задач (лидер команды, менеджер, аналитик).

Реализация задач

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

• Проведите анализ существующих реализаций в проекте или в сети, освежите в памяти принципы и паттерны проектирования.
• Не тратьте больше 20 минут на решение типичных или слишком сложных проблем, это не эффективно. Скорее всего, если вы не нашли правильный подход быстро, решение не очевидно.
• Просите помощи у коллег, включая лид-разработчиков.
• Решайте задачу в рамках подзадач шаг за шагом, не перепрыгивайте — «сложное сделаю потом». Вполне может оказаться, что правильных решений нет, а существующие не подходят и задачу надо пересмотреть.
• Решайте задачу начиная с фундаментальных вещей, убедитесь, что концептуальные участки работают. Может оказаться, что по отдельности ваш функционал жизнеспособен, а соединить его между собой потребует «костылей» или другого комплексного подхода, что займет лишнее время.

Однотипные изменения

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