อยากทำงานเป็นโปรแกรมเมอร์แต่ไม่ได้จบสายคอม ?

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

ดีมั้ยไม่รู้ แต่ถ้าเทียบกับบริษัทข้ามชาติด้วยกันผมว่าพอ ๆ กันนะ

แต่วันนี้จะลองเขียนถึงเรื่องที่ว่า ถ้าอยากทำงานเป็นโปรแกรมเมอร์แต่ไม่ได้จบสายคอมจะต้องทำยังไง

ข่าวร้ายข้อแรกคือ สำหรับคนที่ไม่จบ Com Sci หรือ Com En หรือ IT หรือ BBA in Bus Com หรือ สายที่เกี่ยวข้อง (อาจจะคณิตศาสตร์, สถิติ หรืออะไรก็แล้วแต่) การย้ายงานมาสายนี้นั้นเป็นเรื่องยากมาก แทบทุกที่เขียนว่าความต้องการขั้นต่ำคือวุฒิปริญาตรีในสาขาที่เกี่ยวข้อง เอาเข้าจริง ๆ จบปวช.คอมก็ทำได้นะ (ถ้าเขียนโปรแกรมเป็น) ความรู้ระดับสูง ๆ ในมหาวิทยาลัยนั้นหลาย ๆ ที่ก็ไม่ได้ใช้ครับ

วิธีที่ง่ายที่สุดก็คงเป็นการไปเรียนตรีใบที่สอง (ครับ ผมจริงจังครับ ฟังดูประหลาดใช่ไหม) ซึ่งมันเสียเวลาแบบสุด ๆ ไปเลย (และอย่าลืมว่านี่คือสาขาที่มีคนรีไทร์ออกมาเยอะที่สุดในมหาวิทยาลัยแทบทุกแห่ง) แต่วิธีนี้ก็เป็นวิธีตรงที่ง่ายที่สุดนั่นแหละครับ

วิธีที่สองคือ เรียนรู้การเขียนโปรแกรมด้วยตัวเอง ในปัจจุบันมีสื่อการสอนเกี่ยวกับการเขียนโปรแกรมมากมาย แต่ถ้าไม่อยากจะเสียเวลาผมขอให้ข้ามเล่มที่เป็นภาษาไทยไปเลยครับ (ฮา) ส่วนใหญ่สอนเข้าใจง่ายนะ อ่านแล้วทำตามได้สบาย ๆ แต่ถ้าไม่สอนผิดก็มีแต่น้ำที่เอาไปใช้จริงไม่ค่อยได้ คุณจะเจอหนังสือที่เขียนว่า “ขั้นสูง” ที่ข้างในไม่มีสาระอะไรเลยมากมาย ที่ผมบอกให้ข้ามไปไม่ใช่ว่าหนังสือดี ๆ ไม่มีนะครับ แต่ว่าหายากมาก หนังสือห่วย ๆ มันเยอะกว่ามากทีเดียว

ดังนั้นความรู้พื้นฐานอย่างแรกที่คุณจำเป็นต้องมีคือ “ภาษาอังกฤษ” นั่นเอง หลายคนถามว่าเอ๊ะเป็นโปรแกรมเมอร์ไม่ต้องมีสกิลคอมพิวเตอร์ก็ได้เหรอ ? บางคนโยงไปเรื่องการประกอบคอม การซ่อมคอม และอื่น ๆ อีกมากมาย ผมคงจะตอบได้ว่าแม้แต่โปรแกรมเมอร์เองหลาย ๆ คนก็ใช้งานคอมพิวเตอร์ได้ไม่คล่องครับ คือแต่ละโปรแกรมก็จะมีวิธีใช้แตกต่างกัน ดังนั้นการใช้งานให้คล่องนั้นก็ใช้เวลา บางคนก็อยากดูละครมากกว่านี่นา (เรื่องประกอบคอมนี่ลืมไปเลยครับ บางคนแค่จะจับเคสยังขยาดเลย) คุณแค่ใช้โปรแกรมที่ใช้เขียนโปรแกรมให้คล่องก็พอ (อาจจะเป็น compiler และ/หรือ IDE นั่นแหละ อยากรู้เพิ่มก็ศึกษาเองนะ)

เมื่อคุณมีความรู้ภาษาอังกฤษแล้วคุณก็จะสามารถศึกษาการเขียนโปรแกรมได้กว้างมากขึ้น มากซะจน …. จนไม่รู้จะเริ่มจากอะไรก่อนดีเลยล่ะ ถ้าเป็นในอดีตผมจะแนะนำให้ลองหัดใช้ C ให้คล่องก่อน เพราะว่ามันทำให้เราเรียนรู้ว่าคอมพิวเตอร์ทำงานอย่างไรได้ลึกมากกว่าภาษาอื่น ๆ แต่ว่าถ้าแค่อยากเขียนโปรแกรมเป็นนี่ภาษาอะไรก็ได้ครับ ในตอนนี้ผมจะแนะนำให้เขียนจาก JavaScript ก่อนละกัน สาเหตุคือคุณไม่ต้องใช้อะไรเลยนอกจาก Web Browser ในการหัดเขียนโปรแกรม (ไม่ต้องติดตั้งอะไรเลย!)

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

ทฤษฎีด้านไหนที่สำคัญ ผมว่าเริ่มจากตัวภาษาโปรแกรมก่อน (เช่น Programming Style/Paradigm ต่าง ๆ ) แล้วขยายไปด้านที่ตัวสนใจ เช่นถ้าชอบเขียนเกมก็ไปทาง Real-Time Graphics/Audio หรือถ้าชอบเขียนเวปก็ไปทางด้าน Usability อะไรทำนองนี้ครับ

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

และการตามการพัฒนาตรงนี้สิ่งที่สำคัญคือภาษาอังกฤษ (ไม่งั้นฟังอะไรไม่รู้) และความรู้พื้นฐานสำหรับสายงานด้านที่คุณสนใจ การขาดความรู้พื้นฐาน (= ทฤษฏี) ทำให้คุณฟังแล้วจับใจความไม่ได้ถึงรู้ว่าเขาพูดอะไรก็ตาม

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

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

Edit: ลืมไปเลย พอคุณเริ่มเก่งแล้ว เริ่มมั่นใจว่าทำได้ ให้ลองส่ง resume ไปตามบริษัท อาจจะต้องหลาย ๆ แห่งหน่อยเพราะหลายที่เขาดูวุฒิ ถ้าโชคดีได้สัมภาษณ์สักแห่งก็ลุยเต็มที่ครับ (ผมเคยเขียนถึงเรื่องการสัมภาษณ์เอาไว้แล้วแหละครับ) ลองดู ระหว่างที่รอเรียกสัมภาษณ์ให้ลองเขียนแอพของตัวเองเก็บไว้เป็นพอร์ทบ้างก็ดีครับ อาจจะเขียนเป็นเว็บไซต์ หรือทำโมบายล์แอพขึ้น Play Store (ซึ่งค่าใช้จ่ายต่ำมาก พันห้าร้อยบาทตลอดชีพ) อะไรแบบนี้ มันจะทำให้เราดูน่าสนใจมากกว่าอีกหลาย ๆ คนครับ อะไรที่ทำได้ก็ต้องทำล่ะครับ

One thought on “อยากทำงานเป็นโปรแกรมเมอร์แต่ไม่ได้จบสายคอม ?

  1. แอดมินก็ช่างเขียนน่ะครับ อ่านลื่นไหลซะเคลิ้มเลย แต่คนที่บ้านแอดมินติดละครหรือเปล่าน่ะ เหน็นลงที่ละครตลอดเลย ฮ่า

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *

This site uses Akismet to reduce spam. Learn how your comment data is processed.