Главная Технология Как отличить хорошего программиста от великого

Как отличить хорошего программиста от великого

Ваш гороскоп на завтра

Если бы написание кода было наукой, все разработчики были бы примерно одинаковы.

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

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

В Сообщение блога Стив МакКоннелл (цитируемый как эксперт в области разработки программного обеспечения) пишет, что первоначальное исследование, обнаружившее огромные различия в производительности индивидуального программирования, было проведено в конце 1960-х годов Сакманом, Эриксоном и Грантом. Они обнаружили, что соотношение начального времени кодирования между лучшими и худшими программистами было примерно 20: 1. Они не обнаружили взаимосвязи между объемом опыта программиста и качеством или производительностью кода.

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

какой рост у джерри о коннелла

В Arkenea мы имеем более чем пятилетний опыт найма разработчиков, и отличить хорошего программиста от хорошего так же сложно, как и раньше.

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

Прямой ответ - нет.

Написание хорошего кода - не единственный фактор при оценке того, является ли программист отличным ресурсом.

Но выход есть. Есть и другие показатели (помимо качества написания кода), которые отделяют хороших программистов от хороших.

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

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

Однако по своему опыту я бы приравнял его определение программиста к определению хорошего программиста, а его определение хорошего программиста - к определению великого.

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

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

какой рост у Мэгги Лоусон

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