ผมขอแยกออกเป็น 3 ด้าน ด้วยกัน
1. Software Production, Algorithm & Theory ซึ่งคือด้าน Computer Engineering, Computer Science, Information Science เป็นการศึกษา เรื่องของ
- correctness โปรแกรมที่คุณเขียนจะต้องถูกต้องทุกกรณี ไม่มีความผิดพลาดเกิดขึ้น โดยต้อง ทำ math proof ได้ ว่าทำไมถึงถูกต้อง
- performance โปรแกรมที่เขียนจะต้องมีประสิทธิภาพใสการทำงานสูง ทำงานเร็ว โปรแกรมเปรียบเทียบบางโปรแกรมอาจจะใช้ O(n2), O(n3) แต่คนที่มีความรู้เรื่อง algorithms เป็นอย่างดี อาจจะสามารถเขียนให้โปรแกรมทำงานใน O(n logn) หรือ O(n) ได้
- efficency โปรแกรมที่เขียนจะต้องทำงานได้ดีที่สุดโดยใช้หน่วยความจำน้อยที่สุด
- OS เวลาเขียนโปรแกรมใหญ่ ๆ ที่ใช้ thread มากมาย ถ้าเขียนแล้วเกิด deadlock ขึ้นคุณจะแก้ปัญหายังไง แก้ปัญหาเรื่อง priority อีก ว่า thread ไหนจะได้ทำงานก่อน ถ้าคุณไม่เข้าใจเรื่องนี้ ก็อาจจะเขียน thread มั่ว ๆ ซึ่งอาจทำให้โปรแกรมทำงานช้า, เกิด deadlock ได้
- data communication and network ในระบบ LAN คอมพิวเตอร์มันคุยกันได้ยังไงครับ ในเมื่อ IP address เป็นสิ่งที่สมมติขึ้นมา ในการที่เราจะวางระบบเครือข่าย เช่น ใน SW ขนาดใหญ่ เวลา implement อาจจะต้องดูเรื่อง network ด้วย ถ้าคุณไม่เข้าใจเรื่อง router, gateway, dns ต่าง ๆ คุณจะวางระบบไม่ได้
- AI ปัญญาประดิษฐ์ ถ้าคุณจะไปเป็นนักพัฒนาเกมส์ แล้วคุณไม่รู้จักเรื่อง AI คุณก็จะทำไม่ได้อีก
- IR ก็เหมือนกัน ถ้าคุณไปเขียนระบบที่ต้องมี Full Text Search นั้นเอง
- etc …. อื่นๆ อีกนิดหน่อย
ซึ่งศึกษาในเชิงลึกในส่วนของ S/W รวมถึงการจัดการระบบงานต่างๆ และในแนวกว้างในส่วนของ H/W
2. Hardware Design หรือพวกที่เรียนด้าน Electronic และ Physic, Physic (Micro) Controller เป็นการทำงานร่วมกับพวกที่อยู่กับข้อที่ 1 ในการทำ คิดค้นหาอุปกรณ์ใหม่ๆ เพื่อให้ พวกข้อที่ 1 นำไปแก้ปัญหา และตอบ Requestment ของผู้ใช้ต่างๆ ให้ออกมาใช้งานได้ตามที่ลูกค้า หรือผู้ใช้ต้องการ โดยศึกษาในเชิงลึกในด้าน H/W และแนวกว้างในส่วนของ S/W
3. Technical หรือ Consult ต่างๆ เป็นผู้ให้คำปรึกษาต่างๆ แบ่งได้ 3 ระดับคือ
- Administrator คือผู้ดูแลระบบต่างๆ บางครั้งอาจใช้คำว่า System Director, System Administrator หรือ System Management ติดตั้ง และดูแลในด้านจัดการระบบทรัพยากรระบบงานขององค์กรต่างๆ ดูแล Server หรือเครื่องแม่ข่ายให้อยู่ดี มีสุข
- Technical Support เป็นคนที่คอยดูแลระบบงานต่างๆ ไม่ว่าเครื่องเสีย เครื่องมีปัญหา ต่างๆ ที่เป็นเครื่องลูกค่ายต่างๆ จะลงไปแก้ไขปัญหา
- Consult เป็นคนดูแลในด้านการจัดการ ให้คำปรึกษา และแก้ปัญหาในด้านสินค้า นั้นๆ
โดยในด้านที่ 1 และ 2 ต้องมีพื้นฐานทางความคิดมาจากการจัดการความคิดแบบเป็นระบบมากๆ และการเรียนจะเน้นไปในทางการทำงานร่วมกัน เรียนในด้านทฤษฎี และทำการปฎิบัติไปพร้อมๆ กัน ส่วนในด้านที่ 3 นั้นเป็นงานเชิงช่างเทคนิคมากกว่าครับ
ส่วนใหญ่ด้านที่ 1 และ 2 นั้นคนที่จบ ม.ปลายจะสามารถเข้าไปศึกษาได้ง่ายกว่า แต่ก็มีสายอาชีพมาศึกษาเหมือนกันแต่ต้องเก่งจริงๆ
ส่วนด้านที่ 3 นั้น ส่วนใหญ่จะเป็นคนที่ศึกษามาจากด้านสายอาชีพครับ
แต่ไม่ขอฝันธงว่าด้านไหนดี เพราะว่าทุกด้านต้องทำงานร่วมกันอยู่แล้วครับ