บทบาทของนักพัฒนาเว็บอาวุโสในทีมคืออะไร? [ปิด]


20

ด้วยทีมนักพัฒนาเว็บอีก 3 คนฉันมีชื่อเป็นผู้พัฒนาเว็บหลักสำหรับปีนี้ นี่เป็นงานแรกของฉันในฐานะผู้นำ

ฉันค่อนข้างจะตั้งบทบาทของฉันจากการจัดการ ฉันอยากรู้ว่านักพัฒนาระดับอาวุโสคนอื่น ๆ ทำอะไร ฉันอยากรู้เกี่ยวกับสิ่งที่คนอื่น ๆ มีความรับผิดชอบเป็นผู้นำ / นักพัฒนาอาวุโสในองค์กรอื่น ๆ ; เนื่องจากฉันเพิ่งพบว่าทำงานใน บริษัท ขนาดเล็ก / กลาง

(a) เราคาดหวังอะไรจากผู้พัฒนาเว็บอาวุโส / ลูกค้าเป้าหมายระดับสูงขององค์กร (ไม่คำนึงถึงขนาด)

(b) มีความแตกต่างระหว่างผู้นำการพัฒนาเว็บและผู้พัฒนาเว็บอาวุโสหรือไม่?

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

คำตอบ:


22

มุมมองของผู้จัดการโครงการ

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

มุมมองของนักพัฒนาไม่ใช่ผู้นำ

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

คิด

หากคุณขอให้อินเทอร์เน็ตกำหนดบทบาท / งานของคุณให้หยุด พูดคุยกับฝ่ายบริหารเพื่อรับคำตอบที่แท้จริง


5
+1 - "คิด" ... หรืออีกทางหนึ่งคำจำกัดความของบทบาทของ "นักพัฒนาเว็บอาวุโส" ที่เกี่ยวข้องกับคุณคือคำจำกัดความของผู้จัดการของคุณ
สตีเฟ่นซี

9

คุณมีบทบาทหลักสองประการในการเป็นผู้นำในการพัฒนา: เพื่อเป็นผู้สนับสนุนทีมของคุณในด้านธุรกิจของการดำเนินงานของคุณและเพื่อให้คำแนะนำทางเทคนิคแก่ทีมของคุณ

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

ในฐานะที่ปรึกษาทางเทคนิคคุณต้องช่วยทีมของคุณในการตัดสินใจที่ดีช่วยเหลือพวกเขาด้วยปัญหาทางเทคนิคใด ๆ ที่พวกเขามีและนำพวกเขาไปสู่การแก้ปัญหาที่เหมาะสม คุณควรส่งเสริมให้พวกเขาพัฒนาทักษะของพวกเขาและเป็น stickler แน่นอนสำหรับการปฏิบัติตามมาตรฐานการพัฒนาที่เหมาะสม

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

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


5

เรามาอธิบาย ... ความเป็นผู้นำกัน

ความผิดพลาดทั้งหมดของทีมคุณเป็นความผิดของคุณแล้ว

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

มุ่งเน้นไปที่ความผิดพลาดเหล่านั้น หลีกเลี่ยงพวกเขาย่อเล็กสุดพยายามเก็บไว้ในการตรวจสอบ

และไม่ได้รับเจ้ากี้เจ้าการทีมงานของคุณไม่ผิดพลาดมากขึ้นถ้าคุณทำ


4

IMO บทบาทเป็นหนึ่งในแนวทาง คุณอยู่ใกล้กับบล็อกดังนั้นหากผู้พัฒนารายอื่น (ไม่ใช่รุ่นน้อง แต่ไม่ใช่รุ่นอาวุโส) มีคำถามหรือพบปัญหาในโมดูล Foobar คุณเป็นคนที่ไปถามคำถาม "ฉันพยายามทำ X ด้วย Foobar ความคิดเห็นใด ๆ ? " คุณควรสื่อสารถึงเป้าหมายและความพยายามของทีมในการจัดการขณะที่เข้าข้างทีมในเรื่องทางเทคนิค (เช่นถ้าคุณและทีมคิดโครงการจะใช้เวลา 4 เดือนในการทำอย่าพูดและบอกซีอีโอว่าจะเป็นอย่างไร เสร็จใน 1 เดือนจากนั้นบังคับให้ทุกคนทำงานล่วงเวลา) คุณควรจะต้องรับผิดชอบในการทำให้แน่ใจว่ารหัสนั้นมีคุณภาพที่เหมาะสมและสมาชิกในทีมคนอื่น ๆ กำลังทำสิ่งที่ถูกต้องไม่ใช่แค่แฮ็คขยะที่กำลังพังลงมา

แน่นอนว่าเป็นเพียงทฤษฎีเท่านั้น มันขึ้นอยู่กับทีม ฉันทำงานภายใต้ "ผู้อาวุโส" ที่ไม่รู้อะไรเลยเกี่ยวกับการพัฒนาที่ทันสมัยในช่วง 5 ปีที่ผ่านมาและเคยเป็น "Smithers" ให้กับผู้บริหารระดับสูงและจะพูดว่า ไม่ว่าความต้องการใด ๆ จะไร้สาระยับยั้งความสร้างสรรค์จากสมาชิกในทีมคนอื่น ๆ และสนับสนุนสภาพแวดล้อมการทำงานที่ขาดความดแจ่มใสแทนการเรียนรู้และงานฝีมืออย่างต่อเนื่อง ฉันยังทำงานภายใต้นักพัฒนาอาวุโสที่มีความรู้สูงและมีบทบาทอย่างแข็งขันเพื่อให้แน่ใจว่าสิ่งต่าง ๆ จะดีที่สุดเท่าที่จะทำได้


4

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


2

อาจมีมุมมองที่แตกต่างกันมากมายตามที่โจนาธานกล่าวถึงข้างต้น

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

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

กล่าวโดยย่อบทบาทของคุณคือสิ่งที่คุณเลือกที่จะทำตามขอบเขตที่กำหนดโดยผู้บริหารของคุณเอง (ทั้งด้านเทคนิคและด้านธุรกิจ)


2

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

(a) เราคาดหวังอะไรจากผู้พัฒนาเว็บอาวุโส / ลูกค้าเป้าหมายระดับสูงขององค์กร (ไม่คำนึงถึงขนาด)

ฉันคาดหวังบุคคลที่มีบุคลิกเข้มแข็งและความรู้ด้านเทคนิค ฉันคาดหวังว่าคนที่จะไม่เพียง แต่ทำลายความคิด แต่เสนอความคิดใหม่เพื่อแทนที่สิ่งที่พวกเขาพบว่ามีความบกพร่อง ฉันคาดหวังว่าคนที่ไม่ผลักดันหรือรังแกผู้พัฒนาที่อยู่ใต้บังคับบัญชา แต่พยายามหาวิธีที่กระตุ้นให้สอนแนะนำแต่ละคน ฉันคาดหวังให้บางคนเต็มใจที่จะรับผิดชอบและเป็นเจ้าของโครงการแนวคิดและการตัดสินใจ ไม่จำเป็นต้องใช้ "Yes-men" และ "wall flower" ผู้อาวุโส / ผู้นำจำเป็นต้องสามารถจัดการกับผู้คนได้อย่างมีประสิทธิภาพเช่นเดียวกับที่เขาทำกับรหัส ... อาจจะดีกว่าในบางกรณี

(b) มีความแตกต่างระหว่างผู้นำการพัฒนาเว็บและผู้พัฒนาเว็บอาวุโสหรือไม่?

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

ในระยะสั้นสำหรับฉัน: ผู้นำช่วย อาจารย์อาวุโสสอน


2

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

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

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