Neden iyi programcılar Ninjalar olarak adlandırılıyor? [kapalı]


36

Bir Ninja programcısı nasıl tanımlanır? Bu sadece deneyimli bir geliştirici ise, bunu tanımlamanın gerçekten daha iyi bir yolu yok mu? Ninja, geliştiricileri kendine ihtişamlı yanılsamalarla çekmek için tasarlanan çocukça bir pazarlama hilesi gibi görünüyor. Yoksa bir şey mi kaçırıyorum? Özellikle, karşılaştırmayı geçerli kılan programcılarda (soğukluk faktörünün yanı sıra) Ninja'nın hangi niteliklerinin istendiğini bilmek istiyorum?

Ninja özellikleri ile Çevik gelişim arasında iyi bir karşılaştırma yapan bu makaleyi buldum . Bununla birlikte, Ninja kelimesini işe alma amacıyla kullanan ve motivasyonlarının arkasında yatan insanlardan duymak istiyorum.

Güncelleme: Argümanın iki tarafında da birçok iyi nokta ortaya çıktı. Bunları blog yazımda özetlemeye çalıştım . JB'nin cevabını kabul edilen cevap olarak seçtim çünkü karşılaştırmanın yapılması için geçerli tüm nedenleri özetliyor.


3
Ninja dövüş sanatlarında uzmandır. İyi programcılar programlamada uzmandır.

5
Asla Ninja olarak adlandırılmadı. Öte yandan Guru veya Üstat ...
öğlen

40
Bu, işaretçilerle çalışırken bana 'Ninja yöntemini hatırlatıyor: Çalışana kadar yıldızları (*) atmanız yeterli. ^^
gablin

10
Doğru terim "katil kodlama ninja maymun guru yakışıklı kahraman sexmachine."
Saat

2
@maxpm, umarım "sexmachine" etiketi programlamada geçerli değildir?

Yanıtlar:


33

Aklıma göre bir Ninja ve iyi bir programcı arasında birkaç paralellik vardır:

  1. Gizli silahlar / sıradışı stil - 1980'lerden beri GI Joe çizgi filmini gördüyseniz, Storm Shadow'un karakterini hatırlayabilirsiniz . Kılıcı ve bazı yıldızları fırlatan yıldızları vardı, ama sadece doğru sıradaki yumruklar ve tekmeler bir bölümdeki bir tankı parçalamayı başardı. Benzer şekilde, programcılar, sahip olduklarını düşünmediğiniz silahları çıkarmalarını gerektiren bazı işler yapmak için çağrılabilir. Bu, birkaç yerde bahsedilen "Hacker" noktasının akrabası.

  2. Onur / saygı - Bunu daha çok GI Joe ya da Teenage Mutant Ninja Turtles gibi bir ninjaya ait Batı portrelerinde gördüğümden bahsettiğimde, ancak muhtemelen "Savaş Sanatı" ndan alınmış bir kişinin düşmanı onurlandırmak gibi görünüyordu. İyi programcılar orada bir yerde daha iyi olanlar olabileceğine saygı duyabilirler. Alçakgönüllülük de bir anlamda budur.

  3. Zımni ustalık - Tüm ninjaların usta olduğu ve bu yüzden iyi dövüşmeyi bilmeleri için becerilerini geliştirmiş oldukları varsayımı olabilir. İyi programcılar, benzer şekilde, işi tamamlamada oldukça faydalı olan bazı becerilerde uzman olabilirler.

Bunlar yüzeysel, "Ah, kulağa hoş geliyor" diye çıkarılan etkenler, yapışması için bir miktar et olması gerektiği anlamına geliyor. Samurai'nin daha doğru bir başlık olabileceği konusunda hemfikir olsam da, işler bir süre yanlış bir şekilde ortaya çıktıktan sonra, burada TMNT nin Ninja'ların ne kadar gizli paralı askerler olarak kabul edeceği gibi bir şey olmadığı için bir şeyleri uzlaştırmak zorunda kalıyor teknik olarak. Bununla birlikte, bu olumlu ışıkta Ninja'ların çizgi film tasvirleriyle büyüyen bizler için bu bizim için yapışan şeydir ve bu yüzden burada da bir nostalji unsuru da var.


19
Peki ya koyu kıyafetler ve fazla konuşmama? :-P
JBRWilkinson

Ssshhh ... stealth bu gizli silahlar arasında. :)
JB King

4
"Silahları arasında gizli, gizli silahlar ve iyi kodlama stillerine neredeyse fanatik bir bağlılık var ... aynı zamanda daha az konuşma ... bah! Tekrar geleceğim ..."
Timothy Baldridge

Samuray'ı düşünüyorsun. Ninjalar sadece kanlı katiller. Ninjalarla şeref yok.
BЈовић

Hiç "Teenage Mutant Ninja Turtles" ı çizgi film ya da film biçiminde gördün mü?
JB King,

41

Söylediğiniz gibi oldukça fazla - oldukça tenli karşılaştırmalar yaparak (genellikle ikisi de olmayanlar arasında) serinlik ve seçkinlik ima etme çabası.

Şahsen ben, insanları ölümüne çarpmak istememizi sağlayan "Rockstar Programcı" ifadesinden nefret ediyorum - bir alkol alışkanlığınız varsa ve en az bir araba ve bir otel odasını düşürdüğünüzde bir rock yıldızı programcısı olabilirsiniz ).

Sen bir programcısın, eğer bir programcı olmakla ilgili sorunlarınız varsa, çünkü daha havalı olduğunu düşündüğünüz bir şey yapmak istediğinizde (ya da daha havalı olduğunu düşündüğünüz bir şeyi yapmayı bırakınız). Başkalarının programcıları görüntülemesinden hoşlanmıyorsanız, o zaman bu onların size ait olmadığını anlayın.

Kesinlikle, ortalama 12 yaşını etkileyici olmak için biraz zorlandığınızı düşündürecek ifadelerle fikrini değiştirmeyeceksiniz.

/ rant

Düzenleme: Açık olmak gerekirse, rant sorgulayıcıya yönelik değildir ...


6
@Larry - Karşılaştırmaların çoğu diğer alanlarda gerçekten iyi profesyonellere eşit olarak uygulanabilir ancak ninja avukatlarına, ninja doktorlarına veya ninja hesaplarına alacak personeli (belki de Herbert Kornfeld hariç) alamazsınız. Programcıların neden bunu yapma gereği duydukları ilginç bir soru değil mi?
Jon Hopkins,

9
@Jom Hopkins, İngiltere'deki NHS ninja doktorlarla dolu ... kesinlikle onları görmüyorsunuz.
Kevin D

6
@ John Hopkins: Programlama kültürü alt kültür düzeyinde bağ ve mizahı teşvik eder. Pek çok programcı ninjaları serin olarak görür ve serin olmak ister ve bu yüzden ninja olarak adlandırılması oldukça harikadır. Doğal olarak, bu yönetim kurulu genelinde geçerli değildir ve bu tür şeylerden nefret eden programcılar vardır. Bu kişiye bağlıdır. Fakat genel olarak, programlama doktor, avukat vb. Gibi temel bir mesleğe dönüşmüştür ve beraberinde alt kültür referansları (rockstarlar, ninjalar, vb.) Getirmiştir
Adam Lear

3
@Adam Lear, bunun "programlama kültürünün" önemli bir parçası olması gerekiyorsa, böyle bir "kültür" ile hiçbir şey yapmak istemiyorum. Diğer geliştiricilerle yaşadığım en derin bağ, yetenek ve değere dayanıyordu.
jonathanconway

3
@Adam - Geçmişi anlıyorum, sadece her şeyi biraz genç buluyorum ve 20'li ve 30'lu yaşlarımızda (ve daha eski) olduğumuzda programcıları ciddi profesyoneller olarak inkar ettiğini düşünüyorum. Programcıların programcı kültürünü terk etmeleri gerektiğini söylemiyorum ama XKCD ve Neal Stephenson'ı okumak ya da hafta sonlarımızı kriptografi (geeky ama aynı zamanda akıllı olabilir) hakkında bir şeyler öğrenmek için harcamak arasında bir fark var. ve gerçekte alabildiğin kadar havalı olabileceğin hakkında.
Jon Hopkins

15

Dövüş sanatları uzmanlarının ve iyi programcıların ortak noktalarından biri de çaba ekonomisidir. Dövüş sanatları uzmanları israf hareketlerinden kaçınırlar; İyi programcılar gereksiz kodlardan kaçınırlar.

Görünmezlik kavramı kütüphane yazımında şeffaflığa dönüşmektedir. İyi bir kütüphane sezgisel bir arayüze sahiptir ve onu takıp endişelenmenize gerek yoktur.

EDIT: En önemli şeyi unuttum: Hem ninjalar hem de iyi programcılar, eğitim ve uygulama sonucunda oldukça yetenekliler.


1
1. Bu savaş sanatına bağlıdır. Kung fu veya capoeira'da boşa harcanan hareketlerden kaçındıklarından emin misiniz? 2. Bir ninja ve / veya programcı olabilir ve bu konuda çok kötü olabilirsiniz. Bununla birlikte, cevabınızı yine de takdir ediyorum;) +1

@Pierre: teşekkürler. Cevabım bazı ince ayarlamalar kullanabilirdi, ancak sorunun geçerli olduğunu göstermesine yardımcı olmak için bir şeyler koymak istedim. Gördüğünüz gibi, kapatılacak bir oy var.
Larry Coleman,

15

Anladığım kadarıyla, her iyi ya da mükemmel programcı bir Ninja değildir. Ninjalar özel bir cins. Bir Ninja programcısı, olağandışı zamanlarda ortaya çıkan (örn. Sabah 3), normal insanların isteksiz olduğu bazı tehlikeli şeyler yapar (on yıldan eski, iddiasız bir şekilde ele alınamayan bir programda doğrudan çok kritik bir hatayı düzeltmek için altıgen editör kullanmak gibi) üretim sunucusunda) ve görünmeyen ortadan kaybolur.

Açıkçası, bir Ninja bu tarz düzenlemeleri sürdürmek ve hayatta kalmak için mükemmel teknik becerilere ihtiyaç duysa da, birçok mükemmel programcı bu tanımlamaya uymuyor. Uygun yöntemlerle Ninja'ya gerek kalmaz. Öte yandan, imkansız olursa, olması iyi bir şeydir.


10

"Serinlik" ve "Elit" faktörlerine ek olarak, ninjalar genellikle gizlidir ve yapmamaları gereken yerlere girmek için güvenlikten gizlice geçme gibi şeyler yaptıkları bilinmektedir. Bu özellik Hackerlar tarafından paylaşıldığı için, birinin "Ninja" nın onlar için iyi bir başlık olacağını düşündüğünü düşünüyorum. BT üyesi olmayan bir kişi için, Hacker'lar ve Programcılar aynı şeydir ve "ninja" kelimesinin çok iyi olduğunu düşünüyorlar, bu yüzden sıkışmış

Yani mantık:

Ninja = Olmaması Gereken Yerlere Geçmişte Güvenlik Sızan Gizli Kişi

Olmaması Gereken Yerlere Geçmiş Güvenliği Gizlice Girebilen Gizli Kişi = Hacker

Hacker = Programcı

Bu nedenle, Ninja = Programcı


Başka bir teorem, şüpheli karşılaştırmaların değişmeli özelliği ile kanıtlanmıştır!
Niteliksel

1
@qualidafial, Geçişli demek istediğine eminim.
dan_waterworth

2

Burada popüler düşüncelere karşı geleceğim. Ninjalar ve mühendisler arasındaki bağlantıyı kurmak için çok fazla romantikleşme ve fazla gerginlik yaşandığını düşünüyorum. Ninjalar içeri girdiğinde, işi yaparken ve genellikle tespit edilmeden dışarı çıkarken basitleştirirdim . Yapacağım tek adım, alt kültürde Chuck Norris ve ninjalar hakkında şakalar duyabileceğiniz ve açıkçası her programcının Chuck Norris veya Jack Bauer olmak istediği, ancak sadece bir Chuck Norris ve Jack Bauer var. isimsiz) ninja.

İkincisi, ninja WoW'da sıkça kullanılan bir terimdir ve olumsuz çağrışımları olabilir. Ayrıca, geleneksel ninja, samuray ile karşılaştırıldığında onurlu değildir. Dolayısıyla, bir samurayın takdire şayan nitelikleriyle, övgüye değer dışa dönük algılanan nitelikler söz konusu olduğunda, "samuray programcısı" nı daha sık göreceğimizi düşünürdünüz. Bu yüzden ninja kullanımının gizemli, pelerin ve hançer, sinsi becerileri vurgulamak için daha fazla olduğu fikrine abone oldum . Daha olumlu döndürmek için, bunlar casus ticaretindeki hisse senedi becerileridir; haydutlar, istihbarat ve gizli ajanlar dahil.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.