ความคาดหวังส่วนตัว ที่มีต่อ Technical Skill ของเด็กจบใหม่สาย IT
เนื่องจากช่วงนี้เป็นช่วงรับสมัครทั้งเด็กจบใหม่และเด็กฝึกงานนะครับ หลังจากที่ผมได้คุยกับน้องๆ จบใหม่หลายๆ คน ก็เริ่มมีความรู้สึกตะหงิดๆ ใจในหลายๆ ประเด็น วันนี้เลยลองรวบรวมความคิดมาเขียนลง Blog เอาไว้ครับ เผื่อจะได้เป็นแนวทางให้น้องๆ ที่กำลังเรียนอยู่ในสาย IT ได้มีไอเดียว่า ถ้ามีเวลาว่าง จะไปศึกษาอะไรเพิ่มเติมดี ให้มันเพิ่มคุณค่าให้กับตัวเองในการทำงานสาย Technical ทางด้าน IT
คราวนี้ผมก็เข้าใจว่า เนื่องจากวิชาความรู้ทางด้าน IT เนี่ยมันกว้างมาก ดังนั้นการจะให้ทุกคนสนใจทุกเรื่อง หรือรู้ทุกเรื่องเนี่ยคงจะเป็นไปไม่ได้ แต่อย่างน้อยๆ สิ่งที่ผมจะเขียนต่อไปนี้ ก็คงจะเป็นแค่เรื่องพื้นฐานที่คิดว่าแต่ละคนควรจะรู้ เพื่อที่ว่าพอมาทำงานแล้วจะสามารถต่อยอดได้อย่างไม่ยากเย็นนัก และมีความรู้กว้างมากพอที่จะประยุกต์ หรือศึกษาสิ่งต่างๆ เพิ่มเติมด้วยตนเองได้ครับ
เบื้องต้นเลยครับ เรื่องของ “การเขียนโปรแกรม” ผมคิดว่าอย่างน้อยๆ ทุกคนก็คงจะต้องเขียนโปรแกรมกันได้คนละภาษาหรือสองภาษา ต่อให้ไม่คิดจะเอาดีทางด้านการเป็นโปรแกรมเมอร์ แต่อย่างน้อยๆ ต้องพอเห็นสโคปงานได้ว่า โปรแกรมแบบนี้ ยากง่ายแค่ไหน? เป็นไปได้หรือเปล่า? และควรจะต้องเคยใช้ Tools ที่ช่วยในการเขียนโปรแกรมมาบ้าง เช่น IDE, Version Control, Testing Tools มาบ้าง อาจจะไม่ต้องถึงขั้นเซ็ตเองใช้เอง (แต่ทำได้ก็จะดีมาก) แต่อย่างน้อยๆ ก็ควรเคยลองใช้งานจริงดูให้เห็นไอเดีย และข้อดีข้อเสียครับ
สำหรับเรื่องนี้ผมเคยเจอน้องจบใหม่สาย IT ที่เขียนโปรแกรมด้วย Notepad มาแล้วครับ อืมมม
ส่วนประสบการณ์ในการเขียนโปรแกรม ก็นอกจากเขียนโปรแกรมตามวิชา Algorithm กับ Programming Language แล้ว เรื่องของ Database, GUI, Web อะไรพวกนี้ก็ควรจะต้องเคยบ้าง ไม่ว่าจะทำงานสายไหน เพราะเดี๋ยวนี้ Product Network/Security ที่ต้องลงไปดูโค้ดพวกนี้ก็มีไม่น้อยแล้วเหมือนกันครับ รวมถึงควรจะมีพื้นฐานทางด้าน Concept ในการเขียนโปรแกรมด้วยนะ
และถ้ามีโอกาสได้ลองเล่น CMS เข้าไปนั่งขุดๆ โค้ดบ้างอะไรบ้าง ก็จะดีครับ
ในขณะที่ความรู้ทางด้าน “Operating System” ที่ผมเห็นว่าน้องๆ หลายคนแทบจะไม่รู้เรื่องเลยนั้น จริงๆ ผมก็อยากจะแนะนำว่า ในเวลาเรียนเนี่ยให้ลองหัดอะไรพวกนี้ดูบ้าง เพราะนอกจากจะเป็นการเปิดโลกทรรศน์ในหลายๆ ด้านแล้ว ความรู้ในด้านนี้จริงๆ สามารถนำไปประยุกต์ใช้ได้อีกเยอะแยะมากมายเลยครับ
เบื้องต้นก็คือ อย่างน้อยๆ อยากให้น้องๆ ไปลองโหลดพวก Server OS มาลงเล่นใน VMWare ดู ไม่ว่าจะเป็น Windows Server, Linux, Unix แล้วก็ลองเปิด Service พื้นฐานต่างๆ เล่นดู ว่ามันทำอะไรได้บ้าง แล้วตอนที่ทำโปรเจคต์ต่างๆ ก็ลองมาทำบน OS พวกนี้แทน แทนที่จะเขียนโค้ดแบบ Standalone บนเครื่องตัวเองครับ
ส่วน VMWare เนี่ย สมัยนี้ใครเล่นไม่เป็นนี่ถือว่าเชยนะครับจะบอกให้ 555 อาจจะไม่ต้องถึงขั้นไปเล่น ESXi เพราะก็เข้าใจว่าคงไม่มีเครื่องจะลอง แต่อย่างน้อยๆ ตัวที่เป็น Workstation ก็ต้องเคยผ่านมือมาบ้างครับ
ส่วนสุดท้าย ความรู้ทางด้าน “Networking” ซึ่งเป็นอีกหนึ่งสาขายอดนิยม ที่น้องๆ ชอบบอกว่ามาสมัครงานสายนี้ เพราะไม่อยากเขียนโปรแกรม – - แต่พอเอาเข้าจริง ที่ผ่านมาก็เคยแต่เขียนโปรแกรมมาตลอด ก็เลยจะมาเริ่มต้นจากศูนย์กันใหม่ตอนสมัครงาน
อย่างน้อยๆ นะครับ ตอนเรียนเนี่ย ผมว่าก็ควรจะต้องหัดเซ็ต Router ที่บ้านตัวเองดูให้มันใช้ได้ หัดคอนฟิกอะไรประหลาดๆ ในบ้านตัวเองซะก่อน ถ้ามีวาสนาทำ Wireless ได้ก็ลองก๊อกๆ แก๊กๆ ดูครับ ไม่ยาก
จากนั้นโดยส่วนตัวก็คิดว่า ควรจะต้องเข้าใจ Concept ของ Network ให้ดีๆ ไม่ใช่ในเชิงท่องจำ แต่เป็นเชิงประยุกต์เล็กน้อย เช่น มี Network Diagram มา บอกว่าคอมตัวนี้เล่นเน็ตไม่ได้ ควรจะต้องไล่เน็ตเวิร์คยังไงคร่าวๆ หัดใช้ Network Command ในเครื่องตัวเอง ไม่ว่าจะเป็น ping, tracert, nslookup, Wireshark และคำสั่งอื่นๆ หรือ Tools อื่นๆ มาช่วยครับ
ส่วนใครที่อยากเล่นลึกลงไปอีก ถ้ามีวิชาพวกที่เป็นแล็บให้ลง ก็ลงไปครับ แล้วก็ลองหัดคอนฟิกพวก VLAN, Routing เล่นๆ ดู ไม่ต้องลงลึกมากก็ได้ และก็ถ้าเป็นไปได้ ก็ลองไปเล่นพวก Service ต่างๆ บน OS เช่น DNS, DHCP, HTTPD, Firewall, Proxy, Network Monitoring มาตั้งระบบเล็กๆ เล่นเองดูครับ
ส่วนสำหรับงานทางด้าน “QA” อันนี้ต้องขอบอกตรงๆ ว่าผมก็ไม่ค่อยจะมีประสบการณ์อะไรเท่าไหร่ ไม่รู้เรื่องทางด้านนี้เลยด้วย ดังนั้นถ้าหากใครมีประสบการณ์จะมาแบ่งปัน ก็จะยินดีเป็นอย่างยิ่งครับ
และสำหรับ “Senior Project” ก็พยายามทำให้มันเป็น Project ที่ได้รีดเร้นความสามารถของเราออกมาอย่างเต็มที่ครับ และเรียนรู้เทคโนโลยีที่เกี่ยวข้องกับเนื้องานให้มากที่สุด และประยุกต์เอาสิ่งที่มีทั้งหมดที่เล่าไปเมื่อกี้ มาใช้ในงานด้วยครับ
ก็ประมาณนี้เท่าที่เขียนก็คิดว่าไม่มากเกินไป ไม่น้อยเกินไป แต่โดยรวมคือผมอยากให้น้องๆ ได้ลองทำภาคปฏิบัติให้เยอะยิ่งขึ้น เพื่อจะได้นำมาประยุกต์ใช้ได้ดียิ่งขึ้นครับ ตัวผมเองเป็นคนที่สมัยเรียนไม่ค่อยได้ทำภาคปฎิบัติมากนัก พอทำก็ไม่ได้ประยุกต์ความรู้เข้ากับอะไรที่จะนำไปใช้ ไม่ได้ต่อยอดมากมาย ตอนสัมภาษณ์งานก็ตอบแต่ว่า “ไม่ทราบครับ” ก็ไม่อยากให้น้องๆ ตกอยู่ในสภาพนี้ครับ
และที่สำคัญที่สุด คือจะทำให้น้องๆ ได้ลองรู้จักงานแต่ละสายมากยิ่งขึ้น ตอนตัดสินใจหางาน จะได้เป็นการเลือกงานทำ ไม่ใช่ให้งานเลือกเราครับ ผมเคยเจอคนที่จบคอม ไม่อยากเป็นโปรแกรมเมอร์ และพบว่าตัวเองไม่มีทางไป เนื่องจากไม่รู้เรื่องสายอื่น จนต้องไปเปลี่ยนสาขาวิชาชีพมาบ้างเหมือนกันครับ
ก็หวังว่าจะเป็นประโยชน์ไม่มากก็น้อยนะครับ สุดท้ายนี้ก็ขอให้โชคดีนะครับ
สวัสดีครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น