Journey to become a CTO part 2/3 : เส้นทางสู่ผู้จัดการแผนกเงินเดือนเกินแสน (ในวัย 27 ปี)

Art Thunder
3 min readJun 23, 2022

--

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

https://businessday.ng/columnist/article/the-14-principles-of-management/

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

อ่านตอนก่อนหน้าได้ที่

บริษัทที่สี่ (Software Engineer -> Software Engineer Manager)

  • SME ไทย (co-founder ไทย) พนักงานประมาณ 7 -> 70 คน
  • ระบบชำระเงิน
  • ระบบวิเคราะห์ข้อมูล
  • ไม่ต้องเข้าออฟฟิศ (ช่วงหลังเข้าสัปดาห์ละ 2 วัน)
  • วันที่ทำงานที่บ้าน เข้าออกงานตรงเวลา 10:00–18:00
  • วันที่ทำงานที่เข้าออฟฟิศ เข้าออกงานตรงเวลา 10:00–16:00 (หลบรถติด)
  • วันลาไม่จำกัด
  • Macbook เอากลับบ้าน (จอคอม, มือถือต่างๆ ที่ต้องใช้)
  • Yearly Company Bonus
  • Yearly Outing
  • Free Lunch วันที่เข้าออฟฟิศ (ช่วงโควิคแจกคูปอง Grab ให้ไปสั่งกันเองที่บ้าน)
  • Free snack and beverage วันที่เข้าออฟฟิศ (อยากกินร้านไหนก็สั่ง Grab มา)
  • Snack bar
  • เค้กวันเกิด (เกิดกันบ่อย กินกันจนอ้วน ฮ่าๆ)
  • Party ตามเทศกาลต่างๆ เช่น ปีใหม่ ตรุษจีน สงกรานต์
  • Team welcome dinner เวลามีพนักงานใหม่เข้าทีม
  • ทุนสนับสนุนการศึกษา 20,000 บาทต่อปี (ซื้อคอร์สเรียน และหนังสือ)
  • ทุนสนับสนุนกิจกรรมส่วนตัว 20,000 บาทต่อปี เช่น กีฬา ท่องเที่ยว
  • ประกันสุขภาพ
  • กองทุนสำรองเลี้ยงชีพ
  • ค่าไฟฟ้าสำหรับทำงานที่บ้าน
  • ประกันสังคมจ่ายให้เต็ม ไม่มีหักจากเงินเดือน

เงินเดือนเพิ่มจากบริษัทที่สาม 55% และเงินเดือนก็ถึงหกหลักทีนี่

เหตุผลในการเลือกบริษัท

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

ประสบการณ์จากบริษัท

สิ่งที่ทำช่วงแรกจะยังเขียนโปรแกรมเองอยู่ โจทย์คือแก้ไขประสิทธิภาพของระบบ ก่อนเข้ามาทำงานบริษัทนี้พึ่งย้ายระบบจาก on-premise ขึ้น GCP แต่ยังมีปัญหาคือเมื่อมีคนเข้ามาใช้งานเยอะๆ ทำให้ระบบหน่วงและมี Time Out ทั้งที่มีการทำ Auto-Scaling แล้ว

จากการวิเคราะห์จะแยกระบบออกเป็น 4 ส่วน ซึ่งต้องแก้ไขทุกส่วน

  1. Client เป็น Pure JS ใหญ่ๆไฟล์เดียว สิ่งที่ต้องทำคือตัด library ที่ยังไม่ได้ใช้ออก ทำ lazy load เรียงลำดับการโหลดใหม่ และใส่ cache
  2. Gateway เป็น NGINX การ config resource และ auto-scaling ผิด ทำให้มีการขยาย pod ขึ้นมาเป็นร้อยตัว แต่รองรับการทำงานไม่ได้เลย
  3. Server เป็น Pure PHP การเชื่อมต่อ database เมื่อใช้เสร็จไม่มีการปิดคืน SQL Query ที่ไม่เหมาะสม การวาง logic if-else และวนลูปโดยไม่จำเป็น
  4. Database ต้องทำการเพิ่ม index และ replica

ซึ่งหลังจากปรับส่วนต่างๆเบื้องต้นแล้ว มีการพัฒนา Client และ Server ตัวใหม่ มีการปรับ infrastructure ใหม่ เพื่อ optimize performance และค่าใช้จ่าย และได้ออกแบบ Data Architecture สำหรับระบบวิเคราะห์ข้อมูลขึ้นมา

การทำงานของที่นี่แต่เดิมเป็นแบบ CEO อยากได้ ก็บอกให้เดฟทำและมีแต่ด่วนกับด่วนมาก ไม่มีเวลาให้ทดสอบไปลุ้นเอาบน production ทำให้มีปัญหาคุณภาพ มีบัคขึ้น production เยอะ จึงมีการคุยกับ CEO ว่าการทำงานแบบนี้มันไม่มีประสิทธิภาพ ควรต้องปรับใหม่ จากนั้นก็เริ่มเอา Scrum มาใช้กับทีม จนกลายเป็น Scrum 100% แบบ remote working

หลังจากนั้นก็ได้รับโปรโมทเป็นผู้จัดการ

  • ช่วงแรกก็เป็นการเริ่มสร้างทีมและขยายทีม เริ่มจาก 1 ทีม พอคนเริ่มเยอะ ประชุมเริ่มนาน ก็แตกออกเป็น 2 ทีม และขยายเพิ่มจนมี Dev 5 ทีม, DevOps 1 ทีม, Design 1 ทีม, Data 1 ทีม
  • นอกจากนี้ก็มีเอา Scrum ไปใช้กับทีมกฏหมาย และทีมการตลาด ซึ่งยังค่อนข้างถูไถ
  • นำ OKRs มาใช้โดยช่วงแรกต้องช่วยเกลาให้แผนกอื่นเพื่อให้ได้ Obejective กับ Key Results
  • ออกแบบโครงสร้างแผนก แบ่ง level และ career path ออกเป็น 2 สาย เทคนิค และการจัดการ
  • ปรับรูปแบบการต้อนรับพนักงานใหม่ เพื่อให้พนักงานใหม่สามารถเข้าใจบริษัท ตัวงาน และรูปแบบการทำงานได้ไวขึ้น ตอนหลังคนเริ่มเยอะ ไม่มีเวลารับพนักงานใหม่เอง ก็ตั้งเป็น Buddy Program ขึ้นมา
  • ออกแบบการทำ One-on-One (ตอนนั้นยังทำได้ไม่ดีเท่าไร)
  • ออกแบบ Performance review
  • เริ่มการนำ 360 Feedback มาใช้
  • ปรับขั้นตอนการสัมภาษณ์ คำถาม และเกณฑ์ ใหม่เพื่อให้ได้คนตรงกับที่บริษัทกำหนด

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

ได้เรียนรู้จากข้อผิดพลาดในการตัดสินใจของตัวเอง

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

เหตุผลในการออกจากบริษัท

ช่วงท้ายมีการเปลี่ยน CEO แนวคิดและวิธีตัดสินใจเปลี่ยนไปจากแบบเดิม และวัฒนธรรมองค์กรเริ่มเปลี่ยนไป การจัดการภายในเริ่มไม่เป็นระบบ การทำงานไม่สนุกเหมือนก่อนหน้า และไม่มีทางแก้ให้กลับไปเป็นแบบเดิมได้ จึงตัดสินใจย้ายไปบริษัทที่ห้า

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

Tech Stack หลังจากทำงานบริษัทที่สี่

บริษัทที่ห้า (IT Assistant Vice President)

  • Enterprise มหาชน ไทย (co-founder ไทย) พนักงานประมาณ 2,000 คน
  • ระบบธนาคาร
  • ไม่ต้องเข้าออฟฟิศ (เนื่องจากโควิท)
  • วันที่ทำงานที่บ้าน เข้างาน 9:30 ออกงาน 18:00+(เลิกงานดึกบ่อย)
  • Macbook เอากลับบ้าน (มือถือต่างๆ ที่ต้องใช้)
  • ประกันสุขภาพ
  • กองทุนสำรองเลี้ยงชีพ

เงินเดือนเพิ่มจากที่สี่ 30%

เหตุผลในการเลือกบริษัท

ตอนจะย้ายมาทีนี่ได้เลือกระหว่างที่นี่กับบริษัทคริปโตข้ามชาติแห่งหนึ่ง ตอนนั้นตัดสินใจยากมาก เพราะ Blockchain กำลังมา แต่อีกใจก็อยากลองทำงานในบริษัทขนาดใหญ่ เพื่อเรียนรู้รูปแบบการทำงาน โครงสร้าง และวิธีการจัดการคนจำนวนมาก และงานที่จะได้ทำของที่นี่จะได้ทำในส่วนที่เป็นไปตาม Roadmap ของธนาคารแห่งประเทศไทย ถ้าทำที่ธนาคารแห่งอื่นอาจไม่ได้ทำในส่วนนี้ และธนาคารขนาดใหญ่หลายๆที่จะมีพนักงานค่อนข้างมาก แยกส่วนงานชัดเจน ส่วนที่เราจะได้ทำอาจจะได้ทำกับแค่ไม่กี่ส่วน สุดท้ายก็เลยเลือกที่นี่

ประสบการณ์จากบริษัท

หลังจากมาทำงานที่นี่เดือนแรก culture shock ที่สุด วัฒนธรรมองค์กรและคนตรงข้ามกับทุกบริษัทก่อนหน้าที่เคยทำมาทั้งหมด

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

การเสนอความเห็นในที่ประชุมหลายครั้งมีการบอกให้เงียบ ทั้งที่วิธีการนั้นมันมีจุดไม่ดี การเชื่อฝีมือ consult ข้างนอก มากกว่าคนภายใน (ซึ่งคนภายในหลายคนเก่งกว่าและเข้าใจในงานมากกว่าด้วยซ้ำ)

Fear Culture ทุกคนมักไม่กล้าพูดและทำอะไร เพราะพร้อมจะถูกว่าได้ตลอดเวลา การปิดบังและซ่อนปัญหาเพื่อไม่ให้ถูกว่า และดูดีตอนนำเสนอ มีปัญหาที่ซ่อนไว้เยอะมาก และไม่มีทางที่จะบอกให้ supervisor ทราบ

การจัดการงานใน Sprint ที่แปลกๆ ทำงานเสร็จแล้วแต่ทิ้งการ์ดไว้ใน in progress เพราะจะได้ไม่ต้องทำงานเพิ่ม การปฏิเสธที่จะแก้ไขระบบ ทั้งที่ควรจะแก้ไขที่ระบบของตัวเอง แต่ให้คนเรียกใช้งานต้องเป็นคนไปปรับเอาเอง

Toxic Superstar คนที่เก่งแต่เข้ากับคนอื่นไม่ได้ ไม่ค่อยช่วยงานคนอื่นเพราะเป็นการเพิ่มงานให้ตัวเอง ทั้งที่เป็นส่วนที่ตัวเองควรปรับแก้ เบื้องหลังผลงานมีการกดดันและกระทบกระทั้งกับคนหลายคนทั้งในทีมและต่างทีม

อย่างไรก็ตาม งานของที่นี่เป็นระบบของธนาคาร ทำให้ได้เรียนรู้เกี่ยวกับการรักษาความปลอดภัยของระบบและข้อมูลเยอะมาก ซึ่งระบบความปลอดภัยหลายอย่างทำให้คนทำงานลำบากกว่าเดิมด้วยซ้ำ แต่ก็เข้าใจเหตุผลที่กำหนดขึ้นมา การทำงานต้องอยู่ภายใต้มาตรฐานที่เกี่ยวข้องกับหน่วยงานกำกับดูแลทั้งภายในและภายนอก

ช่วงหลังมีการเริ่มโปรเจ็กใหม่ ได้เข้าร่วมตั้งแต่ requirement ทำให้รู้ว่ากว่าจะได้ requirement ออกมาให้ทีมเดฟนำไปพัฒนา ใช้เวลานานมาก นานพอกันหรือนานกว่าเวลาที่ใช้พัฒนาด้วยซ้ำ จะต้องมีการคุยผ่านฝ่ายต่างๆ เยอะมาก และแก้กันวนไปมากว่าจะได้ requirement ที่พร้อมนำไปพัฒนา

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

ทั้งนี้ประสบการณ์และจุดอ่อนที่ได้เจอมา สามารถนำมาปรับปรุง แก้ไข และหลีกเลี่ยง เพื่อออกแบบระบบงานที่ดีกว่าในอนาคตของตัวเองได้

เหตุผลในการออกจากบริษัท

แม้การทำงานที่นี่จะได้เรียนรู้ในเรื่องของธุรกิจ แต่งานของที่นี่ไม่ช่วยพัฒนาสกิลด้านเทคนิคคอลให้ตัวเองเพิ่มได้ และวัฒนธรรมการทำงานที่ไม่ใช่ตัวเรา

จากนั้นก็ได้เจอการรับสมัครงานในตำแหน่ง CTO โดยบังเอิญ จึงสมัครไป

Tech Stack หลังจากทำงานบริษัทที่ห้า

บริษัทที่หก (Chief Technology Officer — CTO)

หลังจากเจอการรับสมัครงานในตำแหน่ง CTO โดยบังเอิญ ก็ได้ติดต่อไป

อ่านต่อที่ Part 3

Journey to become a CTO part 3/3 : เส้นทางสู่การเป็น CTO (ในวัย 29 ปี)

สรุป

  • เลือกบริษัทที่มีโอกาสได้ทำอะไรที่อาจไม่มีโอกาสได้ทำที่อื่น เช่น สร้างทีม ขยายทีม งานเฉพาะทางในธุรกิจนั้น ติดต่อกับหน่วยงานเฉพาะ
  • เรียนรู้เครื่องมือและเทคนิคใหม่ๆตลอดทั้งด้านเทคนิคและการจัดการ
  • ทำความเข้าใจแผนกอื่น ว่าที่เราคิดว่าไม่ make sense ทำไมเขาถึงเลือกแบบนั้น
  • ยอมรับความผิดพลาด เรียนรู้ และแก้ไข
  • เรียนรู้คน ทำความเข้าใจคน เพื่อรับมือกับคนประเภทต่างๆ

--

--