สามงบประมาณ
- เงินเดือนของวิศวกรรมซอฟต์แวร์มาจากหนึ่งในสามงบประมาณ
- งบประมาณที่ใช้จ่ายเงินเดือนส่งผลต่อทั้งงานประจำวันและเส้นทางอาชีพ
- งบประมาณทั้งสามคือ ฝ่ายขาย/การตลาด, การวิจัยและพัฒนา, และการบำรุงรักษา
งบฝ่ายขาย/การตลาด
- เมื่อสังกัดองค์กรสายการเติบโต ผลลัพธ์มักวัดเชิงปริมาณและตรวจวัดได้ง่าย
- ตัวอย่างเช่น growth engineer, sales engineer, developer relations ซึ่งดูแลงานขายผลิตภัณฑ์เดิม การแจ้งฟีเจอร์ และการผลักดันการนำเครื่องมือไปใช้
- งบประมาณนี้ต้องการผลกระทบทันที
- ผลกระทบที่วัดได้ทำให้รู้ ROI ได้เสมอ และสร้างรายได้โดยตรง
- เมื่อวัดง่าย การเปรียบเทียบก็ง่ายตามไปด้วย จนอาจก่อให้เกิดวัฒนธรรมการแข่งขันภายใน
- งานมักโฟกัสระยะสั้น ไล่ตามการทดลองถัดไป ลูกค้ารายถัดไป หรือกระแสการตลาดล่าสุด
- บริษัทต้องการเพิ่มผลตอบแทนจากการลงทุนให้สูงสุด จึงอาจทำให้อัตราการย้ายงานสูงขึ้น
การวิจัยและพัฒนา
- การวิจัยและพัฒนา (R&D) จ้างวิศวกรมากที่สุด
- มักทำงานภายใต้องค์กรผลิตภัณฑ์ และบริษัทใหญ่บางแห่งมีองค์กรวิจัยและวิทยาศาสตร์โดยเฉพาะ
- ครอบคลุม product engineer, researcher, architect เป็นต้น โดยทำหน้าที่สร้างหรือสำรวจผลิตภัณฑ์ที่บริษัทขายอยู่หรืออาจขายได้ในอนาคต
- งบประมาณนี้ต้องการการเติบโตเมื่อเวลาผ่านไป
- สภาพแวดล้อมมักสงบกว่า และพยายามหาสมดุลระหว่างการดูแลรักษากับฟีเจอร์สำหรับดึงดูดผู้ใช้ใหม่
- บริษัทที่มีฝ่ายวิจัยจริงจังจะมีคนทำวิจัยกับแนวคิดที่อาจกลายเป็นผลิตภัณฑ์ในอีกหลายปีข้างหน้า
- งานพัฒนากับงานวิจัยไม่เหมือนกัน แต่มีจุดร่วมคือมุ่งไปที่ผลลัพธ์ระยะยาว
- ช่วงความสนใจที่สั้นที่สุดคือระดับไตรมาส และงานที่ทำต้องกลายเป็นสินทรัพย์ที่สร้างคุณค่าได้เป็นเวลาหลายปี
การบำรุงรักษา
- งานบำรุงรักษาส่วนใหญ่ถูกรวมกลืนเข้าไปในงานพัฒนา
- งบประมาณนี้ต้องการการเพิ่มประสิทธิภาพต้นทุน
- ครอบคลุมผู้ดูแลระบบ คนที่ดูแลระบบเก่า และบางครั้งรวมถึง platform engineer
- บริษัทมองงานประเภทนี้เป็นต้นทุนล้วน ๆ และพยายามลดให้เหลือน้อยที่สุด
- ในหลายบริษัท งานนี้ถูกรวมไว้ในงานพัฒนาผลิตภัณฑ์ และถูกมองว่าเป็นงานที่ไม่มีคุณค่า
- บริษัทไม่ชอบงบประมาณก้อนนี้มากจนการให้วิศวกรใช้เวลากับงาน NFR (ข้อกำหนดที่ไม่ใช่เชิงหน้าที่) ถูกมองเหมือนเป็นสิทธิพิเศษ
- การสร้างเครื่องมือภายในก็อาจอยู่ในหมวดนี้ได้ เช่น แดชบอร์ดสำหรับงานดูแลระบบที่ช่วยให้บริษัทเดินต่อได้ แต่ไม่เคยได้ลำดับความสำคัญสูง
ทำไมเรื่องนี้จึงสำคัญ
- งานประจำวันจะแตกต่างกันไปตามงบประมาณที่คุณสังกัด
- สายการเติบโตวัดผลได้และมีความผันผวนสูง
- งานวิจัยนิ่งกว่า แต่ก็คลุมเครือกว่า
- งานพัฒนาสร้างคุณค่าและค่อย ๆ สั่งสมไปตามเวลา
- งานบำรุงรักษามักเป็นเป้าหมายของการลดงบอยู่เสมอ
ความเห็นของ GN⁺
- บทความนี้ช่วยให้วิศวกรซอฟต์แวร์วางแผนอาชีพของตนเอง และเข้าใจว่างานของตนถูกมองอย่างไรภายในบริษัท
- เมื่อเข้าใจลักษณะของแต่ละงบประมาณ วิศวกรจะประเมินได้ว่างานของตนกำลังสร้างคุณค่าระยะยาว หรือเน้นผลลัพธ์ระยะสั้น
- มุมมองเหล่านี้มีประโยชน์ต่อการทำความเข้าใจบทบาทของตนให้ชัดเจนขึ้น และช่วยตัดสินใจเชิงกลยุทธ์เพื่อไปให้ถึงเป้าหมายอาชีพ
1 ความคิดเห็น
ความเห็นจาก Hacker News
การเข้าใจมุมมองขององค์กรที่มีต่อการพัฒนาซอฟต์แวร์เป็นเรื่องสำคัญ และส่งผลอย่างมากต่อเส้นทางอาชีพ
ไม่เข้าใจวัฒนธรรมเทคโนโลยีสมัยใหม่ที่มองว่างานบำรุงรักษาเป็นเป้าหมายของการตัดงบอยู่เสมอและประเมินคุณค่าต่ำเกินไป
การประเมินว่าวิศวกรรมซอฟต์แวร์ "ไม่มีคุณค่า" สะท้อนว่าไม่เข้าใจธุรกิจของอุตสาหกรรมนี้
ในรายงานประจำปีของบริษัท มักพบคำว่า "การขายและการตลาด" กับ "การวิจัยและพัฒนา" แต่แทบไม่ค่อยเห็นการกล่าวถึง "การบำรุงรักษา"
บล็อกของ patio11 แยกความแตกต่างระหว่าง cost center กับ profit center และย้ำว่าการอยู่ฝั่ง profit center เป็นเรื่องสำคัญ
มีการแบ่งงบประมาณออกเป็น 4 หมวด:
Swizec เป็นผู้เขียนหนังสือที่มีประโยชน์ชื่อ "Serverless Handbook" และเขียนอีเมลข่าวสารที่ให้ประโยชน์มาเป็นเวลานาน
การเปรียบงบประมาณเป็น "bucket" เป็นการเปรียบเปรย แต่ในบทความนี้ใช้ในความหมายตรงตัว
ในเชิงประวัติศาสตร์ วิศวกรรมซอฟต์แวร์เคยเป็นส่วนหนึ่งของฟังก์ชัน IT และสิ่งนี้มีรากมาจากการบัญชี
จากประสบการณ์ ไม่เคยเห็นเงินเดือนของ growth engineering มาจากงบการตลาด และก็ไม่มีสิ่งที่เรียกว่า "งบบำรุงรักษา"