Вы сталкивались с супер программистом? Что идентифицирует его или ее как таковое по сравнению с «нормальными» опытными / великими программистами?
Также. Как вы справляетесь с человеком в вашей команде, который считает, что он супер программист? И то, и другое, если он есть или нет?
Изменить : Интересные материалы со всех сторон, спасибо. Несколько вещей можно почерпнуть:
Появилось несколько определений. Несмотря на слишком локализованные определения (которые определили авторов или их знакомых как супер-программистов), мне понравилась пара определений:
Определение Торбьерна : человек, который делает эквивалент хорошей команды в течение длительного времени.
Свободный Электрон, связанный с ответом Генри . Очень продуктивный человек, исключительных способностей. Объяснение хорошо читать.
Свободный Электрон может делать все, что касается кода. Они могут написать законченное приложение с нуля, выучить язык за выходные, и, самое главное, они могут погрузиться в огромную кучу спагетти-кода, разобраться в нем и реально заставить его работать. Вы можете построить целый бизнес вокруг Free Electron. Они такие хорошие.
В отличие от последнего определения, Джеймс связан с мифом о гениальном программисте ( видео ). Эта же идея выражена как бессмысленное программирование в комментарии Руонга. Они представляют противоположные мнения о том, следует ли оптимизировать для такого уникального программиста или для команды.
Эти определения, безусловно, разные, поэтому я был бы признателен, если бы у вас было мнение о том, что лучше. Или добавьте свой собственный, если вы хотите, конечно, хотя это помогло бы сказать, почему это отличается от тех.
источник
Ответы:
Я хотел бы рассмотреть термин «супер программист» только для тех, кто может выполнять работу, для которой обычно требуется команда хороших программистов, и делать это последовательно в течение длительного времени.
Это касается как написания высококачественного кода (документация, тесты и т. Д.), Так и решения очень сложных задач, требующих большого количества знаний и таланта.
Но это требует высокой производительности на всех аккаунтах в течение длительного времени. Для тех, кто пишет тонны кода, никто не может понять и поддержать, этот термин не применим.
Как бороться с? Если у вас действительно есть такой человек, сделайте все возможное, чтобы обеспечить леса, необходимые для того, чтобы человек преуспел. Это означает, что нужно убрать ненужные вещи и предоставить ресурсы, которые нужны человеку. Обратите внимание, что я обнаружил, что очень высокие исполнители, как правило, скромны.
К сожалению, гораздо более вероятно, что у вас есть человек, который думает , что он супер программист, а это не так. Мой опыт заключается в том, чтобы измерить их эффективность. «FindBugs может не найти проблем», «Весь код должен иметь тесты, соответствующие сценариям использования», «Рецензирование».
Если код действительно труден для понимания, рассмотрите еженедельные встречи, на которых программист не так уж и супер объясняет любой код, код, который он написал со времени последней встречи, который любой может запросить анонимно, чтобы он объяснил, и любой может анонимно отказаться от принятия в кодовая база для того, чтобы он был неуправляемым. Тогда, по крайней мере, вы поделились своим мнением и позволили будущим сопровождающим наложить вето на кусок кода. Это также будет четко указывать программисту, какой тип кода заставит его выполнять дополнительную работу.
(РЕДАКТИРОВАТЬ: причина для анонимного бита, чтобы избежать, чтобы не так супер-программист отомстил тем, кто ему противостоит).
источник
Суперпрограммист - это любой человек, который может генерировать код быстрее, чем быстродействующий компилятор, более мощный, чем рекурсивная функция, и способен перепрыгивать через стеки FIFO в одной границе.
То, как вы справляетесь с человеком в вашей команде, который считает, что он является суперпрограммистом, - это подвергает его единственной слабости - солнечному свету.
источник
Попросите человека написать главу о себе в стиле Coders at Work . Отправьте это издателю. Если это отклонено, то человек не супер программист.
источник
Есть те, кто может производить больше продукции, чем другие.
Есть те, кто может производить продукцию с более низким уровнем брака, чем другие.
Те, кто ПОСТОЯННО производят больше продукции, с более низким, чем обычно, уровнем дефектов, могут быть достойны называться Супер-Программистом.
Быть известным или восприниматься как таковое обычно очевидно только для просвещенного менеджера с пользой для задних глаз.
Тот, кто считает себя супер-программистом, вероятно, имеет большое эго и думает, что он хороший. Это не делает их хорошими.
Отношение <> Способность.
источник
Супер программист: человек со средним уровнем интеллекта и сильной преданностью программированию. Я говорю о человеке, который тратит много времени на программирование, не уходит легко и полон решимости решить конкретную проблему. Этот человек редко ложится спать, если есть ожидающая проблема / ошибка. Супер программист пишет эффективный, быстрый и надежный код. Суперпрограммист обладает обширными и глубокими знаниями по крайней мере одного языка программирования (и технологии), умел в нескольких других и может быстро выучить все, что нужно.
источник
Из программ / проектов, которые создали , исходный код, исследование, которое было сделано.
Как вы говорите, он верит в это, очень трудно заставить его не верить этому. Хуже всего думать, что этого человека перестали быть лучшим программистом, потому что он думает, что все готово - супер, и он остановил его эволюцию. Что хуже, чем в программировании. В любом случае, вы всегда можете попросить доказательства ... и спросить его, с кем он / она сравнивает себя, чтобы сделать предположение, что он / она супер.
источник