왜 좋은 프로그래머가 닌자라고 불리는가? [닫은]


36

닌자 프로그래머는 어떻게 정의됩니까? 숙련 된 개발자라면이를 설명하는 더 좋은 방법이 없을까요? 닌자 (Ninja)는 자부심을 잃은 개발자를 끌어 들이기 위해 고안된 유치한 마케팅 전략처럼 들린다. 아니면 뭔가 빠졌습니까? 특히 나는 비교를 유효하게 만드는 프로그래머들 (차가움 계수 외에)에서 Ninja의 자질이 무엇인지 알고 싶습니까?

닌자 특성과 애자일 개발을 잘 비교할 수있는 이 기사 를 찾았습니다 . 그러나 닌자 (Ninja)라는 단어를 채용 목적으로 사용했던 사람들과 그 동기가 무엇인지 알고 싶습니다.

업데이트 : 논쟁의 양쪽에 몇 가지 좋은 점이 제기되었습니다. 나는 이것을 내 블로그 게시물 에서 요약하려고했습니다 . JB의 답변을 허용 된 답변으로 선택했습니다. 비교를위한 모든 유효한 이유를 요약했기 때문입니다.


3
닌자는 무술 전문가입니다. 좋은 프로그래머는 프로그래밍 전문가입니다.

5
닌자라고 한 적이 없습니다. 반면에 전문가 또는 마스터 ...
아무도

40
이것은 포인터로 작업 할 때 '닌자 방법'을 상기시킵니다. 작동 할 때까지 별 (*)을 던지십시오. ^^
gablin

10
올바른 용어는 "킬러 코딩 닌자 원숭이 전문가 잘 생긴 영웅 sexmachine"입니다.
Maxpm

2
@ maxpm, 프로그래밍 중에 "sexmachine"레이블이 관련이 없기를 바랍니다.

답변:


33

제 생각에는 닌자와 좋은 프로그래머 사이에는 몇 가지 유사점이 있습니다.

  1. 숨겨진 무기 / 정통 스타일 – 1980 년대의 GI Joe 만화를 본 적이 있다면 Storm Shadow 의 특성을 기억할 것 입니다. 그는 검과 던지는 별을 가지고 있었지만 에피소드에서 올바른 펀치와 킥 시퀀스로 탱크를 분해했습니다. 비슷한 방식으로 프로그래머는 자신이 생각하지 못한 무기를 꺼내야하는 작업을 수행하도록 요청받을 수 있습니다. 이것은 몇몇 장소에서 언급 된 "해커 (Hacker)"지점과 유사하다.

  2. 명예 / 존중-GI Joe 또는 Teenage Mutant Ninja Turtles와 같은 닌자의 서양 묘사에서 이것을 더 많이 보았지만 "Art of War"에서 가져온 적을 존중하는 태도가있는 것 같습니다. 좋은 프로그래머는 어딘가에 더 좋은 것이있을 수 있다는 점을 존중할 수 있습니다. 겸손도이 점에서 의미가 있습니다.

  3. 묵시적 숙달-모든 닌자가 마스터이므로이 기술이 실제로 잘 싸울 수있는 방법을 알도록 연마했습니다. 훌륭한 프로그래머는 작업을 수행하는 데 매우 유용한 일부 기술을 비슷하게 익 혔을 수 있습니다.

그것들은 피상적 인 고기가 있어야했기 때문에 피상적 인 것 외에는 "아, 시원하게 들린다"는 의미가 적습니다. 사무라이가 더 정확한 제목 일 수 있음에 동의하지만 TMNT가 실제로 닌자라고하는 은밀한 용병으로 여겨지는 것이 아니기 때문에 잘못된 형식으로 잠시 물건을 꺼내면 여기에서 물건을 조정해야합니다. 기술적으로는 그러나이 긍정적 인 빛에서 닌자의 만화 묘사로 자란 사람들에게는 이것이 우리를 향한 것일 수 있으므로 향수의 요소도 있습니다.


19
어두운 옷은 많이 말하지 않는 것은 어떻습니까? :-P
JBR 윌킨슨

...... 은밀한 무기 중 하나입니다. :)
JB King

4
"무기 중에는 은폐, 숨겨진 무기, 그리고 좋은 코딩 스타일에 대한 거의 광신적 인 헌신이 있습니다 .... 또한 말이 적습니다 ... 바! 다시 올게요 ..."
Timothy Baldridge

사무라이를 생각하고 있습니다. 닌자는 피의 살인자 일뿐입니다. 닌자에게는 영광이 아닙니다.
BЈовић

만화 나 영화 형태의 "청소년 돌연변이 닌자 거북이"를 본 적이 있습니까?
JB King

41

그것은 당신이 말한 것과 거의 비슷합니다. 시원하고 엘리트 함을 암시하려는 시도는 매우 열악한 비교를 통해 이루어집니다.

개인적으로 나는 문구를 싫어합니다 ( "Rockstar Programmer"와 함께 사람들을 죽이고 싶어합니다. 마약 습관이 알코올 문제가 있고 적어도 하나의 자동차와 호텔 방 하나를 버린 경우 록 스타 프로그래머가 될 수 있습니다. ).

당신은 당신이 프로그래머라고 생각하는 것이 더 쿨하다고 생각되는 것을하기를 원하기 때문에 프로그래머라면 문제가 있다면 그것을 다루거나 (또는 ​​당신이 더 쿨하다고 생각하는 것을 끝내기 위해). 다른 사람들이 프로그래머를 보는 방식이 마음에 들지 않는다면 그것이 당신의 문제가 아니라는 것을 이해하십시오.

당신은 확실히 평균 12 살짜리가 당신이 조금 인상적이라고 생각하게 만드는 문구로 그들의 마음을 바꾸지 않을 것입니다.

/ rant

편집 : 명확하게, 그 rant는 질문자를 목표로하지 않습니다 ...


6
@Larry-대부분의 비교는 다른 분야의 훌륭한 전문가에게 동일하게 적용될 수 있지만 닌자 변호사, 닌자 의사 또는 닌자 계정 수취 직원을 얻지는 못합니다 (Herbert Kornfeld 제외). 프로그래머가 왜 그렇게해야하는지에 대한 흥미로운 질문이 아닌가?
존 홉킨스

9
영국의 NHS 인 @Jom Hopkins는 닌자 의사들로 가득 차 있습니다.
Kevin D

6
@Jon Hopkins : 프로그래밍 문화는 하위 문화 수준의 유대와 유머를 장려합니다. 많은 프로그래머들이 닌자를 시원하고 시원하고 싶어서 닌자라고 부르는 것은 정말 대단합니다. 당연히 이것은 전반적으로 적용되지 않으며 그러한 종류의 것을 싫어하는 프로그래머가 있습니다. 사람에 따라 다릅니다. 그러나 일반적으로 프로그래밍은 의사, 변호사 등과 같은 주류 직업으로 발전하여 하위 문화 참조 (락스타, 닌자 등)를 가져 왔습니다.
Adam Lear

3
@Adam Lear, 이것이 "프로그래밍 문화"의 필수 부분이라면, 나는 그런 "문화"와는 아무 관련이 없습니다. 내가 다른 개발자들과 경험 한 가장 깊은 유대는 능력과 장점에 기초한 것이었다.
jonathanconway

3
@ 아담-나는 배경을 이해하고, 나는 모든 것을 조금 십대 것으로 생각하며 20 대와 30 대 (또는 그 이상)에 들어가면 프로그래머를 심각한 전문가로 거부합니다. 프로그래머가 프로그래머 문화를 포기해야한다고 말하지는 않지만 XKCD와 Neal Stephenson을 읽거나 주말에 암호에 대해 배우는 데는 괴짜이지만 똑똑합니다. 이는 조금 유치합니다. 실제로 당신이 얻을 수있는 한 시원하지 않습니다.
Jon Hopkins

15

무술 전문가와 훌륭한 프로그래머가 공통적으로 가지고있는 개념 중 하나는 노력의 경제입니다. 무술 전문가는 낭비되는 운동을 피합니다. 좋은 프로그래머는 불필요한 코드를 피합니다.

투명성의 개념은 라이브러리 작성의 투명성으로 변환됩니다. 좋은 라이브러리에는 직관적 인 인터페이스가 있으므로 플러그를 꽂아도 걱정할 필요가 없습니다.

편집 : 나는 가장 중요한 것을 잊었다 : 닌자와 좋은 프로그래머는 훈련과 연습의 결과로 매우 숙련되어 있습니다.


1
1. 그것은 무술에 달려 있습니다. 쿵푸 또는 카포에라에서 낭비되는 움직임을 피할 수 있습니까? 2. 당신은 닌자 및 / 또는 프로그래머가 될 수 있으며 그것에 매우 나쁘다. 즉, 어쨌든 귀하의 답변에 감사드립니다;) +1

@ 피에르 : 감사합니다. 내 대답은 미세 조정을 사용할 수 있지만 질문이 유효하다는 것을 보여주기 위해 뭔가를 넣고 싶었습니다. 보시다시피, 이미 마감 투표가 하나 있습니다.
Larry Coleman

15

내가 이해하기에 모든 훌륭한 프로그래머가 닌자 인 것은 아닙니다. 닌자는 특별한 품종입니다. 닌자 프로그래머는 특이한 시간 (예 : 오전 3시)에 등장하는 사람들로, 평범한 사람들이 싫어하는 위험한 일을합니다. 프로덕션 서버에서) 보이지 않고 사라집니다.

분명히, 닌자는 그러한 스턴트를 규칙적으로 제거하고 생존하기 위해 뛰어난 기술 능력이 필요하지만, 많은 훌륭한 프로그래머는 그 설명에 전혀 적합하지 않습니다. 적절한 방법을 사용하면 닌자가 필요하지 않습니다. 반면에 불가능한 상황이 발생하면이를 보유하는 것이 좋습니다.


10

쿨러는 "차가움"과 "엘리트"요인 외에도 종종 은밀하며 보안을 피해 몰래 들어 와서는 안되는 곳으로 이동하는 것으로 알려져 있습니다. 이 특성은 해커가 공유하기 때문에 누군가 "닌자"가 좋은 타이틀이라고 생각합니다. IT 전문가가 아닌 사람에게는 해커와 프로그래머가 같은 것이며 "닌자"라는 단어가 매우 멋지다고 생각합니다.

논리는 다음과 같습니다.

닌자 = 과거에 안보를 숨길 수있는 은밀한 사람

과거에 보안을 몰래 숨길 수없는 은밀한 사람 = 해커가되어서는 안되는 곳

해커 = 프로그래머

따라서 닌자 = 프로그래머


모호한 비교의 계산적 속성을 통해 입증 된 또 다른 정리!
qualidafial

1
@qualidafial, 나는 당신이 전이를 의미한다고 확신합니다.
dan_waterworth

2

나는 여기에서 인기있는 감정에 반격 할 것입니다. 나는 닌자와 엔지니어 사이를 연결하기 위해 많은 낭만적 인 일이 일어나고 늘어나고 있다고 생각합니다. 나는 닌자가 들어오고, 일을하고, 감지되지 않고 보통 나가는 것처럼 단순하게 유지할 것이다 . 내가 할 수있는 유일한 도약은 하위 문화에서 척 노리스 대 닌자에 대한 농담을들을 수 있으며 분명히 모든 프로그래머가 척 노리스 또는 잭 바우어가되고 싶어하지만 척 노리스와 잭 바우어는 하나뿐이므로 우리는 각각 ( 익명) 닌자.

둘째, 닌자 는 와우에서 자주 사용되는 용어이며 부정적인 의미를 가질 수 있습니다. 또한 전통적인 닌자는 사무라이와 비교할 때 영광스럽지 않습니다. 따라서 사무라이의 모든 훌륭한 특성으로 인해 "사무라이 프로그래머"가 칭찬되고있는 외향적 인 특성이라면 더 자주 보게 될 것입니다. 이것이 바로 닌자 의 사용이 신비 롭고 망토와 단검, 몰래 기술을 강조하는 데 더 많은 아이디어가되는 이유 입니다. 보다 긍정적으로 돌리기 위해, 이것은 스파이 거래의 주식 기술입니다. 도적, 정보 및 비밀 요원 포함.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.