จากบทความเรื่อง What Are the Top 10 Causes for Unhappiness Among Developers ?
ได้พูดถึงการศึกษาเรื่อง On the Unhappiness of Software Developers
จึงนำมาแปลและสรุปไว้นิดหน่อย
จากการศึกษาโดยพบว่ามีสาเหตุมากถึง 219 ข้อ (มันจะเยอะไปไหน)
เพื่อให้เข้าใจได้ง่าย ๆ จึงแบ่งออกเป็น 2 กลุ่มคือ
- Internal cause คือสาเหตุมาจากตัว developer เอง
- External cause คือสาเหตุมาจากสิ่งอื่น ๆ ที่ developer ควบคุมไม่ได้ แถมส่งผลต่อ developer โดยตรงอีก
ดังนั้นมาดู 10 สาเหตุหลัก ๆ กันดีกว่า
สรุปไว้ดังรูป
จะพบว่า 7 ใน 10 ข้อคือ External cause
ทั้งเรื่องของ deadline ที่กดดันกันสุด ๆ
ทั้งเรื่องของ คุณภาพของ code ที่มันแย่
ทั้งเรื่องของ คุณภาพของคนในทีม
ทั้งเรื่องของ การทำงานเดิม ๆ ซ้ำซากจำเจ มันน่าเบื่อ ไร้ความท้าทาย
ทั้งเรื่องของ code ที่พัง แถมไม่มีใครอธิบายเหตุผลหรือสาเหตุได้อีกด้วย
ทั้งเรื่องของ ข้อจำกัดต่าง ๆ ในการพัฒนา เช่น infrastructure ของระบบ
ทั้งเรื่องของ การตัดสินใจที่แย่ ๆ ที่เกี่ยวกับ technical แน่นอนว่า developer ส่วนใหญ่ไม่ได้เข้าไปอยู่ในกระบวนการตัดสินใจ แต่ก็ต้องทำตาม
ส่วนอีก 3 ข้อเป็นเรื่องเกี่ยวกับ Internal cause
ข้อแรกเป็นเรื่องส่วนตัวมาก ๆ คือ แก้ไขปัญหาไม่ได้
หรือบางทีจมอยู่กับปัญหานาน ๆ
ข้อที่สองเป็นความรู้สึกว่า ตัวเองยังขาดความรู้และทักษะต่าง ๆ
โดยเกิดมาจากไม่คุ้ยเคยกับสิ่งต่าง ๆ ที่ทีมนำมาใช้งาน
ทั้งเครื่องมือ framework และ ภาษาโปรแกรม
ข้อที่สามนี่เรื่องส่วนตัวและเรื่องของครอบครัวกันเลยทีเดียว
แน่นอนว่าสาเหตุต่าง ๆ เหล่านี้ส่งผลเสียมากมาย
ยกตัวอย่างเช่น
- Productivity และ performance ในการทำงานที่แย่และลดลง
- เรื่องของอารมณ์และความรู้สึก แน่นอนว่าถ้าอารมณ์มันแย่ สิ่งที่พัฒนาออกมาก็จะแย่ตามไปด้วย
- เมื่อหลายสิ่งอย่างมันแย่ลง ดังนั้นจะพยายามหาวิธีการหรือเส้นทางง่าย ๆ หรือ บางทีคือมักง่าย ส่งผลให้เกิด code ที่แย่ ๆ ตามมา
- เมื่อหลายสิ่งอย่างมันแย่ลง จะนำพาไปสู่การลาออกในที่สุด
โดยแสดงดังรูป มาจาก Consequences of Unhappiness While Developing Software
สุดท้ายแล้ว
เราจะจัดการกับปัญหาเหล่านี้กันอย่างไรนะ ?