คุณควรทำอย่างไรถ้าผู้อยู่ใต้บังคับบัญชาไม่ยอมรับข้อเสนอแนะของคุณ? [ปิด]


30

ฉันเป็นผู้นำทีมนักพัฒนาซอฟต์แวร์ 3-4 คน งานของฉัน - นอกจากการเขียนรหัส - คือการให้การดูแลและคำแนะนำสำหรับรุ่นน้อง

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

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

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

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


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

6
สวัสดี Graviton ปัญหาการทำงานทั่วไปเช่นนี้ไม่ได้อยู่ในหัวข้อที่นี่: คุณอาจสนใจในข้อเสนอไซต์ที่กำลังจะมาถึงProfessional Mattersซึ่งคำถามมืออาชีพทั่วไปดังกล่าวจะอยู่ในหัวข้อ

27
@ MarkTrapp: คุณคิดที่จะขยายเหตุผลของคุณว่าทำไมคุณถึงพิจารณาความเป็นผู้นำของทีมโปรแกรมเมอร์ในฐานะที่เป็นหัวข้อ? บางทีแทนที่จะปิดคำถามนี้ถ้ามีฉันทามติอาจถูกย้ายไปที่ StackOverflow ได้ดีขึ้นหรือเปิดทิ้งไว้และย้ายไปยังผู้เชี่ยวชาญในภายหลังเมื่อมันพร้อมใช้งาน IMHO ฉันพบว่านี่เป็นหัวข้อที่น่าสนใจในฐานะนักพัฒนาซอฟต์แวร์และการจัดการโปรแกรมเมอร์นั้นไม่เหมือนใครกับการเขียนโปรแกรมฉันคิดว่านี่เป็นหัวข้ออย่างแน่นอน ขอบคุณ
S.Robins

35
ทำไมคำถามที่น่าสนใจที่สุดถึงถูกปิด?
ThomasX

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

คำตอบ:


28

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

วิธีการนี้มีความสำคัญเนื่องจากสาเหตุต่อไปนี้:

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

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

  • รหัสของคุณจะเข้าถึงฐานข้อมูลการผลิต เราจะเปลี่ยนแปลงสิ่งนั้นอย่างไรเพื่อให้มันยังคงใช้งานได้และสามารถทดสอบได้อย่างถูกต้องโดย JUnit ในสภาพแวดล้อมการพัฒนาที่ไม่เชื่อมต่อ? (คำตอบที่เป็นไปได้: ah! เราควรใช้การฉีดพึ่งพา .... )
  • จะเกิดอะไรขึ้นหากผู้โจมตีส่ง SQL ที่สร้างขึ้นอย่างชาญฉลาดในแบบฟอร์มการป้อนข้อมูลออนไลน์ของคุณ (คำตอบที่เป็นไปได้: ah! บางทีเราไม่ควรสร้างคำสั่ง SQL โดยเชื่อมข้อความที่ไม่ผ่านการตรวจสอบจาก internets)

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

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

ฉันไม่เห็นคำตอบของคุณเมื่อฉันเริ่มพิมพ์ของฉัน! ดังนั้น +1 จากฉันเพราะคุณได้จับความสำคัญของสิ่งที่ฉันเขียนเกี่ยวกับเพียงอย่างงดงามและรัดกุม ;-)
S.Robins

@ Mikera พวกเขาเห็นว่าทางออกของฉันดีกว่าพวกเขาลังเลที่จะวางรหัสเก่าและลงทุนในรหัสใหม่
Graviton

ไม่มีสีดำหรือขาว ผู้คนสามารถพูดคุยเกี่ยวกับสิ่งเล็ก ๆ น้อย ๆ พวกเขาเป็นมนุษย์ไม่ใช่หุ่นยนต์ ดังนั้นแม้ว่าฉันยอมรับว่ามันสำคัญที่จะต้องถ่ายทอดมุมมองของคุณอย่างชัดเจนและเป็นกลาง แต่พยายามเป็นทางการทูต มีทั้งวรรณกรรมเกี่ยวกับวิธีชักชวนผู้คน มันเป็นวิทยาศาสตร์ในตัวเอง ดูหนึ่งen.wikipedia.org/wiki/How_to_Win_Friends_and_Influence_People
siamii

8

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

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


5

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

  • คุณมีอำนาจที่จะผลักดันการแก้ไขปัญหาเฉพาะหรือไม่?
  • อำนาจหน้าที่นั้นมีขอบเขตเท่าไร?
  • มีวิธีแก้ปัญหาที่ไม่ดีหรือแตกต่างกันใช่ไหม

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

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


ฉันมีสิทธิ์ใช้งาน แต่ฉันไม่ชอบที่จะใช้
Graviton

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

1
"คำตอบต่อไปนี้" ไม่สามารถคาดหวังคำตอบที่จะแสดงในลำดับใดก็ได้ ใช้ลิงค์ "ลิงค์" เพื่อรับ URL ที่คุณสามารถอ้างถึงในคำตอบของคุณ

4

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

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

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

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

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

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


4

ฉันจะถามว่าคุณกำลังเสนอข้อเสนอแนะของคุณในลักษณะที่ไม่ได้รับการยอมรับ เมื่อคุณใช้วลีเช่น:

ทางออกของฉันยอดเยี่ยมกว่าของพวกเขาอย่างมากมาย

และ

ลึก ๆ ในใจของฉันฉันรู้ดีว่าอัลกอริทึมของฉันดีกว่าของพวกเขาและพวกเขาก็ควรนำมาใช้

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

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

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


3

ก่อนอื่นคุณรู้หรือไม่ว่าเหตุผลที่แท้จริงที่ทำให้จูเนียร์ไม่ยอมรับข้อเสนอแนะของคุณ?

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

ฉันขอแนะนำให้ลองเข้าใกล้รุ่นน้องของคุณโดยไม่มี "ออร่า" ของผู้อาวุโส (หรือน้อย) ลองพูดคุยกับพวกเขาในระดับเดียวกันแสดงความอยากรู้ในรหัสที่พวกเขาเขียน ถามคำถามฟังคำตอบของพวกเขา อย่าถามในลักษณะที่กล่าวหาเช่น:

"รหัสของคุณไม่ยืดหยุ่นคุณต้องเปลี่ยนเป็น ... "

ถามแทน

"ฉันแค่สงสัยว่าจะเกิดอะไรขึ้นถ้ามีใครสักคนที่ ... รหัสของคุณจัดการได้หรือไม่? ... ฉันคิดว่ารูปแบบกลยุทธ์อาจช่วยได้ที่นี่คุณคิดอย่างไร?"

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


2

คุณควบคุมการเข้าถึงแบบพุชไปยังที่เก็บหรือไม่?

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

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

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

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

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

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

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


2

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

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

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


2

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

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

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

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


2

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

ในส่วนที่เกี่ยวกับการพยายามให้นักพัฒนารุ่นน้องทำสิ่งต่างๆตามที่คุณต้องการ:

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

2

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

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


2

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

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

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


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