ทำไมโปรแกรมเมอร์ที่ดีถึงเรียกว่านินจา? [ปิด]


36

โปรแกรมเมอร์นินจาถูกกำหนดอย่างไร? หากเป็นเพียงนักพัฒนาที่มีประสบการณ์แล้วไม่มีวิธีที่ดีกว่าในการอธิบายสิ่งนั้นหรือไม่? นินจาฟังดูเหมือนเป็นลูกตลาดที่ออกแบบมาเพื่อดึงดูดนักพัฒนาด้วยความหลงผิดของตนเอง หรือฉันกำลังพลาดอะไรอยู่? โดยเฉพาะฉันต้องการทราบว่าคุณสมบัติของ Ninja เป็นที่ต้องการในโปรแกรมเมอร์ที่ทำให้การเปรียบเทียบมีผล (นอกเหนือจากปัจจัยความเท่)?

ฉันได้พบบทความนี้ซึ่งทำให้การเปรียบเทียบที่ดีระหว่างลักษณะนินจาและการพัฒนาความคล่องตัว อย่างไรก็ตามฉันต้องการที่จะได้ยินจากคนที่ใช้คำว่า Ninja เพื่อการจ้างงานและแรงจูงใจของพวกเขาอยู่ข้างหลัง

อัปเดต:มีการให้คะแนนที่ดีมากมายทั้งสองด้านของการโต้แย้ง ฉันได้พยายามที่จะสรุปเหล่านี้ในการโพสต์บล็อกของฉัน ฉันเลือกคำตอบของ JB ว่าเป็นคำตอบที่ยอมรับได้เพราะมันสรุปเหตุผลที่ถูกต้องทั้งหมดเพื่อทำการเปรียบเทียบ


3
นินจาเป็นผู้เชี่ยวชาญด้านศิลปะการต่อสู้ โปรแกรมเมอร์ที่ดีมีความเชี่ยวชาญในการเขียนโปรแกรม

5
ไม่เคยถูกเรียกว่านินจา Guru หรือ Master ในทางกลับกัน ...
noone

40
สิ่งนี้ทำให้ฉันนึกถึง 'วิธีการนินจา' เมื่อทำงานกับพอยน์เตอร์: เพียงแค่โยนดาว (*) ไปรอบ ๆ จนกว่ามันจะได้ผล ^^
gablin

10
คำที่ถูกต้องคือ "การเข้ารหัสนักฆ่าปราชญ์นินจาลิงปรมาจารย์ฮีโร่หล่อ sexmachine"
Maxpm

2
@ maxpm หวังว่าฉลาก "sexmachine" จะไม่เกี่ยวข้องในขณะที่กำลังเขียนโปรแกรมอยู่หรือไม่

คำตอบ:


33

ในใจของฉันมีบางแนวระหว่างนินจาและโปรแกรมเมอร์ที่ดี:

  1. อาวุธที่ซ่อนอยู่ / สไตล์แหกคอก - หากคุณเคยเห็นการ์ตูน GI Joe มาตั้งแต่ปี 1980 คุณอาจจำตัวละครStorm Shadowได้ เขามีดาบและมีดาวขว้างอยู่บ้าง แต่ด้วยการต่อยที่ถูกต้องและเตะเพื่อแยกรถถังออกจากกันในตอนนี้ ในทำนองเดียวกันโปรแกรมเมอร์สามารถถูกเรียกให้ทำงานบางอย่างที่ต้องการให้พวกเขาดึงอาวุธที่คุณอาจไม่เคยคิดมาก่อน นี่เป็นญาติของ "แฮ็กเกอร์" ที่ได้รับการกล่าวถึงในบางสถานที่

  2. ให้เกียรติ / ความเคารพ - ได้รับว่าฉันได้เห็นสิ่งนี้มากขึ้นในการพรรณนาทางทิศตะวันตกของนินจาเช่น GI Joe หรือเต่านินจากลายพันธุ์ แต่ดูเหมือนว่าจะมีทัศนคติของการเคารพศัตรูคนนี้อาจนำมาจาก "Art of War" โปรแกรมเมอร์ที่ดีสามารถเคารพว่ามีบางสิ่งที่ดีกว่า ความอ่อนน้อมถ่อมตนก็เป็นเช่นนี้ในแง่หนึ่ง

  3. ความเชี่ยวชาญโดยนัย - อาจมีสมมติฐานนี้ว่านินจาทุกคนเป็นผู้เชี่ยวชาญและได้ฝึกฝนทักษะของพวกเขาให้รู้วิธีการต่อสู้ที่ดี โปรแกรมเมอร์ที่ดีอาจมีความเชี่ยวชาญคล้าย ๆ กันซึ่งค่อนข้างมีประโยชน์ในการทำงานให้สำเร็จ

นี่เป็นเพียงส่วนน้อยที่เกินความตื้นลึก "โอ้ฟังดูเจ๋ง" ความหมายที่จะต้องมีเนื้อติดมัน ในขณะที่ฉันยอมรับว่าซามูไรอาจเป็นชื่อที่ถูกต้องมากขึ้นเมื่อสิ่งต่าง ๆ ออกมาในรูปแบบที่ไม่ถูกต้องคนหนึ่งจะต้องคืนดีกับสิ่งต่าง ๆ ที่นี่เพราะ TMNT ไม่ใช่สิ่งที่คนส่วนใหญ่คิดว่าเป็นทหารรับจ้างแอบแฝงนั่นคือนินจา ในทางเทคนิค อย่างไรก็ตามสำหรับพวกเราที่เติบโตขึ้นมาพร้อมกับภาพการ์ตูนของนินจาในแง่บวกนี้นี่คือสิ่งที่อาจติดอยู่กับเราและดังนั้นจึงมีองค์ประกอบของความคิดถึงที่นี่เช่นกัน


19
แล้วเสื้อผ้าสีเข้มและไม่พูดอะไรมาก :-P
JBRWilkinson

Ssshhh ... การซ่อนตัวเป็นหนึ่งในอาวุธที่ซ่อนอยู่ :)
JB King

4
"ในบรรดาอาวุธของพวกเขาคือการลักลอบอาวุธที่ซ่อนเร้นและความคลั่งไคล้ในรูปแบบการเขียนโค้ดที่ดี .... นอกจากนี้ยังพูดน้อย ... บา! ฉันจะเข้ามาอีกครั้ง ... "
ทิโมธี Baldridge

คุณกำลังคิดถึงซามูไร นินจาเป็นเพียงนักฆ่าเลือด ไม่มีเกียรติกับนินจา
BЈовић

เคยเห็น "เต่านินจา" ในรูปแบบการ์ตูนหรือภาพยนตร์หรือไม่?
JB King

41

มันค่อนข้างมากที่คุณพูด - ความพยายามที่จะบ่งบอกถึงความเยือกเย็นและมีคุณสมบัติ (บ่อยครั้งในหมู่คนที่ไม่ใช่) โดยการเปรียบเทียบความผอมบาง

โดยส่วนตัวแล้วฉันเกลียดวลีนี้ (รวมถึง "Rockstar Programmer" ซึ่งทำให้เราต้องการทุบตีผู้คนถึงตาย - คุณสามารถเป็นโปรแกรมเมอร์ rockstar เมื่อคุณติดยาเสพติดเป็นปัญหาแอลกอฮอล์และทิ้งถังขยะอย่างน้อยหนึ่งคันและห้องในโรงแรมหนึ่งห้อง )

คุณเป็นโปรแกรมเมอร์ถ้าคุณมีปัญหาเกี่ยวกับการเป็นโปรแกรมเมอร์เพราะคุณต้องการทำสิ่งที่คุณคิดว่าน่าสนใจแล้วจัดการกับพวกเขา (หรือออกไปทำสิ่งที่คุณคิดว่าเย็นกว่า) หากคุณไม่ชอบวิธีที่คนอื่นมองโปรแกรมเมอร์แล้วเข้าใจว่านั่นไม่ใช่ปัญหาของพวกเขา

แน่นอนว่าคุณจะไม่เปลี่ยนความคิดด้วยวลีที่จะทำให้อายุเฉลี่ย 12 ปีคิดว่าคุณพยายามอย่างหนักที่จะทำให้ประทับใจ

/ พูดจาโผงผาง

แก้ไข: เพื่อความชัดเจนคำพูดจาโผงผางไม่ได้มุ่งเป้าไปที่ผู้ถาม ...


6
@ Larry - การเปรียบเทียบส่วนใหญ่สามารถนำไปใช้อย่างเท่าเทียมกันกับมืออาชีพที่ดีจริง ๆ ในด้านอื่น ๆ แต่คุณไม่ได้รับนักกฎหมายทนายความแพทย์นินจาหรือพนักงานบัญชีลูกหนี้นินจา (ยกเว้น Herbert Kornfeld) คำถามที่น่าสนใจไม่ใช่หรือว่าทำไมโปรแกรมเมอร์ถึงรู้สึกว่าต้องทำสิ่งนี้?
Jon Hopkins

9
@Jom Hopkins, พลุกพล่านในสหราชอาณาจักรเต็มไปด้วยแพทย์นินจา ... แน่นอนคุณไม่เคยเห็นพวกเขา
Kevin D

6
@ Jon Hopkins: วัฒนธรรมการเขียนโปรแกรมส่งเสริมการเชื่อมโยงและวัฒนธรรมในระดับวัฒนธรรมย่อย โปรแกรมเมอร์หลายคนมองว่านินจานั้นเท่ห์และต้องการที่จะเท่ห์ดังนั้นการถูกเรียกว่านินจานั้นยอดเยี่ยมมาก ตามปกติแล้วสิ่งนี้จะไม่นำไปใช้กับทุกคณะและมีโปรแกรมเมอร์ที่เกลียดสิ่งนั้น มันขึ้นอยู่กับบุคคล แต่โดยทั่วไปการเขียนโปรแกรมพัฒนากลายเป็นอาชีพหลักเช่นแพทย์ทนายความ ฯลฯ และนำมาอ้างอิงวัฒนธรรมย่อย (ร็อคสตาร์นินจา ฯลฯ )
อดัมเลียร์

3
@ Adam Lear ถ้านี่ควรจะเป็นส่วนสำคัญของ "วัฒนธรรมการเขียนโปรแกรม" ฉันไม่ต้องการอะไรกับ "วัฒนธรรม" ความผูกพันที่ลึกซึ้งที่สุดที่ฉันเคยพบกับนักพัฒนาคนอื่นนั้นมาจากความสามารถและข้อดี
jonathanconway

3
@ อดัม - ฉันเข้าใจพื้นหลังฉันเพิ่งพบว่าทั้งวัยรุ่นและฉันคิดว่ามันเป็นการลบล้างโปรแกรมเมอร์ในฐานะมืออาชีพที่จริงจังเมื่อเราเข้าสู่ยุค 20 และ 30 ของเรา (และมากกว่า) ฉันไม่ได้บอกว่าโปรแกรมเมอร์ควรละทิ้งวัฒนธรรมโปรแกรมเมอร์ แต่มีความแตกต่างระหว่างการพูดการอ่าน XKCD และ Neal Stephenson หรือใช้เวลาช่วงวันหยุดสุดสัปดาห์ของเราเรียนรู้เกี่ยวกับการเข้ารหัส (ซึ่งอาจเป็น geeky แต่ฉลาดเกินไป) และในความเป็นจริงเกี่ยวกับไกลจากที่เย็นที่สุดที่คุณจะได้รับ
Jon Hopkins

15

แนวคิดหนึ่งที่ผู้เชี่ยวชาญศิลปะการต่อสู้และโปรแกรมเมอร์ที่ดีมีเหมือนกันคือเศรษฐกิจแห่งความพยายาม ผู้เชี่ยวชาญศิลปะการต่อสู้หลีกเลี่ยงการเคลื่อนไหวที่สูญเปล่า โปรแกรมเมอร์ที่ดีหลีกเลี่ยงรหัสที่ไม่จำเป็น

แนวคิดของการล่องหนแปลเพื่อความโปร่งใสในการเขียนห้องสมุด ไลบรารีที่ดีมีอินเทอร์เฟซที่ใช้งานง่ายและคุณสามารถเสียบเข้าและไม่ต้องกังวลกับมัน

แก้ไข: ฉันลืมสิ่งที่สำคัญที่สุด: ทั้งนินจาและโปรแกรมเมอร์ที่ดีมีทักษะสูงเนื่องจากการฝึกอบรมและการปฏิบัติ


1
1. มันขึ้นอยู่กับศิลปะการต่อสู้ คุณแน่ใจหรือไม่ว่าพวกเขาหลีกเลี่ยงการสูญเสียการเคลื่อนไหวในกังฟูหรือคาโปเอร่า? 2. คุณสามารถเป็นนินจาและ / หรือโปรแกรมเมอร์และเป็นคนที่แย่มาก ๆ ที่กล่าวว่าฉันขอขอบคุณคำตอบของคุณต่อไป;) +1

@ เปียโน: ขอบคุณ คำตอบของฉันสามารถใช้การปรับแต่งบางอย่าง แต่ฉันต้องการนำบางสิ่งออกมาเพื่อช่วยแสดงให้เห็นว่าคำถามนั้นถูกต้อง อย่างที่คุณเห็นมีการโหวตหนึ่งครั้งที่จะปิด
Larry Coleman

15

ในความเข้าใจของฉันไม่ใช่โปรแกรมเมอร์ที่ดีหรือยอดเยี่ยมทุกคนคือนินจา นินจาเป็นสายพันธุ์พิเศษ โปรแกรมเมอร์นินจาคือผู้ที่ปรากฏตัวในเวลาที่ผิดปกติ (เช่น 3 โมงเช้า) ทำสิ่งที่อันตรายที่คนปกติลังเล (เช่นใช้โปรแกรมแก้ไข hex เพื่อแก้ไขข้อบกพร่องที่สำคัญอย่างยิ่งในทศวรรษที่ผ่านมา บนเซิร์ฟเวอร์ที่ใช้งานจริง) และหายไปโดยมองไม่เห็น

เห็นได้ชัดว่าถึงแม้ว่านินจาต้องการทักษะทางเทคนิคที่ยอดเยี่ยมในการกำจัดกฎเกณฑ์และเอาชีวิตรอดออกไป แต่โปรแกรมเมอร์ที่ยอดเยี่ยมหลายคนก็ไม่สามารถอธิบายได้อย่างสมบูรณ์ ด้วยวิธีการที่เหมาะสมในสถานที่ไม่จำเป็นสำหรับนินจา ในทางตรงกันข้ามถ้าเป็นไปไม่ได้เกิดขึ้นมันเป็นสิ่งที่ดีที่จะมี


10

นอกเหนือจากปัจจัย "ความเด็ดเดี่ยว" และ "ยอดเยี่ยม" แล้วนินจามักจะหลบซ่อนตัวและเป็นที่รู้กันว่าทำสิ่งต่าง ๆ เช่นการรักษาความปลอดภัยที่ผ่านมาเพื่อเข้าไปในสถานที่ที่พวกเขาไม่ควรทำ เนื่องจากลักษณะนี้แชร์โดยแฮกเกอร์ฉันคิดว่ามีคนคิดว่า "นินจา" จะเป็นชื่อที่ดีสำหรับพวกเขา สำหรับคนที่ไม่ใช่ด้านไอทีแฮกเกอร์และโปรแกรมเมอร์เป็นสิ่งเดียวกันและพวกเขาคิดว่าคำว่า "นินจา" นั้นเจ๋งมากดังนั้นมันจึงติดอยู่

ดังนั้นตรรกะคือ:

นินจา = บุคคลที่มีเล่ห์เหลี่ยมที่สามารถซ่อนความปลอดภัยในอดีตไว้ในที่ที่ไม่ควรเป็น

บุคคลที่มีเล่ห์เหลี่ยมที่สามารถซ่อนการรักษาความปลอดภัยในอดีตไว้ในที่ที่ไม่ควรเป็น Hacker

Hacker = โปรแกรมเมอร์

ดังนั้น Ninja = โปรแกรมเมอร์


ทฤษฎีบทอีกข้อพิสูจน์ผ่านคุณสมบัติการสับเปลี่ยนของการเปรียบเทียบที่น่าสงสัย!
qualidafial

1
@qualidafial ฉันค่อนข้างแน่ใจว่าคุณหมายถึงสกรรมกริยา
dan_waterworth

2

ฉันจะไปตอบโต้ความเชื่อมั่นที่เป็นที่นิยมที่นี่ ฉันคิดว่ามีความโรแมนติกเกิดขึ้นมากมายและยืดเยื้อเพื่อเชื่อมต่อระหว่างนินจากับวิศวกร ฉันจะให้มันง่ายเป็นนินจาที่ได้รับในการทำงานและได้รับการออกมักจะไม่มีการตรวจพบ ก้าวกระโดดเดียวที่ฉันจะทำคือในวัฒนธรรมย่อยคุณสามารถฟังเรื่องตลกเกี่ยวกับ Chuck Norris กับนินจาและเห็นได้ชัดว่าโปรแกรมเมอร์ทุกคนต้องการ Chuck Norris หรือ Jack Bauer แต่มี Chuck Norris และ Jack Bauer เพียงคนเดียวดังนั้นเราจึงสามารถเป็น ( นินจา)

ประการที่สองนินจาเป็นคำที่ใช้บ่อยใน WoW และอาจมีความหมายเชิงลบ นอกจากนี้นินจาโบราณยังไม่ได้รับเกียรติเมื่อเทียบกับซามูไร ดังนั้นด้วยคุณสมบัติที่น่าชื่นชมของซามูไรคุณจะคิดว่าเราจะเห็น "โปรแกรมเมอร์ซามูไร" บ่อยขึ้นหากเป็นกรณีที่เป็นคุณสมบัติการรับรู้ภายนอกที่ได้รับการยกย่อง นี่คือเหตุผลที่ฉันสมัครเป็นสมาชิกของแนวคิดที่ว่าการใช้นินจานั้นมีมากขึ้นเพื่อเน้นทักษะที่ลึกลับเสื้อคลุมและกริชส่อเสียด หากต้องการปั่นมันในเชิงบวกมากขึ้นเหล่านี้เป็นทักษะหุ้นในการค้าสายลับ; อันธพาลสติปัญญาและความลับรวม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.