Support Programmer คืออะไร

วันนี้จะแชร์เรื่องงานที่ทำประจำให้ฟังนิดหน่อยครับ เกริ่นก่อนว่าคงลงรายละเอียดมากไม่ได้ เพราะว่าพอลงไปนิดเดียววันรุ่งขึ้นโดนหัวหน้าเรียกไปคุยเลย เห็นช่วงนี้มีกระแสบอกว่าโปรแกรมเมอร์หายาก ไม่ค่อยมีคนอยากทำ ก็เลยมาแชร์ให้คนอื่นฟังดูเผื่อว่าจะมีคนอยากทำน้อยลงไปอีก (ค่าตัวจะได้แพงขึ้น 555 อันนี้ล้อเล่นครับ เงินเดือนก็ตามสภาพเศรษฐกิจแหละ)

เมื่อก่อน ทีมผมก็ไม่ได้มีการแยกเป็น Support กับ Development หรอก ทุกคนก็ทำทั้งสองอย่าง ทั้ง Develop โปรเจคใหม่ ๆ ทั้งแก้บั๊กของ Product อะไรก็แล้วแต่ แต่มาวันนึงบริษัทผมก็เกิดการปรับโครงสร้างองค์กรณ์ใหม่ มีการแยกเอา IT ออกมาเป็นสองส่วน ก็คือ Support กับ Development

ภายในแผนกก็จะแบ่งเป็นย่อย ๆ ลงไปอีก โดย Development นั้นจะแยกเป็นทีมย่อย ๆ ตาม Product ในขณะที่ Support จะรวบเอาหลาย ๆ Product มารวมกันเป็นกลุ่มๆ

ผมเองในตอนแรกก็รู้สึกไม่พอใจ เพราะส่วนตัวผมเป็นคนชอบอะไรใหม่ ๆ ชอบอยู่กับการเปลี่ยนแปลง และที่สำคัญผมไม่ชอบตามล้างตามเช็ดความผิดพลาดของคนอื่น (ตอนนั้นผมเกลียดการมานั่งแก้บั๊กที่ตัวเองไม่ได้ทำเอามาก ๆ) ซึ่งก็คงเป็นเพราะยังเป็นวัยรุ่นไฟแรงอยู่ (ตอนนี้เป็นวัยรุ่นไฟมอด) ผมถึงขั้นเตรียมจะย้ายงาน สัมภาษณ์ที่ใหม่ต่อรองเงินเดือนเสร็จเรียบร้อย แต่ก็กลับมาช่วยต่อเพราะว่าหัวหน้าเขาขอ

ตอนนี้มานั่งคิดดูถ้าผมได้ไปทำ Development ผมก็คงรู้สึกไม่พอใจเหมือนกัน เพราะว่าการทำงานในส่วนของ Development ในบริษัทใหญ่ ๆ มันไม่ได้สนุกอย่างที่คิดเลย มันมีขั้นตอนอะไรหลายอย่างมากมายก่ายกอง (โดยเฉพาะบริษัทที่ค่อนข้าง Conservative อย่างบริษัทผม)

เข้าเรื่องดีกว่า สำหรับงาน Support หรือที่เต็ม ๆ จะเรียกว่า Production Support โดยหลัก ๆ หน้าที่ก็คือเป็นคนที่คอยแก้ปัญหาที่เกิดขึ้นในระบบที่ขึ้น Production หรือก็คือเปิดให้ลูกค้าได้ใช้งานไปแล้ว เราจะไม่เข้าไปยุ่งเกี่ยวอะไรกับ issue ที่ยังไม่ขึ้น Production (เป็นหน้าที่ของ development)

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

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

แต่ถ้าต้องทำการแก้ไข ก็ต้องดูว่าอยู่ในส่วนที่เราทำได้หรือเปล่า ถ้าทำไม่ได้ก็ส่งเรื่องต่อไปให้คนอื่น พอเราแก้ไขปัญหาได้แล้วก็ส่งต่อไปให้ Tester ทดสอบวิธีการแก้ไขปัญหาอีกทีนึง ก็ถือว่าจบในส่วนของเรา

แค่นี้เอง ? … ถ้าเทียบกับงานของ Development แล้วมันไม่ได้มีรายละเอียดอะไรมากมายเลย (ของเขาต้องมีประชุมวางแผนงาน ต้องมีการประเมินเวลา มีอะไรมากมายหลายอย่าง) แต่ประเด็นอยู่ตรงที่ความถี่ของงาน สำหรับ Support เราหลาย ๆ ครั้งที่เราต้องทำงาน 4-5 ชิ้นให้เสร็จภายในหนึ่งอาทิตย์ พูดกันง่าย ๆ งานของ Support จะเป็นงานยิบย่อยเล็ก ๆ น้อย ๆ แต่เยอะ มีมาไม่ขาดสาย

ที่สำคัญคืองานของเรามักจะวางแผนได้ยาก หลาย ๆ ครั้งที่เรารับงานมาแล้วมืดแปดด้าน ใช้เวลาเป็นอาทิตย์ในการหาว่าปัญหาเกิดจากอะไร แต่พอหาเจอแล้วการแก้ปัญหาใช้เวลาแค่ 3 นาที ก็มี ดังนั้นการประเมินว่างานแต่ละชิ้นจะใช้เวลานานแค่ไหนบางทีก็เป็นเรื่องที่เป็นไปไม่ได้เลย ซึ่งจุดนี้เป็นจุดที่ผู้บริหารมักจะไม่ค่อยเข้าใจเราสักเท่าไหร่ ชอบมาให้ประเมินว่าจะใช้เวลาเท่าไหร่อยู่เรื่อย (และพอทำไม่ได้จริงก็มาแอบกดคะแนนเรา 555)

และที่ยากกว่านั้นคือ งานด่วนครับ … งานด่วนเป็นอะไรที่เรียกได้ว่าทำนายไม่ได้เลยว่าจะมาวันไหน วันดีคืนดีเกิดราศีมีนดวงตก ได้งานด่วนประเภทต้องปิดให้ได้ภายในวันเดียวสองตัวรวดก็เคยมาแล้ว 555

อ้อ แล้วก็ เนื่องด้วยความที่ผมทำงานในส่วนของ Surround Product ซึ่งไม่ใช่ Product หลักแต่เป็นตัวเล็ก ๆ จำนวนมากที่ต่อมาใช้งานกับระบบส่วนกลาง และ Product พวกนี้เกิดจากร้อยพ่อพันแม่ สร้างขึ้นมาด้วยเทคโนโลยีที่แตกต่างกัน ทีมผมก็เลยรับเละ ต้อง Support Product หลายตัว ดังนั้นสิ่งที่สำคัญก็คือต้องเป็นคนที่ปรับตัวรับอะไรใหม่ ๆ ได้เร็ว อย่างผมเองถึงแม้ว่าหน้าที่หลักผมคือ C++ โปรแกรมเมอร์ แต่ผมเองก็ต้องเขียนโปรแกรมในภาษา Progress 4GL, Java, Javascript, XSL, และอื่น ๆ ตามแต่ว่า Product นั้้นจะสร้างมาจากอะไร แล้วถึงแม้ว่า Product บางตัวจะสร้างจากภาษาเดียวกัน แต่อาจจะอยู่บน Framework คนละตัวกันได้อีก สร้างความปวดเศียรเวียนเกล้าได้ดีทีเดียว แต่เนื่องจากผมเป็นคนชอบลองอะไรแปลก ๆ ใหม่ ๆ อยู่เสมอ การที่มีอะไรแปลก ๆ มาเวียนให้ทำก็เป็นเรื่องที่สนุกดีทีเดียว

ข้อดีอีกอย่างของการทำในส่วนของ Support คือ เรามักจะมีผลลัพท์ที่ดีกว่าฝั่ง Dev เนื่องด้วยว่างานเรามักจะเล็กกว่า และมักจะมี Constrain น้อยกว่าด้วย ดังนั้นการควบคุมคุณภาพโค๊ดจึงทำได้ง่ายกว่า สำหรับคนที่รักความสมบูรณ์แบบ การทำงานในฝั่ง Support อาจจะเหมาะกับคุณมากกว่า

แต่คุณต้องยอมรับการตามล้างตามเช็ดปัญหาที่ตัวเองไม่ได้ก่อไว้ได้ด้วยนะ

ก็ขอสรุปลักษณะเด่น ๆ ของงาน Support ให้ฟังนะครับ

  1. ตัวงานมักจะเป็นงานเล็ก ๆ แต่คาดเดาไม่ได้ หลาย ๆ ครั้งต้องใช้ความพยายามในการวิเคราะห์ปัญหา ความเข้าใจและจินตนาการณ์สำคัญมาก เพราะเราต้องวิเคราะห์จากหลาย ๆ แง่มุม ไม่อย่างนั้นก็จะไม่สามารถตีโจทย์ได้
  2. งานเข้ามาได้ไม่ขาดสาย วางแผนอะไรล่วงหน้ามากไม่ได้ ต้องปรับตัวตามสถานการณ์ที่เปลี่ยนแปลงได้ตลอดเวลา 
  3. งานจะไม่ค่อยซ้ำเดิม มีอะไรแปลก ๆ เข้ามาใหม่เรื่อย ๆ โดยเฉพาะถ้าต้อง Support Product หลาย ๆ ดังนั้นต้องเป็นคนที่พร้อมจะศึกษาอะไรใหม่ ๆ ได้ตลอดเวลา
  4. มีการติดต่อกับลูกค้า ดังนั้น ต้องเป็นคนที่มีความสามารถด้านการสื่อสารดี ถ้าเขียนอะไรวกไปวนมา คนอ่านไม่รู้เรื่อง ก็จะกลายเป็นปิดงานไม่ได้ ปวดหัวอีก

 ผมว่าบางทีการที่ผมโดนสั่งให้มาอยู่ Support นี่ ผู้จัดการผม (ตอนนั้น) เขาคงเข้าใจว่าผมเป็นคนตามที่เขียนเอาไว้ข้างบนก็เลยจับผมมาอยู่ Support ซึ่งแรก ๆ ผมไม่พอใจนะ แต่หลัง ๆ พอทำ ๆ ไปมันก็เริ่มรู้สึกว่ามันเข้ากับตัวผมมากกว่างานฝั่ง Development ผมมีโอกาสกลับไปทำ Dev บ้างเมื่อปีที่แล้ว ในช่วงที่ฝั่งนั้นเขาคนไม่พอ ก็เลยพอจะเปรียบเทียบกันได้ และก็รู้ว่าชอบงานฝั่งนี้มากกว่า

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

ก็หวังว่าจะมีประโยชน์นะครับ

One thought on “Support Programmer คืออะไร

  1. Definitely true!! Thanks for the great article!!!

    I was a developer for 5 years but changed to a support last year. I’m not getting used to this role. I still love planning and process. And I’m suffering from many urgent issues coming almost everyday in a row.

    However, I admitted that I could learn much more knowledge and work faster than when i was a developer. I’m trying to adapt myself.. and my working style. Let’s cross our fingers and see if I could. lol

    Thanks again!!!

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.