จากบทความเรื่อง What Are the Top 10 Causes for Unhappiness Among Developers ?
ได้พูดถึงการศึกษาเรื่อง On the Unhappiness of Software Developers
จึงนำมาแปลและสรุปไว้นิดหน่อย

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

  1. Internal cause คือสาเหตุมาจากตัว developer เอง
  2. 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

สุดท้ายแล้ว
เราจะจัดการกับปัญหาเหล่านี้กันอย่างไรนะ ?