10 способов стать лучшим программистом

Перевод статьи “10 Ways to Become a Better Developer”.

Команды разработчиков

1. Найдите и задействуйте “команду”

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

Если вы программист-фрилансер — найдите сообщество, которое может послужить заменой такой команды. Просто восхитительно, что в таких местах, как DEV (сайт dev.to — Прим. Перев.), можно найти людей, которые будут критиковать ваши идеи и ваш код так, будто лично заинтересованы в вашем успехе. Не принимайте этих людей и их комментарии как должное: найдите возможность поблагодарить их!

Если вы уже часть команды, усердно играйте в ней свою роль. На сайте Software Engineering Stack Exchange имеется 14 827 вопросов, касающихся командной работы. Если бы команды не были так важны для инноваций, качества и прогресса, люди бы не заморачивались с ними!

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

2. Научитесь правильно говорить «нет»

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

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

Вот несколько практических советов для обсуждения таких неудобных ситуаций:

  1. Предлагайте рекомендации и альтернативы, выражаясь точно и уверенно.
  2. Как только вторая сторона уступит, продолжите говорить четким и понятным языком, подтверждая ваше обоюдное решение. Таким образом вы сможете продвинуться вперед решительно и уверенно, без необходимости волноваться о «Эй, я думал, мы собирались делать [XYZ]!». Не оставляйте места для недопониманий.
  3. Определяйте совместно ваши общие цели.
  4. Говорите о том, «как» достичь этих общих целей и прийти к соглашению.
  5. Вы в одной команде. Показывайте ваш вклад в успех проекта, всегда проявляя рациональность и поддерживая другую сторону даже если они не изменят своего мнения.

Вот несколько полезных фраз, способных разоружить человека, с которым вы разговариваете, и открыть дорогу для продуктивного общения:

  1. «Звучит так, будто вы считаете…»
  2. «Возможно, я ошибаюсь…»
  3. «Вероятно, я здесь заблуждаюсь…»
  4. «Не возражаете, если я поделюсь своим видением?»

Ревью кода

3. Ревью вашего кода

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

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

4. Ревью чужого кода

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

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

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

5. Пишите код доступно

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

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

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

6. Программируйте для будущего

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

Если есть структурное изменение, которое вы можете сделать сегодня и сэкономить часы труда в будущем – внесите его.

7. Не будьте наивны, безопасность имеет значение

Identity Theft Resource Center сообщает о 1120 общих нарушениях безопасности и больше чем 171 млн. незащищенных записях в США в 2017 году.

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

Безопасность важна

8. Используйте стандарты программирования

Если у вас или вашей команды нет стандартов написания кода, то их нужно создать (лучше всего — совместно). Создайте их, даже если вы программист-фрилансер. А когда у вас есть стандарты, на первый план выходит необходимость их придерживаться.

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

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

9. В конце концов, код должен работать

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

Что случится, когда пользователь введет неожиданное число, на которое ваш код не рассчитан? Приложение сможет восстановиться? Или это приведет к сбою во всей сети?

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

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

10. Программируйте для удовольствия

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

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


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх