Нетехнические вещи, которые делают хороших разработчиков

Я некоторое время откладывал написание этой статьи - я никогда не чувствовал себя достаточно квалифицированным, чтобы написать ее.

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

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

Профессионализм

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

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

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

Когда дело доходит до кода, следует учитывать несколько моментов. Тем не менее, я остановлюсь на основах. Как правило, написание кода, который читается и имеет встроенные комментарии, обычно помогает, потому что я думаю, что хороший разработчик может думать о будущем. Что я имею в виду? Хороший разработчик думает о том, как он / она хочет, чтобы их код служил им в будущем. Смогут ли они прочитать и понять его через пару месяцев или год? Смогут ли они прочитать его и сделать макет, если потребуется, и реорганизовать его? Большинство, если не все, разработчики ненавидят оглядываться на старый код или даже смотреть на код других людей. Вы должны убедиться, что ваш код можно использовать повторно, а также иметь осмысленный синтаксис.

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

Обязанность

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

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



Написание« чистого кода - это миф
Почему код никогда не бывает так хорошо организован, как вы ожидали medium.com»



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

Возможность совершенствоваться

Это может принимать разные формы, учитывая, что от вас требуется совершенствоваться в разных аспектах. Можно заниматься самосовершенствованием. Это может означать, что вы убедитесь, что понимаете свой стек технологий и то, как он меняется каждый год, будь то PHP или JavaScript и т. Д. Вы должны понимать, что эти технологии никогда не остаются прежними, и что в конкретную технологию добавлены новые функции, например в виде стрелочных функций или разложения в случае JavaScript. Если вы не улучшите его, вы можете взглянуть на код в следующие год или два и даже не понять его. Самосовершенствование также может означать, что вы проверяете новые библиотеки. Когда, например, появился SASS, он сделал написание CSS почти в два раза быстрее, если не больше. Те люди, которые не опередили эту кривую, будут стоить намного больше денег, работая над проектом.

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

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