ส่องปัญหาวิกฤติโปรแกรมเมอร์ไทย แก้อย่างไรดี?

Panjamapong Sermsawatsri
PanJ’s Blog
Published in
4 min readNov 14, 2017

--

คำเตือน: บทความนี้ยาวมาก
และบทความนี้จะใช้คำว่า programmer, developer, engineer, โปรแกรมเมอร์ และนักพัฒนา สลับกันไป แต่สื่อถึงความหมายเดียวกัน

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

ต่อเนื่องจากโพสก่อนหน้าที่ได้เกริ่นเกี่ยวกับปัญหานี้ไว้เล็กน้อย

โพสนี้เราจึงอยากจะนำปัญหานี้มาขยายในแง่มุมต่าง ๆ ให้มากขึ้น

ปัญหาวิกฤติโปรแกรมเมอร์ไทย เป็นปัญหาจริงหรือเปล่า?

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

ในด้านบริษัทเองก็พบว่าหาคนยากขึ้นมาก ต้องปรับตัวหลายอย่าง ทั้งในเรื่องเงินเดือน หรือสวัสดิการอื่น ๆ จนบางกรณีทำให้เกิดปัญหาใหม่ในบริษัทที่ใหญ่หน่อย ก็คือว่า ในยุคสมัยที่ developer ใส่เสื้อยืดกางเกงขาสั้นไปทำงานแบบ flexible time แต่บริษัทใหญ่ไม่สามารถปรับนโยบายและสวัสดิการสำหรับ programmer/developer ให้ยืดหยุ่นได้เท่าที่ควร เพราะจะเกิดความแตกต่างกับแผนกอื่น ๆ มากเกินไป และงานในแผนกอื่น ๆ ก็ไม่จำเป็นต้องมีความยืดหยุ่นเหมือนงาน programming ซึ่งเป็นงานที่ใช้หัวเยอะมาก บางทีทำงานดึก ๆ แล้วได้งานเยอะกว่าก็มี เรื่องนี้ก็เป็นปัญหาที่น่าสนใจได้ที่เคยได้ยินมาเช่นกัน

ในมุมของนักพัฒนาเอง วิกฤติตรงนี้เป็นประโยชน์กับนักพัฒนาโดยตรง เพราะนั่นหมายถึงตัวเลือกที่มากขึ้น และเงินเดือนที่สูงขึ้น ตรงนี้เป็นเรื่องดีกับนักพัฒนาและ ecosystem โดยรวม เพราะเงินเดือนที่มากขึ้นหมายถึงความสามารถในการแข่งขันในการดึงคนจากต่างประเทศมาก็มากขึ้นด้วย แต่ก็ต้องระวังปัญหาที่อาจตามมา ซึ่งจะกล่าวถึงในส่วนต่อไป

แล้วปัญหามันเกิดจากอะไรบ้าง?

พอได้ลองมาจับปัญหานี้แล้วก็พบว่าปัญหามันใหญ่และซับซ้อนมาก แต่ก็สรุปออกมาเป็นประเด็นต่าง ๆ ได้ดังนี้

คุณภาพของ supply

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

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

แก้อย่างไรดี?

ในข้อนี้จะยังไม่กล่าวถึงภาคมหาวิทยาลัย เพราะเดี๋ยวจะกล่าวในข้อถัด ๆ ไป แต่จะพูดถึงการพัฒนาตนเองของ programmer ที่จบออกมาแล้ว ผมขอสรุปลำดับขั้นในการเป็น programmer/developer ที่ดีไว้ประมาณนี้

  1. การเลือก keyword ไปค้นใน google ข้อนี้ง่าย ๆ แต่โคตรสำคัญ มันเป็นตัวกำหนดว่าเราจะติดกับ bug นี้ไป 5 นาที หรือ 5 ชั่วโมง ตรงนี้ทักษะภาษาอังกฤษก็มีส่วน เพราะยิ่งเรารู้ศัพท์มาก เราก็จะเลือก keyword ได้ดี
  2. การอ่าน stackoverflow (แบบที่ไม่ใช่ก๊อปโค้ดแปะ) และบทความอื่น ๆ เพราะมันเป็นแหล่งความรู้ชั้นดี
  3. การตั้งคำถามที่ดี รวมไปถึงการเขียน issue เพื่อแจ้งเวลาพบ bug ของ library
  4. ลงไปแกะ code ของคนอื่น เพื่อตามหาจุดที่เกิด bug และช่วยแก้ bug ส่งกลับไปได้
  5. สามารถประเมินเวลาที่ใช้ในการ implement แต่ละ feature ได้คร่าว ๆ
  6. สามารถประเมิน technical debt ได้ และรู้ว่า code ที่กำลังเขียน ก่อให้เกิด technical debt ในมุมไหน
  7. สามารถแจกแจง trade-offs จากการตัดสินใจต่าง ๆ ได้ เช่นตอนนี้เรากำลังจะต้องเลือกระหว่างแบบ A ซึ่งเขียนแล้วอ่านง่าย กับแบบ B ซึ่งเขียนแล้วได้ performance ที่ดี

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

นอกจากการพัฒนาตนเองแล้ว ก็ยังแก้ไขได้ด้วยความช่วยเหลือจากภายนอกทั้งในเชิงปริมาณ และเชิงคุณภาพ เชิงปริมาณก็คือการเพิ่มปริมาณ programmer โดยไม่ต้องผ่านมหาวิทยาลัย นั่นก็คือ concept ของ bootcamp แบบของเมืองนอกนั่นเอง ที่เป็น course 1–3 เดือน เพื่อสอนคนที่ไม่มีพื้นฐานด้าน programming ให้เขียนโปรแกรมได้ โดยจบมาสามารถทำงานได้เลย ตรงนี้จะมา shortcut การเรียน 4 ปีในมหาวิทยาลัย และเพิ่มอัตราการผลิต programmer ได้ประมาณหนึ่ง

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

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

คุณภาพของ demand

ตอนแรกที่ผมฟังคำนี้จากพี่เนย ก็งง ๆ เอ๊ะ คุณภาพของ demand คืออะไร พอพี่เนยขยายความถึงได้เข้าใจมากขึ้น

ทุกวันนี้ยังมีบริษัทจำนวนไม่น้อยที่มอง programmer / developer เป็นเหมือนกรรมกรหน้าคอม เพื่อให้เห็นภาพ ต่อไปนี้คือสถานการณ์จำลอง

A: พี่อยากได้ feature นี้ คือเห็นคู่แข่งเปิดตัวแล้วอยากทำบ้าง
B: feature ใหญ่เหมือนกันนะครับพี่ น่าจะใช้เวลาประมาณสองเดือน
A: สองเดือนเลยหรอ เดือนเดียวได้มั้ย เดี๋ยวไม่ทันคู่แข่ง
B: ผมกลัวคุณภาพจะไม่ค่อยดี…
A: ไม่เป็นไร ขอเร่ง ๆ เลย
B: ถ้าเร่งสุด ๆ 6 อาทิตย์น่าจะได้ครับ
A: อะ ๆ ก็ได้ ๆ ยังไงก็ได้ขอเร็วที่สุด

1 เดือนผ่านไป

A: ตรงจุดนี้คู่แข่งปรับไปใช้แบบนี้แทน พี่ว่ามัน work กว่านะ
B: โหพี่ แบบนี้เท่ากับเขียนใหม่เลยนะ ผมไม่ได้เผื่อไว้
A: ทำไมล่ะ ทีคู่แข่งเค้ายังทำได้เลย ผมจ้างคุณมาแพงนะ
B: … (เตรียมยื่นซองขาว)

สองเดือนถัดมานาย A ก็เขียนบ่นในเฟสว่าเดี๋ยวนี้หาคนยากจัง เด็กสมัยนี้เกี่ยงงาน ไม่สู้งานเอาซะเลย

ถ้าดูจากสถานการณ์สมมติด้านบน จะเห็นปัญหาหลาย ๆ อย่าง

  1. ผลของการที่หัวหน้า หรือคนที่มีอำนาจ ไม่มีพื้นฐานทางด้าน technical มาก่อน
  2. ความไม่เข้าใจในคุณภาพของซอฟท์แวร์ คิดว่างานที่ทำเสร็จเร็วคือกำไร
  3. ไม่มีความรู้ในการทำ product discovery ว่ากว่าจะออกมาเป็น product ที่ดี มีขั้นตอนอย่างไรบ้าง
  4. culture ของการสั่งงานลงมาแบบ hierachy ไม่เปิดโอกาสให้พูดคุยเพื่อตัดสินใจร่วมกัน

ประเด็นพวกนี้ทำให้บริษัทไม่สามารถดึงดูด programmer ที่เก่ง ๆ ไว้ได้ ถ้าโชคดี บริษัทไหน รู้ตัวไว หาผู้เชี่ยวชาญมาให้ความรู้ มาให้คำปรึกษา ก็จะเริ่มปรับตัวได้ แต่ระหว่างการเปลี่ยนแปลง หรือที่เรียกว่า digital transformation ก็จะพบกับอุปสรรคต่าง ๆ มากมาย โดยเฉพาะเรื่องคน กับเรื่องวัฒนธรรมเดิมเป็นหลัก เพราะในบรรดาการเปลี่ยนแปลง การเปลี่ยน mindset เป็นอะไรที่ยากที่สุด เผลอ ๆ การตั้งทีมใหม่ แล้วค่อย ๆ โละทีมเก่ายังเป็นอะไรที่ง่ายกว่า ตรงนี้เป็นโจทย์ของ corporate ในการปรับตัว เพื่อให้สามารถดึงดูด programmer เก่ง ๆ ได้

แก้อย่างไรดี?

การแก้ไขตรงนี้ประกอบด้วยสองส่วน แก้ไขด้วยตัวของบริษัทเอง และการ educate บริษัทต่าง ๆ ให้ตระหนักถึงปัญหา

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

สำหรับบริษัทที่อาจจะยังมองไม่เห็นปัญหา คงจะดูใจร้ายเกินไปที่จะปล่อยให้เป็นไปตาม natural selection ส่วนตัวก็หวังว่าบทความนี้ จะเป็นส่วนช่วยในการสร้างความตื่นตัวให้กับบริษัทต่าง ๆ หันมาใส่ใจปัญหานี้กันมากขึ้น

และวิธีที่ proactive กว่านี้คือการเข้าไป educate ผู้บริหารโดยตรง หรือไม่ก็ผ่านการสัมมนา เสวนาต่าง ๆ แต่ก็ต้องขึ้นอยู่กับ vision ของผู้บริหารด้วย ว่าจะ get สารที่ต้องการสื่อแค่ไหนด้วยเหมือนกัน

ความสำเร็จของธุรกิจ

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

ปัจจัยหนึ่งที่ทำให้ programmer ไทยมีคุณภาพไม่ดีเท่าที่ควรก็คือ ผลตอบแทนที่ต่ำ เมื่อเทียบกับต่างประเทศอย่างอเมริกา ทำให้เกิด limit ของรายได้ของ programmer ในไทยที่เก่งมาก ๆ แต่ถ้าไปทำที่ Silicon Valley รายได้สูงกว่ากันมาก เกิดสิ่งที่เรียกว่าสมองไหล เป็นสิ่งปกติของกลไกตลาดแรงงาน

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

ปัจจุบันมีบริษัทที่อยู่ในไทยที่ประสบความสำเร็จเป็นจำนวนไม่มาก แต่การที่บริษัทเหล่านั้นประสบความสำเร็จเป็นอย่างมากก็เป็นผลดีต่อ programmer ในแง่ของค่าตอบแทนที่เพิ่มมากขึ้น และทำให้ตลาดแรงงานโดยรวมต้องปรับตัวตาม ข้อควรระวังคือการที่ค่าแรงเพิ่มขึ้น จะกระทบต่อรายจ่ายหลักของบริษัท มีผลให้บริษัท startup มีความลำบากมากขึ้นในการหา developer เพราะข้อจำกัดในด้านเงินทุน และยังมี SME อีกจำนวนไม่น้อยที่ต้องการบุคลากร IT เพื่อขับเคลื่อนธุรกิจ ดังนั้นต้อง balance ดี ๆ ระหว่างผลประโยชน์ของ programmer กับความอยู่รอดของอุตสาหกรรม IT ในภาพรวม

แก้อย่างไรดี?

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

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

คุณภาพและอัตราการผลิตของภาคมหาวิทยาลัย

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

สำหรับปัญหาของภาคมหาวิทยาลัยมีดังนี้ (ออกตัวก่อนว่าไม่ได้เป็นทุกมหาวิทยาลัยนะครับ)

  1. หลักสูตรไม่ทันสมัย เนื่องจากความรู้ด้าน programming มีการเปลี่ยนแปลงเร็วมาก ตอนนี้ถ้าใครสอนขั้นตอนการออกแบบและพัฒนา software ด้วย diagram เกือบสิบแบบนี่ก็อาจจะเก่าไปแล้ว ถ้าไม่ได้ไปเน้นเรื่อง agile, scrum, kanban ในข้อนี้คณาจารย์เองก็ต้อง update ความรู้อยู่เสมอ เพื่อประโยชน์ต่อตัวนักศึกษา และอุตสาหกรรมโดยรวม
  2. สอนให้คนไม่ชอบเขียน code พาดหัวไว้แรง ๆ ไปอย่างนั้นแหละ แต่ใจความหลัก ๆ ก็คือมีคนจำนวนไม่น้อย ที่ได้เรียนเขียน code ตอนปีหนึ่งเป็นครั้งแรก แต่สิ่งที่เค้าพบก็คือ syntax ต่าง ๆ ของภาษาโปรแกรม ไม่ว่าจะเป็น conditionals (if, switch) หรือ loop (for, while) หรือ array ซึ่งเปรียบเหมือนคนไทยเรียนภาษาอังกฤษโดยเน้น grammar นั่นแหละ ทั้งที่จริงแล้ว เราควรจะเริ่มจากอะไรที่ง่าย และสนุกต่างหาก ข้อนี้สำคัญมากเพราะ first impression จะเป็นตัวกำหนดมุมมองของเค้าต่อการ coding ไปตลอดชีวิต อย่างเช่นเว็บ CodeMonkey ก็เป็นอีกหนึ่งตัวอย่างในการสอน coding ให้สนุก
    ผมเคยมีโอกาสได้คุยกับพี่โต้ตอนไปเยี่ยมชม Facebook พี่เค้าบอกว่า key คือการ “set them up for success” แปลว่าทุก ๆ assignment ควรจะเป็นงานย่อย ๆ ที่ออกแบบมาให้เค้าทำได้สำเร็จได้โดยง่าย ตัดสิ่งปวดหัวที่ไม่เกี่ยวกับเรื่องที่ต้องการจะสอนออกไป เช่นถ้าเราทำเกมแข่งรถ แล้วเราทำส่วน graphics ให้นักเรียนทั้งหมด เหลือแต่ function ควบคุมรถ ให้เด็กเขียนแข่งกัน แค่นี้เด็กก็สนุกแล้วเพราะได้เห็นผลงานของเค้าออกมาแล่นในจอจริง ๆ ใครจะไปรู้ว่าอนาคต เด็กเหล่านี้อาจจะเป็นวิศวกรออกแบบระบบควบคุมยานยนต์ไร้คนขับก็เป็นได้
  3. จบมาเปลี่ยนสาย หรือไม่ก็สาย IT เหมือนเดิมแต่เป็นอะไรก็ได้ที่ไม่ใช่ programmer ข้อนี้สืบเนื่องมาจากข้อด้านบน คือพอเด็กไม่มี impression ที่ดีต่อการ coding แล้ว จบมาเค้าอาจจะหนีไปเลย พอกันทีสายคอมพิวเตอร์ หรือไม่ก็ยังทำในสายคอมพิวเตอร์อยู่ แต่ไม่ขอเข้าใกล้ code ซึ่งเป็นเรื่องที่น่าเสียดาย เพราะ value ที่แท้จริงของ IT product แล้วอยู่ที่ engineer/developer/programmer ซะเยอะ เท่ากับว่าตำแหน่งงานในด้านอื่นก็จะมีค่าตอบแทนที่น้อยกว่า และที่หนักกว่า คืองานในบางด้าน ถึงแม้ว่าจะไม่ใช่งาน coding แต่ต้องใช้คนที่มีพื้นฐานด้าน coding ที่แข็งแรง เช่น system analyst เป็นต้น
  4. กำลังการผลิตไม่เพียงพอ ข้อนี้เป็นปัญหาที่ผมก็แปลกใจเหมือนกัน ผมคิดว่าถ้าขาดแคลน เราเพิ่มจำนวนที่รับต่อรุ่นก็น่าจะได้ แต่ความจริงแล้วการเพิ่มจำนวนนั้นไปเกี่ยวข้องกับข้อจำกัดอื่น ๆ อีกมากมาย พอฟังแล้วก็ได้แต่ทอดถอนใจในความ Thailand 4.0 เบา ๆ
CodeMonkey เว็บฝึกทักษะด้าน logic/coding ผ่านรูปแบบเกม

แก้อย่างไรดี?

ผมเชื่อว่าคนในภาคมหาวิทยาลัยต่าง ๆ ก็มองเห็นปัญหาเป็นอย่างดี และพยายามที่จะแก้ไขปัญหาอย่างเต็มที่ภายใต้ข้อจำกัดต่าง ๆ ทั้งปัจจัยด้านบุคลากร งบประมาณ และกฎระเบียบต่าง ๆ เป็นความท้าทายที่แตกต่างกันไปของแต่ละมหาวิทยาลัย

ศิษย์เก่าก็สามารถกลับไปช่วยมหาวิทยาลัยได้ด้วยการให้ feedback ต่าง ๆ ไปยังคณะและภาควิชา หรือจะบริจาคทุนทรัพย์ก็ได้เช่นกัน (ไว้รอผมรวยก่อนนะครับอาจารย์)

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

มุมมองของเด็กนักเรียนในการเลือกเรียนด้าน Computer Science/Engineering

ข้อนี้เป็นต้นน้ำของปัญหาทั้งปวง คือพอนักเรียนไม่มีความเข้าใจที่เพียงพอเกี่ยวกับการเรียนด้าน Computer Science/Engineering มันก็ทำให้เค้าเกิด false expectation และพอพบว่าที่ expect กับความเป็นจริงไม่เหมือนกัน ก็จะเกิดทั้งการย้ายสายไปเลย หรือไม่ก็ต่อต้านการ coding ไปเลย มีเพียงส่วนน้อยที่ยังไปสาย coding ต่อได้

เช่นบางคนอาจจะเลือกเรียนด้านนี้เพราะชอบเล่นเกม อยากเขียนเกมได้ แต่พอพบกว่าการเขียนเกมโดยเฉพาะเกมสามมิติต้องใช้ความรู้คณิตศาตร์เยอะมากก็จอด และเกิดการย้ายสายตามมา

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

แก้อย่างไรดี?

ในส่วนนี้ การเรียนการสอน logic/coding ในระดับประถมและมัธยมจะมีส่วนสำคัญให้เด็กได้ get idea ของการเขียนโปรแกรม เหมือนที่เคยบอกไปแล้วว่าต้องเริ่มจากสิ่งที่ง่าย และสนุกก่อน ห้ามเริ่มจาก syntax ภาษา และแน่นอนว่าจะมีเด็กที่ชอบ และไม่ชอบ ถ้าชอบ เค้าก็จะสนใจและหาความรู้เพิ่มเติม จนกลายเป็นบุคลากร IT ที่เก่งในอนาคต แต่ถ้าไม่ชอบ อย่างน้อยเค้าก็จะได้รับทักษะ logical thinking ติดตัวไป ซึ่งเป็นทักษะที่สำคัญในการทำงานไม่ว่าอาชีพอะไร

สรุป

จะเห็นได้ว่าปัญหานี้เป็นปัญหาที่มีหลายปัญหาเกี่ยวพันกันอยู่ ทุก ๆ คนที่อยู่ในอุตสาหกรรม IT สามารถมีส่วนร่วมในการแก้ไขปัญหาได้ ไม่ทางใดก็ทางหนึ่ง ถ้าคุณเป็น developer ก็จงพัฒนาตนเองอยู่เสมอ ถ้าคุณเป็นบริษัทก็ต้องสำรวจ developer-friendliness ภายในบริษัท และถ้าเป็นบริษัทที่ธุรกิจประสบความสำเร็จแล้วก็สามารถคืนกำไรกลับสู่ชุมชนผ่านการสนับสนุน developer community ก็ได้เช่นกัน

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

และสำหรับภาครัฐ ถ้าต้องการจะทำให้ Thailand 4.0 เกิดจริง ๆ บุคลากรสาย IT เป็นสิ่งที่สำคัญที่สุด เพราะเป็นรากฐานของนวัตกรรมหลายอย่าง และเป็นสิ่งที่กำลังเกิดวิกฤติอยู่ในปัจจุบันนี้ ถ้าปัญหานี้ไม่ได้รับการแก้ไข ประเทศเราอาจจะหยุดอยู่ที่ Thailand 0.4 อย่าที่คนเขาว่ากันก็เป็นได้

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

สุดท้ายนี้ ขอตอกย้ำปัญหาการขาดแคลนโปรแกรมเมอร์ด้วยการบอกว่า …

TakeMeTour is HIRING!!!

More info at https://www.blognone.com/node/96145

สวัสดีครับ

--

--