“นักพัฒนาซอฟต์แวร์รุ่นใหม่ไม่ค่อยเข้าใจ Fundamental”

Sittiphol Phanvilai
AraiDD
Published in
1 min readMar 21, 2016

--

เป็นประโยคสั้นๆที่ได้ยินมา 3 ครั้งรวดภายในวันเดียวจากรุ่นพี่รุ่นเพื่อนรุ่นน้องที่ไปเจอมาที่ลาดกระบังและจุฬาฯวันก่อน

มันคงไม่ใช่เรื่องบังเอิญแล้วแหละ …

ซึ่งก็เห็นด้วยเลย โดยเฉพาะเด็กรุ่นใหม่สายโปรแกรมมิ่ง ทุกวันนี้โหยหาแต่ “วิธีลัด” “ของ่ายๆ” หรือ “วิธีทำให้โค้ดสั้นที่สุด” แต่พอถามว่าโค้ดเหล่านั้นทำงานยังไง ทำไมต้องเขียนแบบนั้น

“ไม่รู้ดิพี่ ก็ทำตามเค้า ก็อปแปะมา…”

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

เราเห็นคนที่บอกว่าเขียน Java เป็นแอปได้แต่ไม่รู้ว่า GC ทำงานยังไงมากมาย

เราเห็นคนที่อยากเขียน Server Side แต่ไม่รู้ว่า HTTP คืออะไรอยู่ตลอด

เราเห็นคนที่เขียนโปรแกรมได้แต่ Debug ปัญหาเองไม่เป็นเพียบ

ทั้งๆที่สิ่งที่พูดมามันเป็นพื้นฐานของงานนั้นๆทั้งสิ้น

อันนี้เป็นผลพวงมาจากการที่ภาษาโปรแกรมมิ่งพัฒนามาไกลและมีอะไรให้ใช้เต็มไปหมด แล้วพอมันเป็นดิจิตอลมันก็ลอกกันง่ายและส่งผลให้คนจำนวนมากโหยหาทางลัดและไม่ยอมไปศึกษาว่าแต่ละตัวมีพื้นฐานมายังไง

คือถ้าให้ลองเทียบกับการวาดรูป มันเหมือนกับการวาดภาพเหมือนแต่ไม่รู้ว่าเส้นตรงวาดยังไง เพียงแต่ในกรณีของการวาดรูปมันก็อปแปะไม่ได้ ดังนั้นการวาดรูปเลยต้องเริ่มฝึกจากการวาดเส้นนั่นเอง

จริงๆการเขียนโปรแกรมก็ควรจะเป็นแบบนั้น หากอยากจะวาดโมนาลิซ่าก็ควรจะเริ่มจากการวาดเส้นตรง วาดวงกลม เรียนรู้การไล่สีแล้วก็วาดมาเป็นรูป

ไม่ใช่เข้า Google หารูปโมนาลิซ่าแล้วก็ก็อปแปะ เสร็จแล้ว …

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

แต่เด็กรุ่นใหม่น้อยนักที่ทำ ด้วยสาเหตุว่าของล่อใจมันเยอะนั่นเอง ก็อปแปะมันง่าย

และในฐานะที่รู้จักคนที่เป็นนายจ้างเยอะ ค้นพบว่าเค้าไม่ได้ต้องการคนที่เก่งมาเลยขนาดนั้น แต่ต้องการคนที่ “พื้นฐานดี” แบบเข้าใจสิ่งที่ตัวเองทำ เพราะคนพวกนี้ปั้นได้ง่ายและเร็ว แต่ถ้าคนที่ไม่เข้าใจพื้นฐานมาเลยเค้าจะสิ้นหวังและไม่รับเข้าทำงานทันที

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

ถ้ารู้ดังนี้แล้วก็เริ่มตระหนักและปรับพื้นฐานความรู้กันได้แล้วครับ สถานการณ์การขาดแคลนแรงงานโปรแกรมเมอร์คุณภาพจะดีขึ้นทันตาถ้าต่างคนต่างพัฒนาตัวเอง

ก็จับทางชีวิตให้ถูกครับ ความจริงเคยเขียนเรื่องนี้ไว้ที่บล็อก >> “อยากไปให้ถึง “ยอด” ต้องเข้าให้ถึง “แก่น” เพราะ Fundamental นั้นสำคัญ” ก็ลองไปอ่านวิธีการเรียนรู้เรื่องใดๆอย่างถูกต้องกันได้ =)

--

--

A full-stack developer from Thailand. I use Medium mainly for the English article. My Thai blog posts are in https://nuuneoi.com by the way.