ในวันหนึ่ง ๆ นักพัฒนาบางคน
อาจจะอยู่ใน environment ของการพัฒนาที่แย่ ๆ
จึงทำการสรุปสิ่งที่คิดว่า
ไม่น่าจะดีต่อทีมพัฒนาไว้นิดหน่อย
ซึ่งอาจจะมีประโยชน์ต่อการปรับปรุงต่อไป
มาเริ่มกันเลย


ในแต่ละวันก็จะมี alert/notification บน production environment จำนวนมากมาย

ทั้ง ๆ ที่เรามี environment ต่าง ๆ มากมาย ทั้ง Dev, Test, PreProd, Production
เพื่อทำการทดสอบหรือตรวจสอบการทำงาน
เป็นเรื่องที่น่าแปลกดีว่า
เรามีมันไปทำไมกันนะทั้ง ๆ ที่ไม่ค่อยมีประโยชน์อะไรมากนัก

เมื่อได้รับปัญหาเข้ามาแล้ว

ต้องไปดูข้อมูลเพิ่มเติมจากระบบ monitoring ต่าง ๆ มากมาย
เรามีระบบ monitoring นะ แต่มันเยอะ
แถมแยกเป็นอิสระแก่กันอีก
ต้องรวมข้อมูลจากหลาย ๆ ที่ แล้วเอาไปคิด วิเคราะห์เอาเองนะ
มีเหมือนไม่มีจริง ๆ เสียเวลามาก ๆ

ยังไม่พอ เมื่อต้องการดู logging ของการทำงาน

เพื่อหา root cause ของปัญหา
พบว่าต้องไปดู log file จากระบบต่าง ๆ มากมาย
ที่แยกกันอีกแล้ว แถมไม่มี correlation id อีก
การหาปัญหาจึงเป็นเรื่องที่ใช้เวลานานมาก ๆ

ในการส่งมอบ software จะมีกลิ่นแปลก ๆ

ยกตัวอย่างเช่น
เมื่อพัฒนา feature ต่าง ๆ เรียบร้อยแล้ว
ต้องรอคนมาทดสอบ เพื่อบอกว่า ok ผ่านได้
ต้องรอคนมา review system/architecture เพื่อบอกว่า ok ผ่านได้
ต้องรอคนมาทำ performance testing เพื่อบอกว่า ok ผ่านได้
ต้องรอคนมา review เรื่อง security เพื่อบอกว่า ok ผ่านได้

รอกันต่อไป จากนั้นก็แก้ไขวนไป
แต่เวลา release ขอเวลาเดิมนะ !!
สู้ ๆ
แต่เรามีระบบ CI/CD นะ ดูมันย้อนแย้งแบบงง ๆ

หลาย ๆ คนในทีมต้องเข้าประชุมต่าง ๆ เกือบทั้งวัน

เพื่อ update status ของการพัฒนา
เมื่อประชุมไปทั้งวัน พบว่า ทั้งวันไม่ได้ทำอะไรเลย
งานก็ไม่เดินไปข้างหน้า
แถมเมื่อล้าจากการประชุม
ทำอย่างไรดี ? งานก็ต้องเสร็จ
ดังนั้น ทำงานทั้งคืนไปเลย !!
ผลที่ได้มันดีไหมนะ
น่าคิด

เมื่อทำงานร่วมกับทีมอื่น ๆ หรือส่วนงานอื่น ๆ

บ่อยครั้งเอกสารสำหรับการเชื่อมต่อมักจะไม่ใช่ version ล่าสุด
หนักกว่านั้น ทำแบบคร่าว ๆ หรือ draft มาให้ก่อน
แต่เมื่อลงมือทำกลับเปลี่ยนแปลงไปแบบหน้ามือเป็นหลังตีน
แถมแก้ไขโดยไม่บอกอะไรอีกด้วย
โยนปัญหากันไปมา
สรุปแล้วเสียเวลาไปกับเรื่องไร้สาระเยอะมาก ๆ
แต่ก็ทน ๆ กันไป
ปรับปรุงกันไป !!

สุดท้ายแล้ว เราต้องช่วย ๆ กันนะ

Deadline รอเราอยู่ สู้ ๆ
อยากกินอะไรบอกได้นะ
คืนนี้ยาวไป !!

เรื่องเล่าขำ ๆ ที่ไม่น่าเป็นจริง !!