My Journey เส้นทางสายอาชีพใน KBTG

Jinnymom
KBTG Life
Published in
5 min readNov 13, 2023

หากจะพูดถึงบริษัทเทคโนโลยีชั้นนำของประเทศไทย คงไม่มีใครไม่รู้จัก KBTG หรือกสิกร บิซิเนส-เทคโนโลยี กรุ๊ป องค์กรที่มีบรรยากาศดีๆ ในการทำงาน มีสวัสดิการมากมายให้กับพนักงาน และมีหลายตำแหน่งงานให้เราเลือกทำตามความสามารถ และความชอบ รวมถึงความท้าทายในการทำงาน และหากรู้สึกว่าสายอาชีพที่ทำยังไม่ได้ ทางองค์กรก็มีโปรแกรมที่เรียกว่า KBTG Internal Mobility เปิดโอกาสให้พนักงานภายในบริษัทสามารถเปลี่ยนตำแหน่งได้

จุดเริ่มต้นจาก SE

เราเริ่มต้นการทำงานที่ KBTG วันที่ 4 มกราคม 2559 ในวันที่องค์กรเริ่มก่อตั้ง จึงถือเป็นพนักงานรุ่นบุกเบิกเลย โดยจุดเริ่มต้นการเป็นพนักงาน KBTG ของเรามาจากการ Convert จากพนักงานบริษัท IBMSD สู่ตำแหน่ง Advanced Software Engineer หรือที่บริษัททั่วไปเรียกกันว่า Programmer / นักพัฒนาระบบ งานที่รับผิดชอบหลักจะเป็นการดูแลและพัฒนาระบบ Bill Payment, Fee Charing, RMS, CH-Register และ LMS เขียนโปรแกรมโดยใช้ภาษา COBOL บนเครื่อง Mainframe Computer

ศัพท์แต่ละตัวที่ใช้ บ่งบอกถึงกาลเวลาที่เปลี่ยนไปสุดๆ

Software Engineer (SE) ต้องทำอะไรบ้าง หลัก ๆ หน้าที่ความรับผิดชอบของเราคือคอยดูแลและพัฒนาโปรแกรมภาษา COBOL บนเครื่องเมนเฟรม แอปพลิเคชันที่ดูแลทั้งหมดจะใช้ Database ที่ชื่อว่า DB2 ในการเก็บข้อมูล โดยจะมีการพัฒนาโปรแกรมหน้าบ้านด้วยภาษา .NET ในส่วนนี้จะมีน้อง ๆ ที่เป็น SE เหมือนกันคอยเขียนโปรแกรมหน้าจอ เพื่อให้ทางสาขาใส่ข้อมูลของลูกค้า เพราะถ้าใช้ภาษา COBOL เขียน หน้าจอคงไม่สวยงาม และรูปแบบไม่น่าใช้นัก การเขียนโปรแกรมด้วยภาษา COBOL โปรแกรมจะทำงานแบบเรียงลำดับ ต้องมีการประกาศตัวแปร และเขียนบอกด้วยคำสั่งที่คล้ายกับประโยคภาษาอังกฤษ ต้ว Compiler จะใช้ JCL (Job Control Language) เพื่อใช้ในการตรวจสอบไวยากรณ์ของโปรแกรม ลักษณะของไฟล์ข้อมูลที่ใช้พัฒนาบนเครื่อง Mainframe ส่วนใหญ่จะเป็น File-based ที่เป็นแบบ Sequential, Random และ Dynamic

ระบบที่ดูแลจะมี BA (Business Analyst) ไปประชุม เพื่อรับ Requirement มาจาก User จากนั้นจะนำมาเล่าให้พวก SE ฟังว่ามีส่วนไหนที่ต้องพัฒนาเพิ่ม หรือต้องแก้ไขเปลี่ยนแปลงบ้าง เมื่อได้รับ Requirement มาจาก BA แล้ว พวกเราจะมาทำ Impact Analysis ร่วมกัน ทั้งในส่วนของ Open และ Mainframe ว่าการพัฒนาหรือแก้ไขระบบในแต่ละครั้งกระทบหน้าจอหรือโปรแกรมใดบ้าง มีความเกี่ยวข้องกับแอปพลิเคชันไหนบ้าง เพื่อทำการนัดประชุมและหารือร่วมกันกับแอปที่เกี่ยวข้อง ให้แต่ละแอปทราบว่า Impact เป็นแบบไหน เช่น ต้องแก้ไขโปรแกรม หรือแค่ร่วมทดสอบโดยที่ไม่ต้องแก้ไขโปรแกรม เพราะบางครั้งที่เราวิเคราะห์ว่าแอปนั้น ๆ ไม่ต้องแก้ไขโปรแกรมอาจจะมีบางจุดที่เราไม่ทราบ ดังนั้นควรจัดประชุมเพื่อให้เกิดความเข้าใจที่ตรงกัน จะได้ไม่มีผลกระทบตามมาหลังจากที่เอาขึ้น Production ไปแล้ว

หน้าที่ความรับผิดชอบหลักของ SE หลังจากที่ทำ Impact Analysis ก็จะช่วยทำการประเมิน Man-day ในส่วนของการพัฒนาโปรแกรม รวมถึงการทำ Unit Test และการทดสอบ SIT, UAT จนกระทั่งถึงการ Deploy ขึ้น Production เพื่อให้ทาง BA และ DM นำไปใช้เป็นข้อมูลในการประเมิน Man-day ต่อไปเพื่อขอ Effort

พอประเมินทุกอย่างเรียบร้อย เราก็ทำการพัฒนาโปรแกรม ทำ Unit Test เขียน JCL เพื่อทำการจัดลำดับการรันของโปรแกรม ทำ Job Run Sheet เพื่อจัดลำดับการรันของ Job แต่ละ Job ให้ตรงกับ Flow การทำงานที่เราเขียนไว้ อีกทั้งให้มีความสัมพันธ์และสอดคล้องในการรับส่งไฟล์ระหว่างแอปต่าง ๆ ที่เกี่ยวข้อง หลังจากทำ Job run sheet เสร็จ เราจะทำการนัดพี่ Manager ของ IT Operation เพื่อทำการรีวิวและอธิบายเพื่อให้เข้าใจตรงกัน เพื่อให้ทาง IT Operation ทำการ Set Control-M สำหรับรัน Job ได้อย่างถูกต้อง เมื่อทาง IT Operation ทำการ Set Control-M แล้ว ให้ทดสอบด้วยการปล่อย Control-M ออกมารันทั้ง Flow ด้วยข้อมูลที่ใช้ในการทดสอบ เพื่อเป็นการตรวจสอบว่า Job และโปรแกรมทำงานได้โดยไม่มีปัญหา ไม่เกิดการตายระหว่างทาง รวมถึงตรวจสอบด้วยว่าทาง IT Operation Set Control-M ได้อย่างถูกต้อง

เมื่อขั้นตอนในการทำ Unit Test ผ่าน มาถึงขั้นตอนการทดสอบ SIT และ UAT หน้าที่หลักของ SE คือคอยดูและ Fix Defect ในส่วนที่เป็นความผิดพลาดของโปรแกรม ถ้า UAT เรียบร้อย และได้รับ Sign off จาก User แล้ว SE จะทำการเขียน Deployment Document และเปิด Change เมื่อเขียน Deployment Doc เสร็จ จะทำการรีวิวกับ IT Operation และ DM เพื่อให้ชัวร์ว่า Deploy ถูกต้อง จากนั้นทำการ Baseline Program เพื่อไว้ใช้สำหรับ Deploy ก่อนจะ Deploy และทำ IVT เพื่อตรวจสอบว่าโปรแกรมและ Job ที่เอาขึ้นไปนั้นโอเค ไม่ทำให้เกิดปัญหาขึ้นบน Production

อีกหนึ่งหน้าที่หลักของ SE อย่างพวกเราคือการ Fix Incident ที่เกิดขึ้นบน Production ที่อาจจะเกิดขึ้นทั้งในตอนกลางวันหรือกลางคืน ขึ้นอยู่กับ Job และระบบที่เราเป็นผู้ดูแล เรียกว่าเราต้องซัพพอร์ตการทำงานแบบ 24/7 กันเลยทีเดียว ถ้าเป็น Incident ที่เป็นพวก Sev 1 นี่ซีเรียสมาก ถ้าไม่รับโทรศัพท์และรีบแก้ปัญหานี่จะทำให้เกิดผลกระทบวงกว้าง ดังนั้นโทรศัพท์มือถือต้องอยู่ใกล้ ๆ ตัวทั้งในยามหลับและยามตื่น ระบบใหญ่ที่ทำตอนนั้นมีระบบโอนเงินเข้า (Inward Remittance) ที่ทีมเราช่วยกันพัฒนา เขียนโปรแกรมหลายตัวมาก Job flow และ Job Run Sheet มี Job วิ่งเกือบ 300 กว่าตัว โดยในปีนั้นระบบของพวกเราได้รับรางวัลเป็นทีมด้วย เป็นความภูมิใจในการทำระบบ Mainframe ที่พัฒนาได้ไม่แพ้โปรแกรม Open เลย

เป็นปีแรกที่รับรางวัลทางออนไลน์ เนื่องจากโควิด

SE สู่การทำงาน BA

หลังจากทำงานในตำแหน่ง SE ไปได้สัก 2 ปี บริษัทเริ่มมีนโยบายที่จะ Sunset เครื่อง Mainframe ให้ได้ภายใน 3 ปี เนื่องจากการพัฒนาระบบบนเครื่อง Mainframe มีค่าใช้จ่ายที่ค่อนข้างสูงและมีข้อจำกัดหลายเรื่อง ถึงแม้ข้อดีของการพัฒนาระบบบน Mainframe สำหรับการประมวลผลข้อมูลเยอะ ๆ จะสามารถทำได้อย่างรวดเร็ว แต่บริษัทไม่อยากแบกภาระค่าใช้จ่ายที่สูงมาก และต้องการใช้เทคโนโลยีใหม่ ๆ นานไปนโยบายนี้ค่อย ๆ ชัดเจนขึ้นเรื่อย ๆ ซึ่งแม้ว่าดูแล้วคงไม่สามารถ Sunset ได้ภายในเวลา 3 ปี แต่ก็ทำให้เราเกิดความคิดที่ว่าลู่ทางใหม่ที่ไม่ใช่การเป็นนักพัฒนาโปรแกรมน่าจะเหมาะสมกับตัวเรามากกว่า เพราะนอกจากการพัฒนาโปรแกรมแล้ว SE ยังต้องคอยรับโทรศัพท์เพื่อซัพพอร์ต Incident ทำให้การทำงานและการนอนพักผ่อนไม่ค่อยเป็นเวลา นอกจากนี้ยังต้องเรียนรู้การเขียนโปรแกรมภาษาใหม่ ๆ ที่บริษัทใช้ในการพัฒนา ไม่ว่าจะเป็น Go, Python, Java เราเองเคยมีโอกาสลองไปเรียนภาษา Go และ Java ตอนไปเรียนรู้ตัวทันทีว่าสู้น้อง ๆ รุ่นใหม่ ๆ ไม่ได้เลย ด้วยอายุที่มากขึ้นและปัจจัยหลายอย่าง

ช่วงนั้น DM ของเราไปรับดูแลแอปพลิเคชันของทีม Trade ตัว TradePro EPA ระบบนี้เป็นส่วนหนึ่งของการโอนเงินออกบนแอป K PLUS รวมถึงระบบ AFMS เป็นการส่งไฟล์ข้อมูลแบบ Bulk เป็นรอบ ๆ สำหรับการโอนเงินเข้าบัญชีเงินเดือนของพนักงาน ตอนนั้นมีน้องคนหนึ่งกำลังจะลาออก เรามีโอกาสได้ไปรับ Transition ประกอบกับตอนนั้นมี Requirement เรื่องการปรับ Version ของ GPI ตามนโยบายประจำปีของ SWIFT เราจึงขอหัวหน้าอาสาลองเป็น BA เพื่อช่วยออกแบบหน้าจอของระบบ และคุย Requirement กับ User ช่วยทำ Spec เพื่อให้ SE เขียนและทำทดสอบ เมื่อหัวหน้าเห็นเราทำได้ จึงมีการพูดคุยกันในเรื่องการทำงาน โดยเราบอกเป้าหมายที่ชัดเจนว่าไม่อยากเขียนโปรแกรมแล้ว อยากทำงานเป็น BA มากกว่า ตอนนั้นตำแหน่งในองค์กรของเรายังคงเป็น SE เหมือนเดิม แต่ Take Role ทำงานในโปรเจคเป็น BA

ตัวอย่าง GPI Tracker ที่ใช้ดูสถานะการโอนเงิน

เราเริ่ม Transition งานที่เป็นระบบ Mainframe ทั้งหมดให้พี่ในทีมดูแลต่อ จากนั้นไปช่วย DM คนใหม่ที่มาดูแลระบบ TradePro EPA และ AFMS แทนหัวหน้าของเรา คราวนี้ได้ทำงาน BA เต็มตัว แต่ยังมีช่วย SE ดูแลเรื่องการ Control Source Code บ้าง รวมถึงการเปิด Change การรีวิว Deployment Doc และซัพพอร์ต Incident ในตอนกลางวัน

ระบบ TradePro EPA, AFMS และ TradeNa เป็นระบบที่พัฒนามาเป็นเวลานาน ทำให้ไม่ค่อยทันสมัยและมีข้อจำกัดในการทำงานเยอะ จนเกิด Incident บ่อย ๆ ลูกค้าไม่ค่อยแฮปปี้ ทาง User จึงต้องการพัฒนาระบบการโอนเงินออกใหม่ให้ทันสมัยขึ้น และให้รองรับความต้องการของลูกค้าในหลาย ๆ เรื่องที่ระบบเก่าไม่สามารถทำได้ โดยใช้ชื่อระบบว่า GPS (Global Payment System) งานของเราในบทบาท BA เริ่มตั้งแต่การจัดทำ Workshop เพื่อรับ Requirement จาก User ทำ Prototype หน้าจอ ออกแบบเอกสาร และรายงานที่สำคัญ เพื่อนำไปทำ Workshop กับ User ทำ Impact Analysis มีโอกาสได้เรียนรู้ระบบ SWIFT และงานของ BA หลาย ๆ อย่าง

เนื่องจากระบบ GPS เป็นระบบการโอนเงินออกใหม่ พัฒนาโปรแกรมโดย Dev ชาวเวียดนาม เราต้องมีการทำ FS (Functional Spec) มีการไปอธิบาย Requirement ให้กับ BA ชาวเวียดนาม อธิบายตัว FS ช่วยทาง Dev เวียดนามทดสอบโปรแกรม และอธิบาย Requirement ให้กับ Test Team ช่วยรีวิว Test Case ที่จะใช้ในการทดสอบ รวมถึงการ Log Defect ในขั้นตอนการทำ SIT ช่วยประสานงานระหว่าง Dev Team และ Test Team เพื่อให้การทดสอบระบบเป็นไปตามแผน และ Fix Defect ให้เรียบร้อย ในขั้นตอนการทำ UAT เราจะช่วย User รีวิว Test Case และประสานงานระหว่าง User กับ Dev ชาวเวียดนามเพื่อ Fix Defect ทั้งหมด ช่วย Dev รีวิว Deployment Document ที่จะใช้ขึ้น Production

สู่ Test Quality Assurance ผ่าน KBTG Internal Mobility

ที่ KBTG มีโปรแกรมที่เรียกว่า KBTG Internal Mobility ที่เปิดโอกาสให้พนักงานสามารถเปลี่ยนสายงานได้ภายในองค์กร โดยจะมีแอปหรือ Area ต่าง ๆ ที่ต้องการรับคนสลับกันมาเล่าว่างานที่ทำเกี่ยวกับอะไรบ้าง และต้องการเปิดรับตำแหน่งงานอะไร ต้องการคุณสมบัติอย่างไร เราได้ไปฟังโปรแกรมนี้อยู่บ่อย ๆ นอกจากนี้เรายังรู้สึกว่าการทำงานด้านการพัฒนาแอปพลิเคชัน การวางแผนที่จะลาพักร้อนหรือลายาว ๆ ทำได้ค่อนข้างยาก เนื่องจากงานบางครั้ง Delay ค่อนข้างมาก และเราอยากเปลี่ยนงานไปทำด้าน Process เพราะมีความรู้สึกว่าเราน่าจะวางแผนชีวิตได้ง่ายขึ้น

จากที่ได้ไปฟังบรรยาย KBTG Internal Mobility จากทีมต่างๆ มา พบว่าเรารู้สึกสนใจงาน Test แต่เมื่อไปคุยกับพี่ท่านหนึ่ง เขาก็แนะนำว่ามันจะเป็นการเปลี่ยนสายงานมากเกินไป อาจทำให้ความก้าวหน้าในงานของเราช้า เพราะต้องไปเริ่มเรียนรู้ใหม่ ในขณะนั้นเองก็ได้มีโอกาสคุยกับ Test Manager คนหนึ่งที่แนะนำเราว่า TQA (Test Quality Assurance) กำลังต้องการคนนะ ให้ลองไปคุยดู ซึ่ง DM ของ TQA ได้พูดให้เรารู้สึกมั่นใจว่าจริงๆ เราน่าจะทำได้ ถึง Test จะเป็นเรื่องใหม่สำหรับเรา แถมยังต้องมีการสอบ Certificate ด้วย แต่มานั่งคิดๆ ดู ขอลองแล้วกันว่าจะทำได้มั้ย เราจึงตัดสินใจทำการย้ายผ่านโปรแกรม KBTG Internal Mobility โดยแจ้งทีมเก่าล่วงหน้าก่อนอย่างน้อย 1 เดือน เพื่อ Transition งาน

ในการย้ายตำแหน่งงานใน KBTG เราจะไม่โดนลด Cap และ Band แต่จะเป็นการเปลี่ยนตำแหน่งงานให้ตรงกับหน่วยงานที่เราย้ายไปอยู่ เมื่อเรามาอยู่ทีม TQA ก็ต้องใช้ความพยายามในการเรียนรู้มาก เพราะเป็นเรื่องที่ใหม่สำหรับเราเกือบทุกอย่าง หัวหน้าให้เราได้ลองสอนหัวข้อง่ายๆ ให้กับน้องที่กำลังฝึกฝนในโครงการ Tech Kamp และช่วยประสานงานเรื่องการสอน รวมถึงการเป็นพี่ Buddy ให้น้อง ๆ Tech Kamp จากนั้นเราก็เตรียมตัวเพื่อสอบ Cert ที่เป็นข้อกำหนดพื้นฐานว่ามีตัวไหนต้องสอบผ่านบ้าง และเราก็สามารถสอบผ่าน ISTQB Foundation และ ISTQB Test Manager แถมโปรแกรมที่ทำกับน้อง Tech Kamp ทำให้ทีมของเราได้รับรางวัลด้วย

ปีนี้หัวหน้าให้เราทำงานออกแบบพวก Test DI (Deliverable Item) Template เพื่อใช้แทน Template เดิมที่ค่อนข้างเก่ามากแล้ว การออกแบบตรงนี้ถือเป็นเรื่องที่ค่อนข้างใหม่และท้าทายสำหรับเรามาก เราได้มีโอกาสจัดทำ Training Course สำหรับ SQM ซึ่งเป็นงานที่เราไม่เคยทำมาก่อน แต่ทำไปแล้วก็รู้สึกสนุกไม่น้อย เป็นความท้าทาย และทำให้เราได้เรียนรู้ไปพร้อมกับผู้เรียนด้วย

น้อง ๆ SQM มาร่วมเรียนกันอย่างสนุกสนาน

ปัจจุบันเรายังอยู่ทีม TQA และอยากบอกว่าที่ KBTG ถ้าเราสนใจลองเปลี่ยนการทำงานใหม่ ๆ องค์กรพร้อมเปิดโอกาสให้กับทุกคนเสมอ เราสามารถพูดคุยกับหัวหน้าโดยตรง หรือจะคุยกับทีมที่เราต้องการย้ายไป แล้วกลับมาแจ้งทีมเดิม หรือย้ายผ่านโปรแกรม KBTG Internal Mobility ที่เราสามารถเข้าไปเลือกดูตำแหน่งงาน และ Submit ในระบบ เสร็จแล้วก็จะมีทีม HRBP ติดต่อเพื่อนัดเราสัมภาษณ์ เพียงเท่านี้เราก็สามารถลองทำงานที่เราสนใจโดยไม่จำเป็นต้องลาออก ถ้าชาว KBTG คนไหนสนใจ สามารถลองศึกษาตัวเลือกเหล่านี้ดูได้ค่ะ ส่วนคนอื่นๆ ที่อยากมาทำงานด้วยกันกับเรา ดูรายชื่อตำแหน่งงานและสมัครมาทางเว็บไซต์ KBTG ได้ที่ลิงก์นี้เลย

สำหรับใครที่ชื่นชอบบทความนี้ อย่าลืมกดติดตาม Medium: KBTG Life เรามีสาระความรู้และเรื่องราวดีๆ จากชาว KBTG พร้อมเสิร์ฟให้ที่นี่ที่แรก

--

--