Почему хороших программистов называют ниндзя? [закрыто]

36

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

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

Обновление: было несколько хороших моментов, поднятых с обеих сторон аргумента. Я попытался обобщить их в своем блоге . Я выбрал ответ JB в качестве принятого, потому что он суммирует все веские причины для сравнения.

Alinium
источник
3
Ниндзя являются экспертами в боевых искусствах. Хорошие программисты являются экспертами в программировании.
5
Никогда не называли ниндзя. Гуру или Мастер с другой стороны ...
никто
40
Это напоминает мне «метод ниндзя» при работе с указателями: просто бросайте звезды (*), пока он не заработает. ^^
Габлин
10
Правильный термин - «убийца, кодирующий гуру обезьян, красивый герой, секс-машина».
Maxpm
2
@ maxpm, надеюсь, ярлык "sexmachine" не актуален при программировании?

Ответы:

33

На мой взгляд, существует несколько параллелей между ниндзя и хорошим программистом:

  1. Скрытое оружие / неортодоксальный стиль - если вы когда-либо видели мультфильм Джо Джо из 1980-х, вы можете вспомнить персонажа Storm Shadow . У него был меч и несколько метательных звезд, но с помощью правильной последовательности ударов и ударов удалось в одном эпизоде ​​разобрать танк. Аналогичным образом, программисты могут быть вызваны для выполнения некоторой работы, которая требует от них вытащить оружие, о котором вы, возможно, и не подозревали. Это родственная точка «хакера», о которой упоминалось в нескольких местах.

  2. Честь / уважение - Конечно, я видел это больше на западных изображениях ниндзя, таких как Г.И. Джо или Черепашки-ниндзя-подростки-мутанты, но, похоже, такое отношение к чести врага, возможно, взято из «Искусства войны». Хорошие программисты могут уважать, что где-то могут быть и лучшие. Смирение также в этом смысле.

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

Это те немногие, что поверхностны, «О, это звучит круто», это может означать, что для приклеивания должно быть какое-то мясо. Хотя я согласен с тем, что самурай может быть более правильным названием, как только вещи на некоторое время вышли в неправильной форме, нужно примирить вещи здесь, так как TMNT на самом деле не то, что большинство будет считать тайными наемниками, это то, что ниндзя технически есть. Тем не менее, для тех из нас, кто вырос с мультипликационными изображениями ниндзя в этом позитивном свете, это то, что может остаться для нас, и поэтому здесь также присутствует элемент ностальгии.

JB King
источник
19
Как насчет темной одежды и не много говорить? :-P
JBRWilkinson
Ssshhh ... стелс среди скрытого оружия. :)
JB King
4
«Среди их вооружений есть скрытность, скрытое оружие и почти фанатичная преданность хорошим стилям кодирования ... также меньше разговоров… Ба! Я приду снова…»
Тимоти Болдридж
Вы думаете о самураях. Ниндзя просто кровавые убийцы. Нет чести с ниндзя.
BЈовић
Вы когда-нибудь видели «Черепашек-ниндзя» в виде мультфильмов или фильмов?
JB King
41

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

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

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

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

/ напыщенная

Изменить: Чтобы быть ясно, напыщенная речь не нацелен на спрашивающий ...

Джон Хопкинс
источник
6
@Larry - Большинство сравнений могут быть в равной степени применимы к действительно хорошим специалистам в других областях, но вы не получите адвокатов-ниндзя, врачей-ниндзя или сотрудников по работе с клиентами (кроме, возможно, Герберта Корнфельда). Разве не интересный вопрос, почему программисты чувствуют необходимость сделать это?
Джон Хопкинс
9
@ Джом Хопкинс, в Государственной службе здравоохранения в Великобритании полно докторов-ниндзя ... вы, конечно, никогда их не увидите.
Кевин Д
6
@ Джон Хопкинс: Культура программирования поощряет связи и юмор на уровне субкультуры. Многие программисты считают ниндзя крутыми и хотят быть крутыми, и поэтому называться ниндзя довольно круто. Естественно, это не относится ко всем направлениям, и есть программисты, которые ненавидят подобные вещи. Это зависит от человека. Но в целом программирование превратилось в основную профессию, такую ​​как врач, юрист и т. Д., И принесло с собой ссылки на субкультуры (рок-звезды, ниндзя и т. Д.)
Адам Лир
3
@ Adam Lear, если это должно быть неотъемлемой частью «культуры программирования», я не хочу иметь ничего общего с такой «культурой». Самая глубокая связь, которую я когда-либо испытывал с другими разработчиками, была основана на способностях и заслугах.
Джонатанконвей
3
@ Adam - я понимаю предысторию, я просто нахожу все это немного подростковым, и я думаю, что это порождает программистов как серьезных профессионалов, когда нам за 20 и 30 (и старше). Я не говорю, что программисты должны отказаться от культуры программистов, но есть разница между, скажем, чтением XKCD и Нила Стивенсона или проведением наших выходных, изучая криптографию (которая может быть отвратительной, но также и умной), и это немного ребячество и на самом деле о том, как далеко не круто, как вы можете получить.
Джон Хопкинс
15

Одна концепция, которая объединяет экспертов по боевым искусствам и хороших программистов, - это экономия усилий. Эксперты по боевым искусствам избегают напрасных движений; Хорошие программисты избегают ненужного кода.

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

РЕДАКТИРОВАТЬ: я забыл самое важное: и ниндзя и хорошие программисты являются высококвалифицированными в результате обучения и практики.

Ларри Коулман
источник
1
1. Это зависит от боевого искусства. Вы уверены, что они избегают напрасных движений в кунг-фу или капоэйре? 2. Вы можете быть ниндзя и / или программистом и быть очень плохим в этом. Тем не менее, я ценю ваш ответ в любом случае;) +1
@Pierre: спасибо. В моем ответе могла бы быть какая-то точная настройка, но я хотел выложить что-то, чтобы помочь продемонстрировать, что вопрос был верным. Как видите, уже есть один голос для закрытия.
Ларри Коулман
15

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

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

user281377
источник
10

В дополнение к факторам «Крутизна» и «Элита», ниндзя часто скрытны и, как известно, совершают такие вещи, как проникновение в прошлую безопасность, чтобы попасть в места, где они не должны. Поскольку эту черту разделяют хакеры, я думаю, что кто-то думал, что "Ninja" будет хорошим названием для них. Для неопытного человека хакеры и программисты - это одно и то же, и они думают, что слово «ниндзя» очень круто, так что оно застряло

Итак, логика такова:

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

Скрытный человек, который может проникнуть мимо безопасности в места, которыми он не должен быть = хакер

Хакер = программист

Следовательно, ниндзя = программист

Рейчел
источник
Еще одна теорема, доказанная коммутативным свойством сомнительных сравнений!
2010 года
1
@qualidafial, я уверен, что ты имеешь в виду переходный.
dan_waterworth
2

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

Во-вторых, ниндзя - это термин, который часто используется в WoW и может иметь негативную коннотацию. Кроме того, традиционный ниндзя не почетен по сравнению с самураями. Таким образом, со всеми замечательными качествами самурая, вы могли бы подумать, что мы увидим «самурайского программиста» чаще, если это будет так, что восхваляются внешние воспринимаемые качества. Вот почему я присоединяюсь к идее, что использование ниндзя больше для того, чтобы подчеркнуть таинственные, плащевые и кинжальные, подлые навыки. Чтобы выразить это более позитивно, это биржевые навыки в шпионской торговле; жулики, разведка и секретные агенты включительно.

узоры
источник