ข่าวออกมาถี่มาก เรื่องขาดแคลนโปรแกรมเมอร์เนี่ย
เขียนโปรแกรมคอมพิวเตอร์ จริง ๆ มันไม่ได้ยาก แต่มันต้องมีโจทย์มาก่อน
ทิศทางของโจทย์ จะทำให้ตัวโปรแกรมเมอร์รู้ได้เองว่า ตัวเองจะพัฒนาไปในทิศทางไหน
ทิศทางของการพัฒนาโปรแกรมเมอร์ ซึ่งอิงตามโจทย์ จะขึ้นอยู่กับสามปัจจัย คือ
1. โปรแกรมคอมพิวเตอร์ต้องทำงานอยู่บนคอมพิวเตอร์แบบไหน? มันต้องทำงานอยู่บนคอมพิวเตอร์ที่อยู่ในห้องดาต้าเซ็นเตอร์ หรือ ที่ตั้งอยู่บนโต๊ะ หรือ ที่ถือติดมือพกพาได้ หรือ มันทำงานอยู่ในแอร์ ตู้เย็น หรือ มันฝังอยู่ในหุ่นยนต์
2. โปรแกรมคอมพิวเตอร์ต้องประพฤติตนแบบไหน? อันนี้จัดง่ายเพราะ IEEE Spectrum เขาจัดไว้ให้แล้ว คือ เป็น web application หรือ mobile application หรือ enterprise application หรือ embedded application
ถ้าลองเอาข้อ 1 กับ 2 มา combination กัน ก็อาจยกตัวอย่างได้เช่น web application และ enterprise application มีโอกาสทำงานอยู่บนคอมพิวเตอร์ที่อยู่ในห้องดาต้าเซ็นเตอร์ได้ทั้งคู่ และเพื่อจะสร้าง app ทั้งสองแบบนี้ โปรแกรมเมอร์ก็จะต้องใช้ทักษะที่แตกต่างกัน ต้องพัฒนาตัวเองไปในทิศทางที่แตกต่างกัน เป็นต้น
3. ภาษาคอมพิวเตอร์ที่เหมาะสมและกำลังเป็นที่นิยม ซึ่งสอดคล้องกับข้อ 1 และ 2 คือภาษาอะไร อันนี้ก็ง่ายในการจัดลำดับอีกเหมือนกัน เพราะ IEEE Spectrum เขาจัดอันดับให้แล้ว
จะเห็นว่า combination มันมี 3 ตัวแปร ซึ่งแปลว่ามันเยอะ
พอมันเยอะมันก็ต้องโฟกัส ไม่มีใครเก่งได้ทุกอย่าง โปรแกรมเมอร์เองก็ถือว่าเป็นบุคคลากรสับละเอียด แต่ล่ะคนเขาก็ชอบของเขา เขาก็โตมาแบบของเขา แต่เขาไม่ได้มาเก็งว่าทิศทางการพัฒนาทักษะของเขา มันสอดคล้องกับทิศทางของโจทย์หรือเปล่า
ยกตัวอย่าง บางคนเก่งภาษา C สำหรับสร้างโปรแกรมคอมพิวเตอร์แบบ enterprise application เพื่อใช้ในคอมพิวเตอร์ที่ทำงานอยู่ในดาต้าเซ็นเตอร์ เขาชำนาญด้านการสร้าง services, daemon, multi processing, multithreading และ tcp server socket
แต่ตอนนี้ภาษา php สำหรับงานด้าน web application ซึ่งก็ทำงานอยู่บนคอมพิวเตอร์ที่ทำงานอยู่ในดาต้าเซ็นเตอร์เหมือนกัน กำลังได้รับความนิยม เขาจำเป็นจะต้องแบ่งเวลาพัฒนาตัวเองในย่อหน้าบน เพื่อมาพัฒนาในย่อหน้านี้แค่ไหน?
หรือเขาจะยังคงทิศทางการพัฒนา enterprise application เพื่อทำงานบนคอมพิวเตอร์ที่ทำงานอยู่บนดาต้าเซ็นเตอร์ต่อไป โดยเปลี่ยนจากภาษา C เป็นภาษา Python แทน?
จะเห็นว่าอันนี้ตัดสินใจไม่ได้ เพราะขึ้นกับทิศทางของโจทย์ ถ้าทางเดิมมันยังไปได้ไกล ก็เดินต่อไปได้ ส่วนทางใหม่ก็ให้ใคร ๆ เดินต่อไป แต่ถ้าทางเดิมมันเดินไปไม่ได้ ก็ต้องเปลี่ยนมาเดินทางใหม่กับใคร ๆ เขา
เมืองไทยเราน่ะมีโปรแกรมเมอร์เยอะ เก่งด้วย เห็นมีเป็นพันคน แต่เขาสับละเอียดไง ดังนั้น เวลาจะบอกว่าขาดแคลนโปรแกรมเมอร์ ให้วนไปดู 3 ข้อข้างบน แล้วบอกมาว่า combination ไหนที่ขาดแคลน!!!
บางทีคนพอ แต่อาจกระจัดกระจาย ก็เอามารวมอยู่ด้วยกัน แต่ถ้าไม่พอก็ค่อยมาคิดอ่านว่าจะสร้างเพิ่มกันขึ้นมาได้ยังไง