ต้องยอมรับว่าไม่ได้เขียนบล็อกมานานมาก อาจเพราะนอกจากวุ่นกับงานและสถานการณ์บ้านเมืองทำให้ไม่มีเวลาจะมาเขียนบล็อกหรือบทความแม้จะถูกทวงถามมาหลายครั้งแล้วก็ตาม มาช่วงนี้เริ่มว่างขึ้นและก็มีโอกาสเข้าไปบรรยายพูดคุยกับสถาบันการศึกษาและผู้ประกอบการอุตสาหกรรมซอฟต์แวร์มากขึ้น ตลอดจนได้อ่านความเห็นต่างๆทาง Social Media เกี่ยวกับบุคลากรทางด้านไอที ก็มักจะได้ยินปัญหาเดิมว่า “สถาบันการศึกษาผลิตคนไม่ตรงกับความต้องการของภาคอุตสาหกรรม” “บริษัทหาคนเข้าทำงานได้ยากมาก” แต่ขณะเดียวกันก็กลับได้ข่าวมาอีกด้านว่าหนึ่งในสาขาที่มีบัณทึตตกงานมากที่สุดก็คือทางด้านคอมพิวเตอร์
ดูข้อมูลอย่างนี้แล้วมันเหมือนกับว่า Demand และ Supply ไม่สอดคล้องกัน อุตสาหกรรมก็บ่นว่าหาคนไม่ได้ เด็กที่จบมาก็บ่นว่าหางานทำไม่ได้ สถาบันการศึกษาก็ตั้งหน้าผลิตบัณฑิตออกมา บังเอิญสัปดาห์ก่อนได้มีโอกาสร่วมวงเสวนากับคณาจารย์ด้านวิศวกรรมและวิทยาการคอมพิวเตอร์มหาวิทยาลัยชั้นนำ และเอกชนที่ต้องการบัณฑิต มาถกปัญหากันเรื่องนี้ ผมฟังแล้วเลยสรุปเองว่า จริงๆหลักสูตรของสถาบันการศึกษาดีๆส่วนใหญ่ก็ไม่ได้ผิดอะไร เราทำตามมาตรฐานสากล แต่เราผิดที่ไปตั้งความคาดหวังสูงเกินไป เราทำตัวเป็นนักการตลาดพยายามจะสร้างภาพว่า เราจะก้าวเป็นผู้นำอุตสาหกรรมซอฟต์แวร์โลกโดยไม่ดูความจริง เลยรับนักศึกษามามากไปบนความไม่พร้อม
คุณภาพของนักศึกษาในสถาบันอุดมศึกษา
ผมจบมหาวิทยาลัยสาขาวิศวกรรมไฟฟ้าในปี 2529 สมัยนั้นมีคณะวิศวกรรมศาสตร์อยู่เพียงแค่ 8 สถาบันรวมบัณฑิตทางด้านทั้งหมดไม่เกิน 2 พันคน ผมเองจบมาก็ไม่ได้มีความพร้อมหรือมีทักษะตรงกับที่อุตสาหกรรมต้องการทันที จบไปก็ต้องเรียนรู้เพิ่มเติมครับ และถ้าพูดถึงทางด้านคอมพิวเตอร์ผมก็เรียนมาแค่วิชาเดียวคือ การเขียนโปรแกรมภาษา Fortran IV สมัยนั้นยังเจาะบัตรอยู่เลยครับ เครื่องเป็นแบบในรูปนั้นละครับ มาปีสุดท้ายถึงจะเริ่มเห็นเครื่องพีซีเครื่องแรก แต่สิ่งที่ได้เรียนรู้จากหลักสูตรคือวิขาคณิตศาสตร์ ที่เรียนมา 8-9 วิชา และก็ผมถูกสอนให้เรียนรู้เพิ่มเติมครับ คือ Learn to Learn ก็ไม่ต้องแปลกใจครับ แม้ผมจะเรียน Programming มาตัวเดียว แต่เพราะพื้นฐานคณิตศาสตร์ที่ดีืทำให้ผมสามารถเขียนโปรแกรมภาษาใหม่ เรียนรู้วิชาตามเทคโนโลยีใหม่ๆได้ดี มาวันนี้พอพูดถึงการเขียนโปรแกรมบน Cloud Computing หรือ Hadoop Big Data ผมก็ยังเขียนได้อยู่
รูปที่ 1 เดรื่องคอมพิวเตอร์ NEAC 2200 / 200
ผมสอนนักศึกษามาเกือบ 30 ปีและวิชาหนึ่งที่สมัยก่อนสอนนักศึกษาวิศวกรรมศาสตร์เป็นประจำก็คือวิชา Basic Programming ที่เราเปลี่ยนภาษามาสอนตลอดจาก Fortran เป็น Pascal เป็น C เป็น C++ เป็น Java แต่ไม่ว่าจะสอนภาษาอะไรก็ตาม พอตัดเกรดนักศึกษาที่ไรก็ตกเป็นจำนวนมาก ทั้งๆที่ตอนนั้นนักศึกษาเราเมื่อเทียบกับสถาบันอื่นๆใก้ลเคียงกันจัดอยู่ในกลุ่มค่อนข้างเก่ง แต่เมื่อตอนหลังๆพอเราเริ่มมีการรับนักศึกษามากเข้า สถาบันการศึกษาหลายๆแห่งที่มีคะแนนสูงกว่าเพิ่มจำนวนรับนักศึกษา จำนวนนักศึกษาวิศวฯที่ตกวิชา Basic Programming ก็เพิ่มขึ้นตาม บางครั้งเกือบ 50% บางทีเราก็ต้องชี้แจงให้ฟังว่า ทีมที่สอนไม่ได้โหด ข้อสอบก็เหมือนเดิมเผลอๆง่ายกว่าสมัยก่อนด้วยซ้ำไป แต่เรารับนักศึกษามาเยอะไปและนักศึกษาอ่อนวิชาคณิตศาสตร์ ซึ่งเป็นหัวใจสำคัญของการเขียนโปรแกรม ดังนั้นไม่แปลกใจข้อสอบที่ออกให้หาค่าเฉลี่ยหรือผลรวมข้อมูลบางอย่างนักศึกษาจะทำไม่ได้ ก็เพราะนักศึกษาไม่เข้าใจเรื่อง ตรรกะศาสตร์ อนุกรม ดีพอ แล้วจะเขียนโปรแกรมได้อย่างไร
ยิ่งเมือเห็นคะแนนคณิตศาสตร์ของเด็กไทยที่ตกยกชั้น ก็ยิ่งไม่แปลกใจหรอกครับว่าทำไมเด็กเราถึงมาเป็น Programmer ไม่ได้ ก็คณิตศาสตร์เป็นหัวใจสำคัญของการพัฒนาโปรแกรม แต่ทางแก้ของเรากลับเป็นว่า นักศึกษาเรียนไม่ไหวก็ลดวิชาทางคณิตศาสตร์ไป จัดหลักสูตรให้ง่ายขึ้นเอาคนนอกวงการศึกษาที่ไม่ได้พัฒนาซอฟต์แวร์มาพัฒนาหลักสูตรการพัฒนาซอฟต์แวร์ อ้างว่าต้องการให้ตรงกับความต้องการของอุตสาหกรรมทั้งๆที่หลักสูตรพื้นฐานเป็นเรื่องจำเป็น เราไม่สามารถที่จะสอนเพียงเพื่อให้รู้อะไรเพียงผิวเผิน หรือฝึกทำตาม Tool บางอย่างได้ พอเทคโนโลยีเปลี่ยนไปเราจะพบว่าคนเหล่านั้นก็จะทำงานไม่ได้เพราะขาดพื้นฐานการเป็นวิศวกรซอฟต์แวร์ที่ดีพอ
รูปที่ 2 จำนวนวิชาคณิตศาสตร์ที่มาตรฐานหลักสูตร ACM ให้ศึกษา
อีกประเด็นที่สำคัญคือปัจจุบันอุดมศึกษามีตัวชีวัดที่จำนวน ตอนหลังเราตั้งเกณฑ์มาว่าสถาบันการศึกษาจะต้องไม่ตกออกเยอะ จำนวนผู้สำเร็จการศึกษาต้องมีเปอร์เซ็นต์ที่สูงเมื่อเทียบกับจำนวนนักศึกษาที่รับเข้ามา ดังนั้นอาจารย์ยิ่งไม่กล้าที่จะทำให้นักศึกษาสอบตกวิชาใดวิชาหนึ่งเป็นจำนวนมากๆ เพราะกลัวจะตกคะแนนตัวชี้วัด ซึ่งต่างกับสมัยก่อนที่หลายๆวิชามีนักศึกษาตกเกือบยกชั้นทั้งๆที่คุณภาพนักศึกษาเก่งกว่าปัจจุบัน ยิ่งในช่วงหลังเมื่อสาขาไอทีได้รับความสนใจมากขึ้น สถาบันการศึกษาต่างๆทั้งภาครัฐและเอกชน ต่างก็เปิดหลักสูตรทางด้านไอทีและเพิ่มจำนวนรับ มีทั้งสาขาวิศวกรรมคอมพิวเตอร์ วิทยาการคอมพิวเตอร์ สารสนเทศ คอมพิวเตอร์ธุรกิจ เกม แอนนิเมชั่น สารพัดชื่อที่คิดมาได้ แต่พอมาดูเนื้อหาและผู้สอนแล้วก็ไม่แน่ใจว่ามีคุณภาพดีพอที่จะเปิดไหม
จำนวนบัณฑิตและสถาบันอุดมศึกษาด้านไอที
ปัจจุบันเรามีสถาบันอุดมศึกษาร้อยกว่าแห่งที่เปิดรับนักศึกษาทางด้านไอที รับนักศึกษาต่อปีมากกว่า 20,000 คน คำถามจึงมีว่าเรารับคนมาเยอะเกินไปหรือเปล่า? เรากำลังคิดว่าคนทุกคนสามารถจบมาทำงานด้านไอทีได้ สามารถจบมาเป็นวิศวกรซอฟต์แวร์ได้ เราคิดว่าคนทุกคนเขียนโปรแกรมได้ทั้งๆที่ไม่เป็นความจริง คนทุกคนไม่สามารถเป็นหมอได้ ไม่สามารถเป็นนักดนตรีหรือนักกีฬา แต่ละอาชีพต้องการคนที่มีทักษะและพื้นฐานความรู้ที่ต่างกัน ถ้าเรารับนักศึกษามาเยอะๆแล้วตั้งตัวชี้วัดว่าจะต้องมีเปอร์เซ็นต์จบออกไปจำนวนมากๆ ก็ไม่แปลกใจหรอกครับที่เราจะเห็นบัณฑิตที่ไม่มีคุณภาพจบออกไปจำนวนมาก สมัยที่ผมยังสอนหนังสือในสถาบันอุดมศึกษาอยู่และเราเริ่มรับนักศึกษามาเยอะไป ผมยังจำคำพูดของอาจารย์ผู้ใหญ่ท่านหนึ่งบอกไว้ว่า “ผมไม่สามารถสอนลิงชิมแปนซีให้เป็นวิศวกรได้” ก็เพราะตอนนั้นท่านบอกว่าเรารับคนมาง่ายไป คะแนนแค่ 20-30% ก็เข้าได้แล้ว โดยไม่ดูคะแนนวิชาพื้นฐานต่างๆ
ในปัจจุบันถ้าเราแบ่งกลุ่มของอุดมศึกษาด้านไอทีออกมาตามคุณภาพของนักศึกษาที่กำลังศึกษาอยู่ เราอาจแบ่งได้สามกลุ่ม
- กลุ่ม Top คือสถาบันที่มีภาควิชาที่มีนักศึกษาพร้อมที่จะเป็นวิศวกรซอฟต์แวร์กลุ่มนี้มีไม่เกิน 10 แห่ง กลุ่มนี้นักศึกษาส่วนมากเก่งจำนวนรวมกันอาจประมาณไม่เกิน 1.000 คน แต่พบว่าจำนวนมากเมื่อจบออกมาก็ไม่ได้ทำงานด้านไอที และหลายๆคนไปศึกษาต่อสาขาอื่น
- กลุ่มระดับกลางอาจมีประมาณ 20 แห่ง ซึ่งจะได้นักศึกษาที่มีคุณภาพพอใช้ได้ในห้องประมาณ 20-30%ซึ่งจำนวนคนเหล่านี้มีประมาณรวมกันซัก 1,000 คน แต่ที่เหลือก็ไม่เก่งพอและขาดพื้นฐานที่ดี
- กลุ่มสุดท้ายซึ่งเป็นสถาบันส่วนใหญ่ที่เปิดสอน จะมีนักศึกษาที่มีคุณภาพน้อยมาก บางทีทั้งห้องหานักศึกษาที่พร้อมจะทำงานและเรียนทางด้านไอทีไม่เกิน 3-5 คนในชั้นเรียน
จากจำนวนที่กล่าวมาจะเห็นว่ารวมๆต่อปีเรามีบัณฑิตที่พร้อมจะเข้าสู่วิชาชีพประมาณ 2 พันคนแต่เราเล่นผลิตบัณฑิตด้านนี้ออกมาเป็นหมื่น ดังนั้นจึงไม่แปลกใจหรอกครับว่าทำไม บัณฑิตจำนวนมากไม่มีคุณภาพ ไม่เก่ง และบางทีเราก็ได้ยินบ่อยๆว่าจบไอทีเขียนโปรแกรมไม่เป็น บางครั้งก็เป็นแค่ Superuser หลักสูตรของสถาบันในกลุ่ม Top ก็ไม่ได้ผิดอะไรหรอกครับ บัณฑิตอาจไม่ได้พร้อมทำงานทันทีแต่พอเขามีพื้นฐานที่ดี เขาก็พร้อมจะปรับตัวเรียนรู้สิ่งใหม่ แต่สิ่งที่น่าเป็นห่วงของเด็กเก่งคือแนวคิดที่เปลี่ยนไป การเปลี่ยนงานง่าย ความซื่อสัตย์และจริยธรรมที่น้อยลง ส่วนหนึ่งก็เพราะสังคมที่เปลี่ยนไปและเขาเห็นแบบอย่างที่ไม่ดี
ความต้องการบัณฑิตของภาคเอกชน
ผมมีโอกาสสอนคนมาเป็นจำนวนมาก หลังๆเปิดสอนหลายหลักสูตร มีโอกาสไปบรรยายให้กับสถาบันต่างๆจำนวนมาก เคยสอนทั้งอาจารย์ บัณฑิต คนทำงานและนักศึกษา ยอมรับครับว่าคุณภาพของบุคลากรด้่นไอทีเราน่าเป็นห่วง แต่จะโทษสถาบันอุดมศึกษาฝ่ายเดียวไม่ได้หรอกครับ ภาคเอกชน อุตสาหกรรมเองเราก็มีความต้องการที่ไม่ถูกต้องหนัก เราจะพบว่าอุตสาหกรรมไอทีเราเป็น Follower ที่ค่อนข้างช้ามาก
เราตามแนวโน้มของเทคโนโลยีไม่ทันในด้านการวิจัยและพัฒนา เราต้องการบัณฑิตที่ไม่ได้ Hi-Tech อะไรมากมายหรอกครับ จึงไม่แปลกที่บัณฑิตเก่งๆในสถาบัน Top จบออกมาเมื่อได้งานทำไม่ตรงกับความถนัดของตัวเอง เขาก็ต้องออกมาเป็น Freelance ทำงานเอง เปิด Start-up เอง แม้จะมีบริษัทชั้นนำที่ทำซอฟต์แวร์บางแห่งก็ใช้เทคโนโลยีชั้นนำแต่กลุ่มเหล่านี้ก็มีจำนวนจำกัด ซึ่งบัณฑิตเก่งๆเข้าไปทำงานเมื่อได้เรียนรู้เทคโนโลยีเหล่านี้ บางทีก็จะย้ายงานเพื่อให้ได้รายได้และโอกาสที่ดีกว่า
แต่บริษัทจำนวนมากยังไม่ได้ตามเทคโนโลยีที่เปลี่ยนไป จึงต้องหาคนเข้าทำงานจากบัณฑิตในสถาบันกลุ่มที่สองหรือสามและเมื่อถามว่าต้องการบัณฑิตไปทำอะไรก็จะพบว่าไปเขียน Web Programming ที่ไม่ซับซ้อนนักเป็น Java, PHP ที่อาจไม่ท้าทายกับกลุ่มแรกนัก แต่กลุ่มที่สองก็พอทำได้บ้างแต่ต้องเรียนรู้อีกมาก เราจึงเจอโจทย์บ่อยว่าหาคนไม่ได้ และเมื่อคนเหล่านี้เริ่มเก่งขึ้นก็อยากทำงานที่ท้าทายกว่าเดิม
รูปที่ 3 ข้อมูลจาก TDRI ประมาณการจำนวนบุคลากรในอุตสาหกรรมซอฟต์แวร์และบริการในประเทศไทย ในปี 2556
ข้อมูลจาก TDRI เมื่อเร็วๆนี้ระบุว่าประเทศไทยมีพนักงานด้านพัฒนาซอฟต์แวร์และบริการซอฟต์แวร์ไม่เกิน 40,000 คน ซึ่งถ้าดูจำนวนบัณฑิตที่จบมาในสาขานี้จะไม่แปลกใจที่พบว่า จำนวนมากไม่เข้าสู่อุตสาหกรรม ทั้งนี้ก็เพราะว่าแต่ละปีมีเพียงแค่ไม่กี่พันคนที่จะทำงานได้
แนวทางการแก้ปัญหา
จากที่กล่าวมาทังหมดนี้ ปัญหาอยู่ที่เราไม่อยู่กับความจริง ไม่อยู่กับข้อมูลและตัวเลข เราไปสร้างภาพและการตลาดว่าเราจะเป็นผู้นำในอุตสาหกรรมนี้ มันจะเป็นไปได้ยังไงละครับในเมื่อเด็กเราอ่อนคณิตศาสตร์ บัณฑิตเราเขียนโปรแกรมไม่เป็น มีบัณฑิตที่มีคุณภาพจำนวนไม่เกิน 2 พันคนต่อปี ทางแก้ก็คือยอมรับความจริงและวางแผนสร้างคนในอนาคต
- เราต้องส่งเสริมอุตสาหกรรมด้านนี้ตามแนวทางทีถูกต้อง ถ้าต้องการโปรแกรมเมอร์มากๆในระยะนี้เราอาจต้องไปทำในต่างประเทศหรือต้องออกกฎหมายให้เอื้อต่อโปรแกรมเมอร์ต่างชาติ มาทำงานในไทยได้ง่ายขึ้นและจะต้องจ่ายเงินสูงๆ ซึ่งอาจเป็นเรื่องยาก
- เรามีกลุ่มเด็กเก่งๆจำนวนหนึ่งที่กำลังจะสร้างธุรกิจตัวเอง พัฒนาโปรแกรม เราต้องส่งเสริมคนเหล่านี้ให้เขาไปสู้บนเวทีโลก แต่เมื่อเขาต้องการขยายบริษัทต้องการโปรแกรมเมอร์จำนวนมากๆเราอาจต้องหนุนให้ไปทำที่อื่นครับ จนกว่าเราจะพร้อม
- เราต้องลดการรับนักศึกษาเข้าเรียน ปีหนึ่งรวมกันไม่ควรเกิน 4-5 พันคน และต้องปิดหลักสูตรทางด้านนี้ในหลายๆสถาบันครับ เพื่อลดปัญหาการมีบัณฑิตจบออกมามากอย่างขาดคุณภาพ
- หากเราต้องการสร้างบุคลากรทางด้านนี้ต้องวางแผนในระยะยาว ส่งเสริมการเรียนคณิตศาสตร์ วิทยาศาสคร์ ตั้งแต่เด็กๆครับ ต้องใช้เวลา 15 ปีเป็นอย่างน้อยในการสร้างคนรุ่นใหม่ออกมา