8 ระดับของโปรแกรมเมอร์


คุณเคยได้รับคำถามสัมภาษณ์อันคลาสสิคไหม, “คุณจะเห็นตัวคุณอยู่ที่ไหนในอีก 5 ปี?” เมื่อถูกถาม ผมจะนึกย้อนกลับไปที่ วิดีโอ Twisted Sister ตอนหนึ่งในปี 1984 เสมอ


ผมอยากจะให้คุณบอกกับผม -ไม่, ดีกว่านั้น, บอกกับทุกคนในชั้นเรียน

คุณอยากจะทำอะไรกับชีวิตของคุณ?

คุณอยากจะร็อค, แน่นอน! หรืออย่างน้อยก็คือเป็น ร็อคสตาร์โปรแกรมเมอร์ (เป็นบทความที่ดีบทความหนึ่งครับ – ผู้แปล) มันไม่ใช่คำถามที่โดยทั่วไปจะได้รับคำตอบที่จริงจังเท่าไหร่ – เช่นเดียวกับคำถามเก่าๆในการสัมภาษณ์, “อะไรคือจุดอ่อนที่ใหญ่ที่สุดของคุณ?” มันคือคุณที่บางครั้งร็อคมากไป, ใช่ไหม? ผู้บริสุทธิ์ที่พบเจออาจได้รับความเจ็บปวดได้

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

คำถาม “คุณจะเห็นตัวคุณอยู่ที่ไหนในอีก 5 ปี” เป็นประเภทรวดเร็ว และผู้คนส่วนมากจะตอบกลับไปที่ผู้สัมภาษณ์อย่างรวดเร็วในแบบที่เตรียมตัวมา ก่อนแล้ว แต่มันแสดงให้เห็นความกังวลที่ลึกซึ้งยิ่งกว่า: อะไรคือเส้นทางอาชีพที่มีศักยภาพสำหรับผู้พัฒนาซอฟต์แวร์? แน่นอน, เราทำสิ่งพวกนี้ เพราะเรารักมัน, และเราก็ โชคดีมากในความคิดนั้น แต่คุณจะยังคงนั่งลงเขียนโปรแกรมในตอนที่คุณอายุ 50? ในตอนที่คุณอายุ 60? อะไรคือผลลัพธ์ของอาชีพที่ดีที่สุดที่เป็นไปได้สำหรับโปรแกรมเมอร์ที่มีความ ต้องการจะเป็น..อืม, โปรแกรมเมอร์?

จะเกิดอะไรขึ้นถ้าผมบอกคุณ, โดยไม่จริงจังเท่าไหร่, ว่ามันมี 8 ระดับของโปรแกรมเมอร์?
โปรแกรมเมอร์ระดับตำนาน (Dead Programmer)
นี่เป็นระดับที่สูงสุด โค้ดของคุณยังคงอยู่ข้ามผ่านความตายของคุณ คุณเป็นส่วนหนึ่งของประวัติศาสตร์ที่ได้รับการบันทึกของวงการคอมพิวเตอร์ โปรแกรมเมอร์คนอื่นๆ ศึกษางานและงานเขียนของคุณ คุณอาจชนะรางวัล Turing, หรือได้เขียนงานที่มีอิทธิพล หรือสร้างหนึ่งหรือสองสิ่งที่เป็นรากฐานของเทคโนโลยีที่ส่งผลต่อการเขียน โปรแกรมที่เรารู้จักกัน คุณไม่ได้มีแค่บทความ wikipedia ของตัวคุณเองเท่านั้น – มันมีเว็บไซต์ที่อุทิศแก่การศึกษาชีวิตและงานของคุณด้วย
โปรแกรมเมอร์น้อยคนที่ได้ไปถึงระดับนี้ในช่วงชีวิตของเขา
ตัวอย่าง: Dijkstra, Knuth, Kay
โปรแกรมเมอร์ที่ประสบความสำเร็จ (Successful Programmer)
โปรแกรมเมอร์ที่เป็นทั้งคนที่เป็นที่รู้จักกันดี และได้สร้างธุรกิจทั้งหมด หรืออาจขนาดทั้งอุตสาหกรรม – ด้วยโค้ดของพวกเขาเอง โปรแกรมเมอร์เหล่านี้ได้ให้ อิสระที่แท้จริง แก่ตัวพวกเขาเอง: อิสระที่พวกเขาจะตัดสินใจเลือกงานที่พวกเขาอยากทำเอง และการแบ่งปันอิสระนั้นแก่เพื่อนร่วมอาชีพ
นี่เป็นระดับที่โปรแกรมส่วนใหญ่ทุกคนควรอยากที่จะเป็น การที่จะได้ระดับนี้ขึ้นอยู่กับทักษะทางธุรกิจมากกว่าการเขียนโปรแกรม
ตัวอย่าง: Gates, Carmack, DHH
โปรแกรมเมอร์ที่มีชื่อเสียง (Famous Programmer)
นี่ก็เป็นอีกที่หนึ่งที่ควรอยู่, แต่ต้องยกเว้นว่าคุณต้องมีงานประจำ
คุณเป็นโปรแกรมเมอร์ที่มีชื่อเสียงในหมู่คนเขียนโปรแกรม แต่การมีชื่อเสียงไม่ได้ช่วยให้คุณสามารถสร้างรายได้หรือสนับสนุนตัวคุณเอง การมีชื่อเสียงเป็นเรื่องที่ดี แต่การประสบความสำเร็จเป็นเรื่อง ที่ดีกว่า คุณอาจจะได้ทำงานกับบริษัทเทคโนโลยีใหญ่ที่มีชื่อเสียง, บริษัทเล็กๆที่มีอิทธิพล, หรือเป็นส่วนหนึ่งของทีมสตาร์ตอัพที่ไม่ใหญ่โตนัก ไม่ว่าจะทางไหน โปรแกรมเมอร์คนอื่นๆ ได้ยินชื่อของคุณ และคุณได้ผลกระทบที่ดีในที่นั้นแล้ว
โปรแกรมเมอร์ที่ทำงานได้ (Working Programmer)
คุณได้มีอาชีพที่ประสบความสำเร็จสำหรับผู้พัฒนาซอฟต์แวร์ ทักษะของคุณอยู่ในความต้องการ และคุณไม่เคยที่จะต้องใช้เวลานานและยากลำบากสำหรับการหางานที่ดี เพื่อนร่วมงานนับถือคุณ ทุกบริษัทที่คุณทำงานด้วยได้ถูกพัฒนาและรุ่งเรื่องยิ่งขึ้นในสักทางจากการมี อยู่ของคุณ
แต่คุณจะไปที่ไหนจากตรงนั้น?
โปรแกรมเมอร์ระดับกลาง (Average Programmer)
ที่ระดับนี้คุณเป็นโปรแกรมเมอร์ที่ดีพอที่จะตระหนักได้ว่าคุณไม่ใช่โปรแกรมเมอร์ที่ยิ่งใหญ่ และคุณอาจเป็นไม่ได้
พรสวรรค์มักจะมีส่วนน้อยต่อความสำเร็จ คุณสามารถประสบความสำเร็จได้ถ้าคุณมีทักษะด้านธุรกิจและผู้คน ถ้าคุณเป็นโปรแกรมเมอร์ระดับกลาง ที่สามารถใช้ชีวิตอยู่ตรงนั้นได้แสดงว่าคุณได้รับพรสวรรค์, แค่ไม่จำเป็นว่าจะต้องเป็นที่การเขียนโปรแกรม
อย่าดูถูกคุณค่าของการรู้ตัวเอง มันเป็นสิ่งที่มีค่ามากกว่าที่คุณตระหนัก มันไม่มีอะไรผิดกับการที่ไม่มีพรสวรรค์ จงกล้าหาญ มองให้ออกว่าอะไรที่คุณทำได้ดี และไล่ตามมัน อย่างหนักหน่วง
โปรแกรมเมอร์สมัครเล่น (Amateur Programmer)
โปรแกรมเมอร์สมัครเล่นที่รักที่จะเขียนโปรแกรม, และมันแสดงให้เห็นว่าเป็นแบบนั้น: พวกเขาอาจจะเป็นนักศึกษาอนาคตไกล หรือเด็กฝึกงาน, หรืออาจจะมีส่วนร่วมในการโครงการ open source, หรือสร้างสรรค์โปรแกรมหรือเว็บไซต์ที่น่าสนใจในเวลาว่าง “เพียงเพื่อความสนุก” โค้ดและความคิดของพวกเขาแสดงถึงสัญญาณแห่งความสำเร็จและความกระตือรือร้น
การเป็นโปรแกรมเมอร์สมัครเล่นเป็นสิ่งที่ดี จากระดับตรงนี้ คนๆหนึ่งสามารถไปสู่การเป็นโปรแกรมเมอร์ที่ทำงานได้อย่างรวดเร็ว
โปรแกรมเมอร์ที่ไม่เป็นที่รู้จัก (Unknown Programmer)
โปรแกรมเมอร์ทั่วๆไป เก่ง แต่ไม่ถึงกับโดดเด่น อาจจะทำงานให้กับบริษัทขนาดใหญ่, บริษัทนิรนาม MegaCorp มันเป็นแค่งาน ไม่ใช่ทั้งชีวิตของพวกเขา ไม่มีอะไรผิดเกี่ยวกับสิ่งนั้น, เช่นกัน
โปรแกรมเมอร์ที่แย่ (Bad Programmer)
ผู้คนที่บางครั้งหล่นไปอยู่ในตำแหน่งโปรแกรมโดยที่ไม่มีทักษะหรือความสามารถแม้แต่นิด ทุกๆสิ่งที่พวกเขาแตะ กลายเป็นความเจ็บปวดและทรมาณ สำหรับเพื่อนโปรแกรมเมอร์รอบข้าง – ที่เป็นไปได้ว่าจะเป็นโปรแกรมเมอร์ที่แย่คนอื่นๆ, ที่ขาดทักษะพื้นฐานที่จะบอกได้ว่าพวกเขากำลังทำงานกับโปรแกรมเมอร์ที่แย่
ซึ่ง, บางที, อาจจะเป็นเครื่องหมายสำหรับโปรแกรมเมอร์ที่แย่ทุกคน คนเหล่านี้ไม่มีธุระกับการเขียนโค้ดในทุกๆ รูปแบบ – แต่พวกเขาก็ทำ, อย่างไรก็ตาม

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

ในประโยคสั้นๆ, คุณอยากจะทำอะไรกับชีวิตของคุณ?



ที่มา http://xenon.kmi.tl/?p=24

ต้นฉบับ: http://www.codinghorror.com/blog/2009/04/the-eight-levels-of-programmers.html

โดย Jeff Atwood @ Coding Horror

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

หมายเหตุ: มีเพียงสมาชิกของบล็อกนี้เท่านั้นที่สามารถแสดงความคิดเห็น