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

การจัดหน่วยพัฒนาภายในก็มีบทบาทสำคัญเช่นกัน บ่อยครั้งที่มีกลุ่มทดสอบเกิดขึ้น และผู้จัดการฝ่ายวิศวกรรมซอฟต์แวร์มีหน้าที่ดูแลการทำงานเป็นทีมระหว่างนักพัฒนาและผู้ทดสอบให้เป็นไปอย่างราบรื่น ซึ่งสามารถทำได้ง่ายๆ โดยการมีวิธีการและกระบวนการที่ชัดเจน นักพัฒนามักจะทำงานร่วมกับผู้ทดสอบได้เป็นอย่างดี หากมีกฎเกณฑ์ที่ต้องปฏิบัติตามโดยทั้งสองฝ่าย โดยรักษาความขัดแย้งให้อยู่ในระดับต่ำหรือไม่มีอยู่จริง
การสื่อสาร (การประชุมเป็นระยะ)
หากคุณต้องการรักษานักพัฒนาซอฟต์แวร์ไว้ จำเป็นต้องให้พวกเขาอยู่ในวงเสมอ สมาชิกทุกคนในทีมควรได้รับการอัปเดตเป็นระยะเกี่ยวกับวัตถุประสงค์ สถานการณ์ขององค์กรที่ส่งผลต่อพวกเขา กลยุทธ์ การเปลี่ยนแปลงในองค์กร และสุดท้ายแต่ไม่ท้ายสุด ความสำเร็จของทีม
การมีสมาชิกในทีมจำนวนหนึ่งแบ่งปันไฮไลท์บางอย่างก็ยังดีสำหรับการส่งเสริมความสามัคคีและการทำงานเป็นทีมของทีม โดยปกติ การประชุมทีมเหล่านี้—อย่างมากที่สุดสองชั่วโมง—ควรกำหนดไว้เป็นประจำ (อาจเป็นรายสัปดาห์) เช่นเดียวกับในโอกาสพิเศษ เช่น ขั้นตอนสุดท้ายของโครงการ สถานการณ์วิกฤติ ฯลฯ
นอกจากการสื่อสารกับทีมแล้ว ผู้จัดการยังต้องสร้างวิธีการติดตามสถานการณ์ล่าสุดของสมาชิกทุกคน ไม่ว่าจะเป็นงานที่เกี่ยวข้องกับงาน ด้านเทคนิค หรือส่วนตัว
- ที่เกี่ยวข้องกับงาน หมายถึงทุกแง่มุมที่เป็นไปได้ของความสัมพันธ์ระหว่างพนักงานกับบริษัท
- สถานการณ์ทางเทคนิค ปรากฏขึ้นเมื่อนักพัฒนาติดอยู่กับปัญหา และพวกเขาไม่ได้มองหาความช่วยเหลือไม่ว่าด้วยเหตุผลใดก็ตาม
- หากนักพัฒนาแบ่งปัน สถานการณ์ส่วนตัว ที่พวกเขาประสบอาจส่งผลต่องานและความสัมพันธ์ของพวกเขากับเพื่อนร่วมงาน
โดยปกติ การประชุมรายสัปดาห์เป็นเวลา 30 นาทีกับสมาชิกในทีมทุกคนจะช่วยให้ผู้จัดการสามารถระบุสถานการณ์เหล่านี้และให้ความช่วยเหลือได้ ซึ่งจะช่วยป้องกันวิกฤตการณ์ที่อาจเกิดขึ้นกับบุคลากรและเพิ่มขวัญกำลังใจของสมาชิกในทีมภายในบริษัท
เพื่อให้ชัดเจน เราไม่ได้พูดถึงการจัดตั้งหน่วยพัฒนาที่เน้นการประชุม ดังนั้นจำเป็นต้องมีวินัยในการประชุมที่เข้มงวด (การตรงต่อเวลา ความเคารพ การมีส่วนร่วม ระยะเวลา) ยิ่งไปกว่านั้น วินัยนี้แสดงให้นักพัฒนาเห็นว่าพวกเขาทำงานให้กับองค์กรที่มีความเป็นมืออาชีพมาก ซึ่งปกติแล้วพวกเขาจะต้องชื่นชมยินดี
การกำหนดวัตถุประสงค์และการติดตามผล
ไม่มีประเด็นในการมอบหมายวัตถุประสงค์ทั่วไปประจำปีหรือแนวทางการประเมินที่คล้ายกัน
นี่เป็นปัจจัยที่ชัดเจนในการจัดการกับนักพัฒนาซอฟต์แวร์ ไม่ว่าบทบาทของพวกเขาจะเป็นอย่างไร (การรวบรวมข้อกำหนด สถาปัตยกรรม การออกแบบ การเขียนโปรแกรม การทดสอบ ฯลฯ) วัตถุประสงค์จะต้องมอบให้พวกเขาด้วยความชัดเจนที่สุดเท่าที่จะเป็นไปได้ ดังนั้นจึงไม่มีประเด็น ในการมอบหมายวัตถุประสงค์ทั่วไปประจำปีหรือแนวทางการประเมินที่คล้ายคลึงกัน เนื่องจากนักพัฒนาควรทำงานในโปรเจ็กต์ เช่น ด้วยขอบเขตและระยะเวลาที่แน่นอน วิธีที่ดีที่สุดในการมอบหมายวัตถุประสงค์คือเมื่อเริ่มต้นโปรเจ็กต์และรวมถึงวิธีประเมินความก้าวหน้า และหากทำได้ จะรับรู้ได้อย่างไร
โชคดีที่ทุกวันนี้ มีวิธีการที่มีวัตถุประสงค์เพื่อสร้างผลลัพธ์โดยเร็วที่สุด เช่น Agile และ Scrum ที่ทำให้การติดตามและควบคุมโครงการง่ายขึ้น บางครั้งสิ่งนี้อาจมีบทบาทสำคัญในการรักษาความสามารถด้านซอฟต์แวร์เอาไว้ นักพัฒนาหลายคนชอบวิธีการเหล่านี้เพราะสามารถให้ผลลัพธ์ได้อย่างรวดเร็ว ทำให้พวกเขารู้สึกได้ถึงความสำเร็จอยู่เป็นประจำ
นอกจากนี้ นักพัฒนามักจะชอบวิธีการที่เบากว่า พวกเขาทราบดีว่าผลิตภัณฑ์ระดับไฮเอนด์อย่าง Rational ซึ่งเป็นผลิตภัณฑ์ขั้นสุดท้ายถูกส่งไปหลังจากโครงการด้านวิศวกรรม การออกแบบ การพัฒนา การทดสอบ และการใช้งานที่ยาวนานเป็นเวลานาน มีความเสี่ยงและอาจเป็นเรื่องยากที่จะปฏิบัติตาม
การจัดการความขัดแย้ง
สิ่งนี้ใช้ได้กับทีมพัฒนาซอฟต์แวร์มากพอๆ กับประเภทอื่นๆ: ผู้จัดการฝ่ายวิศวกรรมซอฟต์แวร์ต้องจัดการกับความขัดแย้งอย่างทันท่วงทีและมีประสิทธิภาพ หรืออาจหลุดพ้นจากการควบคุมและทำลายขวัญกำลังใจ การทำงานเป็นทีม และประสิทธิภาพของทั้งหน่วย
สมมติว่านักพัฒนาที่ขัดแย้งกันมีความเป็นมืออาชีพและมีเจตนาที่ดี การประชุมของผู้จัดการกับบุคคลที่เกี่ยวข้องเพื่อเริ่มต้นการสนทนาที่ชัดเจนพร้อมการแก้ไขอย่างรวดเร็วหลังจากนั้นน่าจะเพียงพอเพื่อให้ทีมดำเนินการต่อไป นอกจากนี้ บางครั้งก็จำเป็นต้องเตือนพวกเขาอย่างชัดเจนว่าความขัดแย้งในระดับบุคคลจะไม่ได้รับการยอมรับ หากเป็นถึงเรื่องนั้น
ไม่ว่าในกรณีใด เมื่อสิ้นสุดการประนีประนอม เป็นสิ่งสำคัญมากที่ทั้งสองฝ่ายรู้สึกว่าการแก้ปัญหานั้นยุติธรรม แม้ว่าฝ่ายใดฝ่ายหนึ่งจะไม่ชอบก็ตาม ความขัดแย้งเป็นส่วนหนึ่งของชีวิตในบางครั้ง แต่การรักษาพรสวรรค์ด้านซอฟต์แวร์ไว้หมายถึงการปฏิบัติต่อทุกคนอย่างมีศักดิ์ศรีเมื่อใดก็ตามที่สถานการณ์ดังกล่าวเกิดขึ้น
แรงจูงใจ
แม้ว่าเราจะได้สัมผัสกับปัจจัยหลายอย่างที่มีอิทธิพลต่อแรงจูงใจของนักพัฒนา แต่ก็มีประเด็นสำคัญอีกประการหนึ่ง อันนี้ไม่ได้เกี่ยวกับอารมณ์หรือทางเทคนิค เรากำลังพูดถึงอัตราค่าตอบแทนสำหรับงานของพวกเขา
นักพัฒนาซอฟต์แวร์มักชอบสิ่งที่ดีของโลกวัตถุ จะดีกว่าเสมอสำหรับบริษัทที่จะตรวจสอบให้แน่ใจว่าแผนเงินเดือนและค่าตอบแทนสอดคล้องกับตลาดแรงงาน—การศึกษาอุตสาหกรรมนั้นหาได้ง่าย—และอาจสูงขึ้นเล็กน้อยสำหรับตำแหน่งของพวกเขา
นอกจากนี้ นักพัฒนาซอฟต์แวร์ส่วนใหญ่ไม่เฉยเมยต่อผลประโยชน์และรางวัล ซึ่งรวมถึงหลักสูตรและกิจกรรมด้านเทคโนโลยีที่พวกเขาสามารถเรียนรู้เทคนิคที่เป็นประโยชน์ในการปรับปรุงงานของตน
เมื่อพูดถึงการรักษานักพัฒนาซอฟต์แวร์ สิ่งสำคัญคือต้องสนับสนุนการเติบโตภายในบริษัท โดยไม่คำนึงถึงทิศทางที่เฉพาะเจาะจง เมื่อวิศวกรซอฟต์แวร์ไม่แสดงความปรารถนาอย่างมากที่จะก้าวไปสู่ตำแหน่งผู้นำหรือการจัดการ พวกเขากลับซาบซึ้งในความก้าวหน้าในด้านเทคนิค ซึ่งรวมถึงใบรับรองระดับสูงและโปรแกรมการศึกษาที่เป็นทางการ เช่น ปริญญาโท หรือแม้แต่ปริญญาเอก ความรู้เป็นตัวขับเคลื่อนที่แข็งแกร่งมากสำหรับพวกเขา
อย่างไรก็ตาม เมื่อพวกเขาปรารถนาที่จะเติบโตไปสู่ตำแหน่งผู้นำ ขอแนะนำให้ทำการวิเคราะห์บุคลิกภาพและประวัติของผู้สมัครอย่างละเอียดถี่ถ้วนในบริษัท สิ่งนี้สามารถได้รับความช่วยเหลือจากแผนกทรัพยากรบุคคลหรือหน่วยงานอื่นๆ ของบริษัท เนื่องจากการจัดการที่ดีนั้นต้องการชุดทักษะที่แตกต่างไปจากเดิมอย่างสิ้นเชิง นอกเหนือจากความเชี่ยวชาญด้านเทคนิค
วิธีรักษาความสามารถด้านซอฟต์แวร์: ข้อสังเกตสุดท้าย
คุณอาจมีเจตนาดีที่สุดและปฏิบัติตามคำแนะนำข้างต้นทั้งหมด แต่ยังไม่สามารถรักษานักพัฒนาซอฟต์แวร์ไว้ได้ 100 เปอร์เซ็นต์ตลอดเวลา—บางครั้งปัจจัยภายนอกก็มีอิทธิพลมากกว่า แต่เราคิดว่าการหมุนเวียนบุคลากรสามารถมีสุขภาพดีและเต็มไปด้วยโอกาส ตราบใดที่:
- ไม่ได้มีบ่อยๆ หากเป็นเช่นนั้น แสดงว่ามีบางอย่างผิดปกติในระดับองค์กร
- มันเกิดขึ้นกับทรัพยากรที่มีค่าที่สุดเท่านั้น ในกรณีนี้ อาจหมายความว่าพวกเขากำลังใช้บริษัทของคุณเป็นแทรมโพลีน กล่าวคือ พวกเขาอยู่กับคุณเพื่อรับประสบการณ์ก่อนที่จะย้ายไปบริษัทอื่น
กลยุทธ์การรักษาพนักงานควรยึดมั่นในนโยบายของบริษัท ไม่ใช่แค่ปฏิกิริยาเมื่อบุคคลที่มีค่าต้องการลาออก การกักเก็บปฏิกิริยามีราคาแพงมากและมีข้อบกพร่อง: คนๆ นั้นอาจตกลงที่จะอยู่ต่อ แต่คิดกับตัวเองว่า “ฉันทำงานที่นี่มา X ปีแล้ว เพียงเพื่อให้ได้เงินเดือนสองเท่าเมื่อออกเดินทาง พวกเขาเพิ่งยอมรับว่าไม่ได้จ่ายเงินให้ฉัน เพียงพอ!"
ขั้นตอนต่อไปของบุคคลนี้จะเป็นอย่างไร? พวกเขาอาจมองหางานอื่น แต่ตอนนี้มีเงินเดือนขั้นต่ำสองเท่า ณ จุดนี้ การพยายามรักษาวิศวกรซอฟต์แวร์ไว้ตลอดเวลาอาจไม่คุ้มค่า เว้นแต่บุคคลดังกล่าวจะเป็นบุคคลพื้นฐาน (และไม่สามารถถูกแทนที่ได้) ให้กับบริษัทโดยเด็ดขาด อาจเป็นการดีกว่าหากต้องเจรจาระยะเวลาแจ้งให้ทราบและหาคนมาแทนทันที
มันคืองานที่ไม่ได้กำหนดขึ้นเอง
การดึงดูดและรักษานักพัฒนาซอฟต์แวร์ไว้เป็นงานที่ซับซ้อนและไม่ได้กำหนดขึ้นเอง เช่นเดียวกับทุกบทบาทในอุตสาหกรรมเทคโนโลยี มีหลายบริษัทที่มองหานักพัฒนาซอฟต์แวร์ที่มีคุณค่า แต่โชคดีที่เป้าหมายที่นี่ไม่ใช่เพื่อเอาชนะบริษัทเหล่านี้ แต่เพื่อดึงดูดคนดีที่เราสามารถจัดการเก็บไว้ในบริษัทของเราได้
กระบวนการคัดเลือกอาจใช้เวลาและความพยายามอย่างมาก หากรีบเร่ง โอกาสที่คุณจะลงเอยด้วยคนที่ไม่ถูกต้อง—และใครบ้างที่ต้องการรักษาวิศวกรซอฟต์แวร์ที่เป็นพิษต่อทีมของพวกเขา? ใช้เวลาแทนทำให้ถูกต้อง