Как определяется ниндзя-программист? Если это просто опытный разработчик, то нет ли лучшего способа описать это? Ninja звучит как детская маркетинговая уловка, созданная для того, чтобы привлечь разработчиков иллюзиями собственного величия. Или я что-то упустил? В частности, я хочу знать, какие качества ниндзя нужны программистам, что делает сравнение достоверным (помимо фактора крутости)?
Я нашел эту статью, в которой сравниваются характеристики ниндзя и гибкая разработка. Тем не менее, я хотел бы услышать от людей, которые использовали слово ниндзя для найма и какова их мотивация.
Обновление: было несколько хороших моментов, поднятых с обеих сторон аргумента. Я попытался обобщить их в своем блоге . Я выбрал ответ JB в качестве принятого, потому что он суммирует все веские причины для сравнения.
источник
Ответы:
На мой взгляд, существует несколько параллелей между ниндзя и хорошим программистом:
Скрытое оружие / неортодоксальный стиль - если вы когда-либо видели мультфильм Джо Джо из 1980-х, вы можете вспомнить персонажа Storm Shadow . У него был меч и несколько метательных звезд, но с помощью правильной последовательности ударов и ударов удалось в одном эпизоде разобрать танк. Аналогичным образом, программисты могут быть вызваны для выполнения некоторой работы, которая требует от них вытащить оружие, о котором вы, возможно, и не подозревали. Это родственная точка «хакера», о которой упоминалось в нескольких местах.
Честь / уважение - Конечно, я видел это больше на западных изображениях ниндзя, таких как Г.И. Джо или Черепашки-ниндзя-подростки-мутанты, но, похоже, такое отношение к чести врага, возможно, взято из «Искусства войны». Хорошие программисты могут уважать, что где-то могут быть и лучшие. Смирение также в этом смысле.
Подразумеваемое мастерство - может существовать предположение, что все ниндзя являются мастерами и, таким образом, действительно оттачивали свои навыки, чтобы уметь хорошо сражаться. Хорошие программисты, возможно, также освоили некоторые навыки, которые весьма полезны для выполнения работы.
Это те немногие, что поверхностны, «О, это звучит круто», это может означать, что для приклеивания должно быть какое-то мясо. Хотя я согласен с тем, что самурай может быть более правильным названием, как только вещи на некоторое время вышли в неправильной форме, нужно примирить вещи здесь, так как TMNT на самом деле не то, что большинство будет считать тайными наемниками, это то, что ниндзя технически есть. Тем не менее, для тех из нас, кто вырос с мультипликационными изображениями ниндзя в этом позитивном свете, это то, что может остаться для нас, и поэтому здесь также присутствует элемент ностальгии.
источник
Это в значительной степени, как вы говорите, - попытка подразумевать хладнокровие и элитарность (часто среди тех, кто этого не делает) путем проведения очень незначительных сравнений.
Лично я ненавижу эту фразу (наряду с «Программистом Rockstar», который заставляет нас хотеть избивать людей до смерти - вы можете быть программистом Rockstar, если у вас есть привычка употреблять наркотики из-за проблемы с алкоголем и разбить хотя бы одну машину и один гостиничный номер ).
Вы - программист, если у вас есть проблемы с тем, чтобы быть программистом, потому что вы хотите сделать что-то, что, по вашему мнению, круче, тогда решайте их (или прекращайте делать то, что вы считаете круче). Если вам не нравится, как другие воспринимают программистов, то понимаете, что это их проблема, а не ваша.
Вы, конечно, не собираетесь менять свое мнение фразами, которые заставили бы среднего 12-летнего думать, что вы изо всех сил старались быть впечатляющими.
/ напыщенная
Изменить: Чтобы быть ясно, напыщенная речь не нацелен на спрашивающий ...
источник
Одна концепция, которая объединяет экспертов по боевым искусствам и хороших программистов, - это экономия усилий. Эксперты по боевым искусствам избегают напрасных движений; Хорошие программисты избегают ненужного кода.
Понятие невидимости означает прозрачность в написании библиотеки. Хорошая библиотека имеет интуитивно понятный интерфейс, и вы можете подключить ее и не беспокоиться об этом.
РЕДАКТИРОВАТЬ: я забыл самое важное: и ниндзя и хорошие программисты являются высококвалифицированными в результате обучения и практики.
источник
В моем понимании, не каждый хороший или отличный программист является ниндзя. Ниндзя - особая порода. Программист-ниндзя - это тот, кто появляется в необычное время (например, в 3 часа ночи), делает некоторые опасные вещи, к которым неохотно относятся обычные люди (например, использует hex-редактор для исправления крайне критической ошибки в десятилетней, якобы не поддерживаемой программе напрямую). на рабочем сервере) и пропадает невидимым.
Очевидно, что хотя ниндзя нужны отличные технические навыки, чтобы регулярно выполнять такие трюки и выживать, многие превосходные программисты совсем не вписываются в это описание. При правильных методах нет необходимости в ниндзя. С другой стороны, если невозможное случается, хорошо иметь его.
источник
В дополнение к факторам «Крутизна» и «Элита», ниндзя часто скрытны и, как известно, совершают такие вещи, как проникновение в прошлую безопасность, чтобы попасть в места, где они не должны. Поскольку эту черту разделяют хакеры, я думаю, что кто-то думал, что "Ninja" будет хорошим названием для них. Для неопытного человека хакеры и программисты - это одно и то же, и они думают, что слово «ниндзя» очень круто, так что оно застряло
Итак, логика такова:
Ниндзя = Скрытный человек, который может проникнуть мимо безопасности в места, которыми он не должен быть
Скрытный человек, который может проникнуть мимо безопасности в места, которыми он не должен быть = хакер
Хакер = программист
Следовательно, ниндзя = программист
источник
Я собираюсь пойти вразрез с народными настроениями здесь. Я думаю, что есть много романтики, происходящей и растягивающейся, чтобы установить связь между ниндзя и инженерами. Я хотел бы, чтобы все было просто, поскольку ниндзя входят, выполняют работу и выходят, как правило, без обнаружения . Единственный скачок, который я могу сделать, это то, что в субкультуре вы можете услышать анекдоты о Чаке Норрисе и ниндзя, и, очевидно, каждый программист хочет быть Чаком Норрисом или Джеком Бауэром, но есть только один Чак Норрис и Джек Бауэр, поэтому каждый из нас может быть ( аноним) ниндзя.
Во-вторых, ниндзя - это термин, который часто используется в WoW и может иметь негативную коннотацию. Кроме того, традиционный ниндзя не почетен по сравнению с самураями. Таким образом, со всеми замечательными качествами самурая, вы могли бы подумать, что мы увидим «самурайского программиста» чаще, если это будет так, что восхваляются внешние воспринимаемые качества. Вот почему я присоединяюсь к идее, что использование ниндзя больше для того, чтобы подчеркнуть таинственные, плащевые и кинжальные, подлые навыки. Чтобы выразить это более позитивно, это биржевые навыки в шпионской торговле; жулики, разведка и секретные агенты включительно.
источник