Чому хороших програмістів називають ніндзями? [зачинено]


36

Як визначається програміст Ninja? Якщо це лише досвідчений розробник, то чи справді немає кращого способу описати це? Ninja звучить як дитячий маркетинговий вислів, розроблений для залучення розробників з маренням самобуття. Або я щось пропускаю? Зокрема, я хочу знати, які якості Ninja бажані у програмістів, що робить порівняння дійсним (окрім коефіцієнта прохолоди)?

Я знайшов цю статтю, яка дає добрі порівняння між характеристиками Ninja та Agile development. Однак я хотів би почути від людей, які вживали слово Ninja для найму і яка їхня мотивація була за цим.

Оновлення: з обох сторін аргументу було піднято кілька хороших моментів. Я спробував узагальнити це у своїй публікації в блозі . Я вибрав відповідь JB як прийняту, оскільки вона резюмує всі поважні причини для порівняння.


3
Ніндзя - знавці бойових мистецтв. Хороші програмісти знають програмування.

5
Ніколи не називали ніндзя. Гуру чи Майстер з іншого боку ...
ніхто

40
Це нагадує мені про метод «Ніндзя» під час роботи з покажчиками: Просто киньте зірки (*), поки він не працює. ^^
габлін

10
Правильний термін "убивця кодує ніндзя мавпи гуру гарний герой sexmachine".
Maxpm

2
@maxpm, сподіваємось, етикетка "sexmachine" не актуальна під час програмування?

Відповіді:


33

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

  1. Прихована зброя / неортодоксальний стиль - Якщо ви коли-небудь бачили мультфільм GI Joe з 1980-х, ви можете згадати персонажа Shadow Shadow . У нього був меч та кілька зіркових зірок, але за допомогою правильних послідовностей ударів та ударів вдалося розібрати танк в епізоді. Аналогічним чином можна запросити програмістів виконати певну роботу, яка вимагає від них витягнути зброю, яку ви, можливо, не думали, що у неї є. Це споріднена точка "хакер", про яку згадували в кількох місцях.

  2. Честь / повага - Зрозуміло, що я бачив це більше на західних зображеннях ніндзя, таких як Г. І. Джо або черепахи-ніндзя-підлітки, але, здавалося, було таке ставлення вшанування ворога, можливо, взяте з "Мистецтва війни". Хороші програмісти можуть поважати, що там десь можуть бути кращі. Смирення також є в цьому в певному сенсі.

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

Це декілька, що знаходяться поза поверхневим, "О, це звучить круто", наслідки, оскільки для його прилипання потрібно було трохи м'яса. Хоча я погоджуюся, що Самурай може бути правильнішим заголовком, якщо речі на деякий час вийшли з невірної форми, тут потрібно узгодити речі, оскільки TMNT насправді не є тим, що більшість вважатиме прихованими найманцями, саме це ніндзя технічно є. Однак для тих із нас, хто виріс із мультиплікаційних зображень ніндзя у такому позитивному світлі, це те, що може нас дотримуватися, і тому тут також є елемент ностальгії.


19
А що з темним одягом і не багато говорити? :-P
JBRWilkinson

Ssshhh ... крадькома є серед цих прихованих знарядь. :)
JB King

4
"Серед їх озброєння є схованість, прихована зброя і майже фанатична відданість хорошим стилям кодування .... також менше говорять ... так! Я знову
заходжу

Ви думаєте про самураїв. Ніндзя - просто криваві вбивці. Немає честі з ніндзями.
BЈович

Коли-небудь бачили "Черепашки ніндзя-мутантів" у формі мультфільму чи фільму?
JB King

41

Це, як ви кажете, - це спроба натякнути на прохолоду та елітарність (часто серед тих, кого немає), шляхом порівняльних порівнянь.

Особисто я ненавиджу цю фразу (поряд із "Програмістом Rockstar", який змушує нас до смерті збивати людей - ти можеш бути програмістом рок-звезди, коли у тебе є звичка до алкоголю, і випали принаймні одну машину та одну готельну кімнату ).

Ви програміст, якщо у вас є проблеми з тим, що ви програміст, тому що хочете зробити щось, що, на вашу думку, крутіше, тоді займайтеся ними (або киньте робити щось, що, на вашу думку, крутіше). Якщо вам не подобається те, як інші бачать програмістів, то розумієте, що це питання не у вашому.

Ти, звичайно, не збираєшся передумувати фразами, які змусили б середньостатистичного 12-річного віку подумати, що ти трохи намагається бути вражаючим.

/ рент

Редагувати: Щоб зрозуміти, зухвалість не спрямована на запитувача ...


6
@Larry - Більшість порівнянь можна однаково застосувати до дійсно хороших професіоналів в інших галузях, але ви не отримуєте адвокатів з ніндзя, лікарів-ніндзя чи працівників дебіторської заборгованості (крім, можливо, Герберта Корнфельда). Хіба не цікаве питання, чому програмісти відчувають потребу в цьому?
Джон Хопкінс

9
@Jom Hopkins, NHS у Великобританії сповнений лікарів-ніндзя ... їх, звичайно, ніколи не бачиш.
Кевін Д

6
@Jon Hopkins: Культура програмування заохочує зв'язок на рівні субкультури та гумор. Багато програмістів розглядають ніндзя як крутих і хочуть бути крутими, і тому їх називають ніндзя досить приголомшливо. Звичайно, це не стосується всієї ради, і є програмісти, які ненавидять подібне. Це залежить від людини. Але загалом програмування перетворилося на таку основну професію, як лікар, юрист тощо, і принесло з собою посилання на субкультуру (рок-зірки, ніндзя тощо)
Адам Лір

3
@Adam Lear, якщо це повинно бути важливою частиною "культури програмування", я не хочу нічого спільного з такою "культурою". Найглибший зв'язок, який я коли-небудь переживав з іншими розробниками, базувався на здатності та заслугах.
jonathanconway

3
@Adam - Я розумію передумови, я просто вважаю, що вся справа трохи підліткова, і я думаю, що це принижує програмістів як серйозних професіоналів, коли ми перебуваємо в наших 20-х і 30-х роках (і старше). Я не кажу, що програмісти повинні відмовитися від програмистської культури, але є різниця між, скажімо, читанням XKCD та Нілом Стівенсоном або проведенням наших вихідних, навчаючись криптографії (яка може бути вигадливою, але також розумною), і це просто трохи по-дитячому а насправді про те, наскільки далеко не круто, як можна отримати.
Джон Хопкінс

15

Однією з концепцій спільних експертів бойових мистецтв та хороших програмістів є економія зусиль. Експерти бойових мистецтв уникають марного руху; хороші програмісти уникають зайвого коду.

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

EDIT: Я забув найголовніше: і ніндзя, і хороші програмісти є висококваліфікованими в результаті навчання та практики.


1
1. Це залежить від бойового мистецтва. Ви впевнені, що уникають марного руху в кунг-фу чи капоейрі? 2. Ви можете бути ніндзя та / або програмістом і дуже погано ставитесь до цього. Це сказало, я все одно вдячний за вашу відповідь;) +1

@Pierre: спасибі Моя відповідь могла використовувати певну настройку, але я хотів щось поставити там, щоб допомогти продемонструвати, що питання є дійсним. Як бачите, вже є один голос, який потрібно закрити.
Ларрі Коулман

15

На моє розуміння, не кожен хороший або відмінний програміст - це ніндзя. Ніндзя - особлива порода. Програміст Ninja - це той, хто з’являється в незвичні часи (наприклад, 3 ранку), чи робить якісь небезпечні речі, до яких звичайні люди неохоче (наприклад, використовуючи шестигранний редактор, щоб виправити вкрай критичну помилку в десятирічній, нібито, нездійсненій програмі безпосередньо на виробничому сервері) і зникає невидимим.

Очевидно, що хоча ніндзя потребує чудових технічних навичок, щоб витягувати такі трюки регулярно і виживати, багато відмінних програмістів зовсім не вписуються в цей опис. При наявності належних методів у ніндзя немає потреби. З іншого боку, якщо неможливе трапляється, це добре мати.


10

Окрім факторів "прохолоди" та "еліти", ніндзя часто вкрадаються, і, як відомо, вони роблять такі речі, як прокрастись повз безпеку, щоб потрапити в місця, де вони не повинні. Оскільки цю рису поділяють хакери, я думаю, хтось подумав, що «Ніндзя» буде для них хорошим заголовком. Для людини, яка не є ІТ, хакери та програмісти - це одне і те ж, і вони думають, що слово "ніндзя" дуже круте, тому воно начебто застрягло

Тож логіка така:

Ніндзя = прихована людина, яка може прокрастися в безпеку до місць, де вони не повинні бути

Прихована людина, яка може прокрастися в минулому безпеку на місця, яких вони не повинні бути = Хакер

Хакер = Програміст

Тому Ніндзя = програміст


Ще одна теорема, доведена завдяки комутативній властивості сумнівних порівнянь!
відбірковий

1
@qualidafial, я впевнений, що ти маєш на увазі перехідний характер.
dan_waterworth

2

Я збираюся суперечити популярним настроям. Я думаю, що відбувається багато романтизування, яке відбувається і перетягується, щоб встановити зв'язок між ніндзями та інженерами. Я б тримав це просто, як ніндзя потрапляють, виконують роботу та виходять зазвичай, не виявляючи їх . Єдиний стрибок, який я хотів би зробити, - це те, що в субкультурі можна почути жарти про Чак Норріса проти ніндзя, і, очевидно, кожен програміст хоче бути Чак Норіс або Джеком Бауером, але є лише один Чак Норіс і Джек Бауер, тому ми можемо бути кожним ( анонімний) ніндзя.

По-друге, ніндзя - термін, який часто використовується в WoW і може мати негативні конотації. Крім того, традиційний ніндзя не є почесним порівняно з самураями. Отже, з усіма захоплюючими якостями самурая, ви могли б подумати, що ми бачимо «програміста-самурая» частіше, якби в тому випадку, коли це оцінюються зовні сприйняті якості. Ось чому я підписуюся на думку про те, що використання ніндзя більше підкреслює таємничі, плащові та кинджальні, підлі навички. Щоб зробити це більш позитивно, це вміння акцій у шпигунській торгівлі; шахраї, розвідки та секретні агенти включно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.