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

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