ปัญหาในมุมของ Support กับมุมของลูกค้า #บทเรียนที่ 2

ต่อจากentry เมื่อวาน วันนี้ผมกลับมานั่ง review สิ่งที่ผมทำ นั่งคุยกับ backend/data team แล้วรู้สึกตะหงิดๆ เลยลอง replicate ปัญหาใหม่แล้วมานั่งไล่ log ที่มองข้ามไปดูอีกที

เมื่อผมลองไล่ log การคุยกันระหว่าง server ของผมกับ backend ดีๆ แล้ว ผมพบว่าปัญหาเรื่อง backend มันส่ง data มาช้าหรือไม่ส่งมานั้นจริงๆ มันมีจำนวนน้อยมาก ไอ้ที่เยอะจริงๆ คือ server ของผมเองต่างหากที่ขอ request ขึ้นไปผิดเองก็เลยไม่มี data ส่งลงไปให้ลูกค้า …. (ปัญหานี้แก้ไขแล้วใน version ล่าสุด – ลูกค้าใช้ version เก่ากว่า 1 ver)

เรื่องนี้ก็ให้บทเรียนผมอีกครั้งนึงว่าให้ดูของตัวเองให้ดีๆ ก่อนที่จะไปโทษคนอื่น ผมนี่ยอมรับเลยว่าพอเจอเรื่อง backend ส่ง data ช้า/ไม่ส่งไปทีสองทีผมก็ปักใจเชื่อเลยว่ามันต้องเป็นปัญหา backend 100% แน่นอน ลืมที่จะดูตัวเองก่อนเลย

ป.ล. 1 ผมเคยได้บทเรียนนี้มาแล้วเมื่อสัก 4 ปีก่อน แล้วก็พลาดเองที่ลืมไปแล้ว
ป.ล. 2 แนะนำให้อ่าน The First Rule of Programming: It’s Always Your Fault ครับ เพื่อความกระจ่างในเรื่องนี้มากขึ้น

Gravity

Gravity เป็นหนัง Sci Fi Thriller เล่าถึงเรื่องราวง่ายๆ ของนักบินอวกาศ 2 คน ที่กำลังปฏิบัติภารกิจอยู่ในอวกาศแล้วเกิดอุบัติยานพัง ติดต่อโลกไม่ได้ แถมยังกระเด็นหลุดออกไปจากยานอีกต่างหาก เรื่องง่ายๆ แค่นี้แหละที่ผมเห็นตัวอย่าง แล้วรู้สึกอยากดูขึ้นมาทันที

หนังเรื่องนี้กำกับโดย Alfonso Cuarón ผกก Harry Potter and the Prisoner of Azkaban ซึ่งเป็นหนัง Harry Potter ที่ผมชอบมากที่สุดครับ

Gravity Poster

สนุก, น่ากลัว, สวยงาม, ทรงพลัง, ลุ้นกันหัวใจแทบวาย, ละเอียดอ่อนลึกซึ้งโดยไม่ดราม่า คือนิยามของหนังเรื่องนี้ครับ ทั้งเรื่องมีแต่ฉากที่ร้อง “เหยดด” “เชี่ยยยย” เต็มไปหมด นักแสดงในเรื่องมีแค่ 2 คนคือ Sandra Bullock กับ George Clooney ซึ่งก็เล่นดีมาก ใช้พลังของนักแสดงได้คุ้มค่ามากๆ เพลงประกอบระดับสุดยอด (ขอยกให้เท่ากับ Les Mis เลยละกันแม้ว่ามันจะคนละแนวกัน!) ส่วน 3D ก็อยู่ในระดับพอดีๆ ดูสวยงามเข้ากับเรื่องดี

สรุปแล้วผมชอบเรื่องนี้มากๆ และแนะนำให้ทุกคนไปดูกัน!!!

ป.ล. ชื่อไทยควรเป็น “วันซวยมหาโลกาวินาศ”

ปัญหาในมุมของ Support กับมุมของลูกค้า

2 – 3 อาทิตย์ที่ผ่านมาผมรับ issue server ตัวนึงที่ผมต้องดูแล (โดยไม่ได้ตั้งใจ) สิ่งที่ลูกค้าเจอ server ตัวนั้นไม่ปล่อย data ให้ลูกค้าเจ้านึง ลูกค้าบอกมาด้วยว่า software อีกตัวของบริษัทผมที่ต่อคนละ infrastructure กันเลย มันได้ data นะ

ผมใช้เวลาประมาณ 2 อาทิตย์ในการค้นพบว่า นอกจากลูกค้าจะ config backend ตัวนึง (ซึ่งเป็น server อีกตัวของบริษัทผม) ผิดนิดหน่อย ไอ้ backend ตัวนั้นยังส่ง data มาช้าไปถึง 15 นาทีหรือบางทีก็ไม่มาเลย เพราะ data source บอกว่าไม่มีข้อมูลนี้ ซึ่งทุกอย่างที่ลูกค้าเจอ ผมก็ replicate ปัญหาได้ใน environment ของผมหมด (เพราะสุดท้ายต้นตอของ data ก็มาจากที่เดียวกัน)

ในอาทิตย์ที่ผ่านมา ผมพยายามจะบอกลูกค้าว่า server ของผมไม่ผิดอะไร แล้วไอ้ software ตัวนั้นคุณต่อยังไง จนกระทั่งวันนี้ได้ email จากลูกค้าว่า

“กูรู้ว่า server มึงกับ software ตัวนั้นมันไม่เหมือนกัน มึงควรจะหันมาสนใจกูสักทีว่าทำไม backend ของ server มึงไม่ส่ง data มา มึงก็ replicate ปัญหาได้เองนี่ จะคอยถามกูทำไม มึงนี่ไม่พยายามจะเข้าใจกูเลย ” (จริงๆ เป็นภาษาอังกฤษนะ)

อ่านแล้วจุก แต่ก็จริงอย่างที่ลูกค้าว่า เพราะผมมัวเอาแต่สนใจปัญหาว่าที่ server ของผม จนลืมไปว่าสำหรับลูกค้าน่ะเขาไม่มองเจาะเป็นตัวๆ หรอก แต่เขามองรวมๆ ว่า “ระบบของบริษัทนี้มันไม่ส่ง data มา” ความจริงผมเองก็ควรจะส่งเรื่องให้ทีมที่ support backend, data source ไปตั้งนานแล้วว่าทำถึงไม่ส่ง data มา

ในแง่เฉพาะ support product ผม โอเค ผ่าน แตในแง่ support ลูกค้าแล้วถือว่าสอบตกเพราะยังไม่ได้แก้ปัญหาอะไรให้ลูกค้าเลย เอาแต่ปกป้องตัวเองว่าไม่ผิดท่าเดียว ผมควรจะมองปัญหาที่แท้จริงที่ลูกค้าเจอให้ออกว่าคืออะไร (กรณีนี้คือระบบของบริษัทผมมันไม่ส่ง data มา , ไม่ใช่ server ตัวนี้มันไม่ส่ง data)

นี่ก็เป็นอีก 1 บทเรียนที่ผมได้ในปีที่ 11 ของการทำงาน