Существует ли такое понятие, как суперпрограммист?

Существует ли такое понятие, как суперпрограммист?
Существует ли такое понятие, как суперпрограммист? - thoughtcatalog @ Unsplash

Встречались ли вы с суперпрограммистом? Что отличает его или ее от "обычных" опытных/великих программистов?

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

Edit: Интересные материалы, спасибо. Можно сделать несколько выводов:

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

  1. Определение Торбьёрна : человек, который в течение длительного времени последовательно делает то, что эквивалентно хорошей команде.

  2. Free Electron, по ссылке Ответ Генриха . Очень продуктивный человек, обладающий исключительными способностями. Объяснение - хорошее чтение.

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

    С последним определением контрастирует точка зрения, связанная с Джеймсом о мифе гениального программиста ( видео ). Эта же идея выражена как egoless programming в комментарии rwong. Они представляют противоположные мнения о том, как оптимизировать - для такого уникального программиста или для команды.

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

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

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

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

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

К сожалению, гораздо более вероятно, что у вас есть человек, который думает, что он супер программист, а на самом деле таковым не является. Способ справиться с ними, по моему опыту, заключается в том, чтобы сделать их производительность измеримой. «FindBugs может не найти проблем», «Весь код должен иметь тесты, соответствующие вариантам использования», «Экспертная проверка».

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

(Обновлено: причина анонимного бита состоит в том, чтобы не дать не очень супер программисту отомстить тем, кто выступает против него).


LetsCodeIt, 23 мая 2023 г., 13:04