为什么好的程序员被称为忍者?[关闭]


36

忍者程序员是如何定义的?如果只是经验丰富的开发人员,那么真的没有更好的方法来形容吗?忍者听起来像是一种幼稚的营销策略,旨在以自负的幻想吸引开发商。还是我错过了什么?我特别想知道使比较有效(除了凉爽因素之外)的程序员需要Ninja的哪些素质?

我确实找到了这篇文章该文章在忍者特征和敏捷开发之间进行了很好的比较。但是,我想听听使用Ninja这个词进行招聘的人及其背后的动机。

更新:论点两边都提出了几点要点。我试图在我的博客文章中总结这些内容。我选择JB的答案作为可接受的答案,因为它总结了进行比较的所有有效原因。


3
忍者是武术专家。好的程序员是编程专家。

5
从未被称为忍者。在另一方面师或主人......
没有人

40
这使我想起了使用指针时的“忍者方法”:只需将星星(*)扔到一边,直到它起作用为止。^^
gablin

10
正确的术语是“编码忍者猴子大师的帅气英雄性机器的杀手”。
Maxpm 2010年

2
@maxpm,希望“ sexmachine”标签在编程时不相关吗?

Answers:


33

在我看来,忍者和优秀的程序员之间存在一些相似之处:

  1. 隐藏的武器/非传统风格-如果您曾经看过1980年代的GI Joe卡通,您可能还记得Storm Shadow的角色。他有一把剑和一些投掷的星星,但只有正确的拳打和踢球顺序才能使一集中的坦克解体。以类似的方式,程序员可以被要求从事某些工作,要求他们拿出您可能没有想到的武器。这是在一些地方提到的“黑客”观点的近亲。

  2. 荣誉/尊重-可以肯定的是,我在西方人对GI Joe或《忍者神龟》的忍者的描写中看到的更多,但似乎存在这种尊敬敌人的态度,这很可能取自《孙子兵法》。好的程序员可以尊重在某个地方可能会有更好的程序员。从某种意义上说,谦卑也是如此。

  3. 隐含的掌握能力-可能有这样一种假设,即所有忍者都是大师,因此真正磨练了自己的技巧,知道如何打好仗。优秀的程序员可能已经类似地掌握了一些技能,这些技能对于完成工作非常有益。

这些只是表面上的“哦,听起来很酷”的含义之外的少数含义,因为它必须要粘一些肉。虽然我同意武士可能是更正确的称呼,但是一旦事情以错误的形式出现了一段时间,人们就不得不调和这里的事情,因为TMNT并不是大多数人认为是秘密的雇佣兵,而是忍者从技术上讲。但是,对于那些从小就以忍者卡通形象长大的人来说,这可能是对我们有利的,因此这里也有怀旧元素。


19
穿深色衣服又不说话怎么办?:-P
JBRWilkinson 2010年

Ssshhh ...隐身就是那些隐藏的武器。:)
JB King 2010年

4
“他们的武器包括隐形武器,隐藏武器,以及对良好编码风格的狂热奉献。...也少说话了... b!我会再来...”
蒂莫西·鲍德里奇

您正在考虑武士。忍者只是血腥的杀手。忍者没有荣誉。
2014年

有没有看过卡通或电影形式的“忍者神龟”?
JB金

41

就像您说的那样-通过进行高度细微的比较来暗示冷静和高贵(经常在两者都不是的人中)。

我个人不喜欢这句话(连同“ Rockstar Programmer”,这使我们想殴打他人致死-当您有吸毒习惯,酗酒问题并毁坏至少一辆车和一间酒店房间时,您可以成为Rockstar程序员)。

您是一名程序员,如果您因为想做自己认为比较酷的事情而遇到程序员问题,那么请与他们打交道(或者放弃做您认为比较有趣的事情)。如果您不喜欢别人看待程序员的方式,那么您就会明白,这不是他们的问题。

当然,您不会用那些会使平均12岁的人认为您正在努力使自己印象深刻的短语来改变他们的想法。

/ rant

编辑:要明确,咆哮不是针对发问者的。


6
@Larry-大多数比较都可以同样地应用于其他领域的优秀专业人员,但是您没有忍者律师,忍者医生或应收忍者帐户的工作人员(也许赫伯特·科恩菲尔德除外)。有趣的问题是程序员为什么感到需要这样做吗?
乔恩·霍普金斯

9
@乔姆·霍普金斯(Jom Hopkins),英国的NHS充满了忍者医生……您当然从未见过他们。
凯文D

6
@乔恩·霍普金斯(Jon Hopkins):编程文化鼓励亚文化层次的联系和幽默。许多程序员认为忍者很酷,并且想变得很酷,因此被称为忍者真是太棒了。自然,这并非一概而论,有些程序员讨厌这种事情。取决于个人。但总的来说,编程已发展成为一种主流职业,例如医生,律师等,并带来了亚文化参考(摇滚明星,忍者等)
Adam Lear

3
@亚当·李尔(Adam Lear),如果这应该是“编程文化”的重要组成部分,那么我不希望与这种“文化”有任何关系。我与其他开发人员所经历的最深层次的联系是基于能力和优点。
jonathanconway

3
@Adam-我了解背景,我觉得整个事情有点少年,而且我认为一旦我们进入20多岁和30多岁(或更老),它就将程序员视为认真的专业人员。我并不是说程序员应该放弃程序员的文化,但是,例如,阅读XKCD和Neal Stephenson或度过我们的周末学习加密技术(这可能很怪异但也很聪明)之间是有区别的,这有点幼稚。实际上,您所能达到的目标远非如此。
乔恩·霍普金斯,

15

武术专家和优秀程序员的一个共同点是省力。武术专家避免浪费运动。好的程序员避免不必要的代码。

隐形的概念转化为图书馆写作的透明性。好的库具有直观的界面,您可以插入它而不必担心。

编辑:我忘记了最重要的事情:忍者和优秀的程序员都是经过培训和实践的高技能的。


1
1.取决于武术。您确定他们避免在功夫或capoeira中浪费运动吗?2.您可能是忍者和/或程序员,但对此很不好。也就是说,无论如何我

@Pierre:谢谢。我的答案可能需要进行一些微调,但我想在此处提出一些要点,以帮助证明问题是正确的。如您所见,已经有一票要截止。
拉里·科尔曼

15

以我的理解,并不是每个优秀或优秀的程序员都是忍者。忍者是一种特殊的品种。忍者程序员是在不寻常的时间(例如,凌晨3点)出现的人,做了一些普通人不愿做的危险的事情(例如,使用十六进制编辑器直接修复了十年之久,据称无法维护的程序中的一个非常关键的错误)。在生产服务器上)并消失。

显然,尽管忍者需要出色的技术才能经常性地进行此类特技和生存,但许多优秀的程序员根本不适合这种描述。有了适当的方法,就不需要忍者了。另一方面,如果不可能的事情发生,拥有一个是一件好事。


10

除了“酷”和“精英”因素之外,忍者通常是隐身的,并且众所周知会做一些事,例如偷偷溜走通过安全措施进入不该进入的地方。因为黑客具有这种特征,所以我认为有人认为“忍者”对他们来说是个好标题。对于非IT人员来说,黑客和程序员是同一回事,他们认为“忍者”一词非常酷,因此有点卡住了

因此逻辑是:

忍者=隐身者,可以潜入安全区域,进入不应有的场所

可以潜入安全区域的隐形人-黑客

黑客=程序员

因此,忍者=程序员


可疑比较的可交换性证明了另一个定理!
qualidafial 2010年

1
@qualidafial,我很确定你的意思是及物。
dan_waterworth '02

2

我要在这里反对大众的看法。我认为,发生了很多浪漫的事情,并且过度伸展以使忍者和工程师之间建立联系。我会尽量简单地让忍者进入,完成工作并通常不被发现就离开。我唯一能做的飞跃是,在亚文化中,您会听到关于Chuck Norris和忍者的笑话,显然每个程序员都想成为Chuck Norris或Jack Bauer,但是只有Chuck Norris和Jack Bauer,所以我们每个人都是(匿名)忍者。

其次,忍者是魔兽世界中经常使用的术语,可能有负面含义。此外,与武士相比,传统忍者不光荣。因此,在具有所有令人赞叹的武士品质的情况下,您将认为,如果表扬的是外在感知品质,我们会更经常看到“武士程序员”。这就是为什么我赞成使用忍者更多地强调神秘,披风和匕首,偷偷摸摸的技巧的原因。更积极地旋转它,这些是间谍交易中的股票技能。流氓,情报和秘密特工。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.