Como é definido um programador Ninja? Se é apenas um desenvolvedor experiente, então não há realmente nenhuma maneira melhor de descrever isso? Ninja parece uma jogada de marketing infantil, criada para atrair desenvolvedores com ilusões de auto-grandeza. Ou eu estou esquecendo de alguma coisa? Em particular, quero saber quais qualidades de um Ninja são desejadas nos programadores que tornam a comparação válida (além do fator de frescura)?
Eu encontrei este artigo que faz algumas boas comparações entre as características do Ninja e o desenvolvimento Agile. No entanto, gostaria de ouvir pessoas que usaram a palavra Ninja para fins de contratação e qual era a motivação deles.
Atualização: Houve vários pontos positivos levantados em ambos os lados do argumento. Eu tentei resumir isso no meu blog . Eu escolhi a resposta de JB como a aceita, porque resume todas as razões válidas para fazer a comparação.