ผู้อาวุโสมากเกินไปในหนึ่งทีม? [ปิด]


15

การมีโปรแกรมเมอร์อาวุโสจำนวนมากเกินไปในหนึ่งทีมกลายเป็นเรื่องเลวร้ายได้หรือไม่?

ถ้าพูดอย่างนั้นโปรแกรมเมอร์อาวุโส 4-5 คนในทีม 6-7 คน จำนวน / อัตราส่วนที่เหมาะสมที่สุดในสถานการณ์ประเภทนี้คืออะไร?

สิ่งนี้นำไปสู่ปรัชญาและข้อโต้แย้งเกี่ยวกับแนวคิดมากเกินไปหรือไม่

มีใครมีประสบการณ์เช่นนี้บ้างที่สามารถแบ่งปันกับฉันได้บ้าง


มีสถาปนิกไหม? ผู้พัฒนาที่มีอัลฟ่าจำนวนมากต้องการคนที่อยู่เหนือพวกเขาเพื่อเตรียมศักยภาพในการสร้างสรรค์ ;-) ครั้งสุดท้ายที่ฉันทำงานในโครงการที่มีผู้อาวุโสมากมายเดือนแรกคือเฮฮา มีมากเกินไป "refactorings" และ "การออกแบบใหม่" เพราะมากเกินไป "ความคิดสร้างสรรค์" จุดของมุมมอง :-)
LAIV

คำตอบ:


40

ถ้าฉันเลือกได้ฉันจะมีผู้อาวุโส 6-7 คนในทีม (สมมติว่าโครงการต้องการหลายอย่าง)

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

ไม่มีอะไรจะดีไปกว่าการทำงานกับกลุ่มคนที่ชื่นชมว่าการพัฒนาซอฟต์แวร์ทุกชิ้นนั้นมีความสำคัญไม่ว่าจะเป็นเอกสารการวางแผนรหัสกาแฟทุกเรื่องสำคัญและต้องใช้ผู้พัฒนาที่เป็นผู้ใหญ่ ไม่มีอะไร "และทำงานให้เสร็จอย่างถูกต้อง

แก้ไข : คำตอบอื่น ๆ อีกมากมายได้กล่าวว่าผู้นำมากเกินไปเป็นปัญหา - แต่ทำไมมีการรับรู้ว่าผู้อาวุโสต้องนำ? ผู้อาวุโสควรมีวุฒิภาวะมากพอที่จะเลือกผู้นำและติดตาม มันเป็นโครงการที่มีความสำคัญ - เลือก / รับบทบาทและเขย่ามันให้โง่!


1
ทรูซีเนียร์ Devs ไม่ได้ที่จะนำ แต่พวกเขามักจะมีบางส่วนที่รับผิดชอบนำ ซึ่งอาจแตกต่างกันไปในองค์กร ...
FrustratedWithFormsDesigner

10
เห็นพ้อง! ผู้ปฏิบัติงานซอฟต์แวร์ระดับสูงที่แท้จริงควรมีทักษะและวุฒิภาวะทางวิชาชีพเพื่อให้สามารถย้ายเข้าและออกจากตำแหน่งผู้นำตามที่องค์กรต้องการ ทีมผู้อาวุโสที่แท้จริงทำงานเหมือนวงดนตรีแจ๊สมากกว่าวงออเคสตรา
bit-twiddler

Oh! นั่นเป็นคำตอบที่ฉันพยายามเขียนก่อนหน้านี้ แต่ไม่สามารถไปได้ +1
pdr

10

ปัญหาที่ใหญ่ที่สุดที่ฉันเห็นเมื่อโหลดทีมกับโปรแกรมเมอร์อาวุโสคือมันอาจทำให้ทีมอื่นอ่อนแอลง หากคุณมีผู้พัฒนารุ่นน้องในทีมอื่นที่ต้องการคำปรึกษาและคำแนะนำคุณอาจต้องเปลี่ยนผู้คนรอบตัว

สิ่งนี้นำไปสู่ปรัชญาและข้อโต้แย้งเกี่ยวกับแนวคิดมากเกินไปหรือไม่

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


นอกจากนี้คุณค่าทางการศึกษาของผู้สูงอายุก็ลดน้อยลงเพราะพวกเขาไม่มีใครสอน
Basilevs

7

การมีโปรแกรมเมอร์อาวุโสจำนวนมากเกินไปในหนึ่งทีมกลายเป็นเรื่องเลวร้ายได้หรือไม่?

อย่างแน่นอน.

ฉันเป็นผู้แสดงใหญ่ของเฟร็ดบรูคส์รูปแบบทีมผ่าตัด

ถ้าผู้อาวุโสในทีมพัฒนาไม่รู้ว่าใครเป็น "หัวหน้าศัลยแพทย์" พวกเขาจะปะทะกันในการตัดสินใจทางสถาปัตยกรรมที่สำคัญและจะดึงไปในทิศทางที่แตกต่างกันไปสู่ความเสียหายของทีม

PS ความต้องการของทีมพัฒนาสำหรับ "หัวหน้าศัลยแพทย์" นั้นคล้ายคลึงกับความต้องการวงดนตรีของวงออเคสตรา ไม่ว่าในกรณีใดคุณจะมีทหารผ่านศึกมากมาย แต่คุณจะมีระเบียบที่ดีโดยไม่มีคนคนหนึ่งที่ไม่มีปัญหารับผิดชอบ


7
เฉพาะทีมที่อาวุโสหมายถึง "ประสบการณ์ห้าปี" เท่านั้นที่จะต้องมี "หัวหน้าศัลยแพทย์" ทุกคนในทีมของฉันมีมากกว่าสี่สิบ เราใช้แบบจำลองความร่วมมืออย่างเต็มที่เพื่อแบ่งโครงการ เราเป็นเหมือนวงดนตรีแจ๊ส
bit-twiddler

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

1
และสมมติว่าคุณเห็นว่าตัวเองเป็นหัวหน้าศัลยแพทย์?
William Pietri

3

ขึ้นอยู่กับวิธีกระจายความรับผิดชอบ ถ้าทั้งหมดของ Sr. Devs นั้นควรจะมีความรับผิดชอบที่เท่าเทียมกันในการออกแบบการตรวจสอบโค้ด ฯลฯ ... จากนั้นอาจกลายเป็นปัญหา หากพวกเขาได้รับความรับผิดชอบที่แตกต่างกันเช่นที่พวกเขาสามารถทำงานได้โดยไม่ต้องต่อสู้กับการควบคุมโดเมนของแต่ละคนมันก็ไม่น่าจะมีปัญหา - ยกตัวอย่างเช่น Senior Dev คนหนึ่งได้รับหน้าที่รับผิดชอบหลักในการออกแบบโครงการ การตั้งค่าและการบำรุงรักษาแหล่งเก็บข้อมูลอีกส่วนหนึ่งจะต้องรับผิดชอบการทดสอบต่อหน่วย ฯลฯ


2
ผู้ปฏิบัติงานซอฟต์แวร์ทุกคนในทีมของฉันมีความรับผิดชอบและอำนาจเท่ากัน เราเป็นทีมขนาดเล็ก แต่มีประสบการณ์สูงและทำงานเป็นทีมที่มีขนาดใหญ่กว่ามาก
bit-twiddler

1
หากนักพัฒนาไม่ทราบวิธีการทำงานร่วมกันโดยไม่จำเป็นต้องมีโดเมนที่กำหนดไว้แสดงว่าพวกเขายังไม่อาวุโส
William Pietri

3

การมีโปรแกรมเมอร์อาวุโสจำนวนมากเกินไปในหนึ่งทีมกลายเป็นเรื่องเลวร้ายได้หรือไม่?

ไม่จำเป็น. ฉันได้ทำงานกับทีมเล็ก ๆ ของนักพัฒนาอาวุโสที่มีประสิทธิภาพสูง วาทกรรมระดับสูงมากและไม่มีความอาฆาตแค้น

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


2

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

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

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


2

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

ปัจจุบันฉันทำงานกับทีมงาน 8 คนโดยที่ 5 หรือ 6 เป็นรุ่นพี่และมันก็ใช้ได้ดีสำหรับเรา เราเข้ากันได้ดีเรียนรู้จากกันและกันและเป็นสภาพแวดล้อมการให้คำปรึกษาที่ยอดเยี่ยมสำหรับคนรุ่นใหม่ที่เรามี


2
ในความเห็นต่ำต้อยของฉันชื่อ "อาวุโส" ยังบ่งบอกถึงระดับความเป็นมืออาชีพ
bit-twiddler

หากนักพัฒนาอาวุโสมีความจองหองและโต้แย้งพวกเขาจะไม่ดีกับทีมใด ๆ มันชัดเจนมากขึ้นกับผู้พัฒนาระดับสูงคนอื่น ๆ เพราะพวกเขารู้ว่าจะไม่ทนกับเรื่องไร้สาระ
William Pietri

1

ฉันทำงานในทีมที่มีนักพัฒนา 1 คนนักพัฒนาอาวุโส 4 คนและนักพัฒนาระดับกลาง 1 คน และด้วยเหตุผลที่ว่า "สมาชิกอาวุโส" คนหนึ่งในทีมไม่ใช่คนที่โตเต็มที่ (นักพัฒนาที่ดี) มันกลายเป็นฝันร้าย เขาพยายามที่จะพิสูจน์ตลอดเวลา (โดยปริยายหรือโดยชัดแจ้ง) ว่าสมาชิกในทีมคนอื่นไม่อาวุโสพอ นอกจากนี้เขายังไม่เข้าใจหลักการพื้นฐานของการพัฒนาซอฟต์แวร์และข้อมูลเฉพาะของผลิตภัณฑ์ของเราดังนั้นจึงพยายามพิสูจน์อย่างดื้อรั้นและดื้อรั้นว่าเขาพูดถูก เป็นผลให้มันส่งผลกระทบต่อประสิทธิภาพของทีมอย่างจริงจัง ส่วนที่น่าเศร้าก็คือมันก็ไม่ได้โต้แย้งมากเกินไปเกี่ยวกับความคิด / การแก้ปัญหา - มันเป็นข้อโต้แย้งเกี่ยวกับอะไร ตัวอย่างเช่น:

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

แต่ฉันยอมรับว่ามันเป็นข้อยกเว้น ฉันอยากจะเชื่อว่าผู้อาวุโสทำตัวให้เหมาะสมเป็นส่วนใหญ่ :)


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