ทุกวันนี้ทุกคนต่างพูดเป็นเสียงเดียวกันว่า Coding เป็นทักษะใหม่ที่ไม่ว่าใครๆ ก็ควรทำความรู้จัก
เพราะมันกำลังเข้ามามีบทบาทในทุกมิติของชีวิตเรามากขึ้นทุกวัน หากคุณเป็นอีกคนที่สนใจแต่ยังเต็มไปด้วยคำถามและยังไม่รู้ว่าจะเริ่มต้นจากตรงไหน คงไม่มีทางใดที่จะดีไปกว่าการปรึกษาบุคคลที่อาบน้ำร้อนมาก่อน
นั่นเป็นเหตุให้เราชวนภูมิ—ภูมิปรินทร์ มะโน โปรแกรมเมอร์วัย 18 ปีที่มีประสบการณ์เขียนโปรแกรมจากการศึกษาด้วยตัวเองมาไม่ต่ำกว่า 10 ปี ร่วมกันกับเพื่อนๆ สร้าง Young Creator’s Camp ค่ายที่ชวนผู้ที่สนใจการเขียนโปรแกรม นำความรู้ที่แต่ละคนมีมาใช้แก้ปัญหาสังคมไปพร้อมกัน แม้จะดูอายุน้อย แต่รับรองได้ว่าเขาอาบน้ำร้อนมาก่อนหลายอ่างและจะมาช่วยแนะนำเคล็ดลับในการเรียนรู้ Coding ทั้งแบบศึกษาด้วยตัวเองและผ่านหลักสูตรในสถานศึกษาต่างๆ ได้แบบลึกซึ้ง
เริ่มต้นแค่อยากรู้ แต่ยังไม่อยากลอง ควรมองหาอะไรดี
สำหรับหลายคนที่อาชีพปัจจุบัน หรือสายที่เรียนไม่ได้เกี่ยวข้องกับเทคโนโลยีโดยตรง แต่ก็สนใจทักษะใหม่แห่งศตวรรษนี้จนอยากจะลองศึกษา ทำความเข้าใจ ก่อนที่จะตัดสินใจลงทุนเวลาและเงินไปกับการฝึกฝนอย่างจริงจัง สิ่งที่ควรทำคือการลองเปิดใจง่ายๆ ด้วยการลองฟังทอล์กของ Developer สักคนที่เต็มไปด้วยประสบการณ์ที่กลั่นกรองมาแล้ว
“สำหรับผมเองถ้าให้เรียงลำดับ ผมจะชอบฟังทอล์กเป็นอันดับแรก เพราะสปีกเกอร์ต่างประเทศจะมีประสบการณ์สูงมาก แล้วเขาจะมาเล่าทอล์กละ 15 นาทีถึงชั่วโมงครึ่ง ซึ่งใช้เวลาน้อยกว่าคอร์สออนไลน์แน่นอน”
สปีกเกอร์แนะนำได้แก่ Robert C. Martin หรือที่คนในวงการเรียกกันว่า Uncle Bob ผู้อบอุ่นใจดี หรือ Martin Fowler ผู้เป็น Software Developer ชาวอังกฤษ และ Sandi Metz ที่เล่าเรื่องเก่งไม่แพ้กัน ถ้าสนใจอยากรู้จักคนเก่งๆ มากขึ้นอีกก็ต้องลองขยับเข้าใกล้เหล่า Developer มากขึ้นอีกนิด
ตัดสินใจแล้วลองไปร่วมคอมมูนิตี้
“ถ้าจะให้แนะนำคนมาใหม่จริงๆ แค่ไปเข้าคอมมูนิตี้ก็พอครับ แล้วก็ลองไปถาม พยายามแชร์ แนะนำตัวเองว่าเราเพิ่งมาใหม่นะ อยากรู้เรื่องนี้ ถามตรงๆ ได้เลย ทุกคนจะพร้อมช่วยเราเยอะมาก”
โดยคอมมูนิตี้ระดับสากลที่น่าสนใจ คือ freeCodeCamp (www.freecodecamp.org) ซึ่งเปิดโอกาสให้คนที่สนใจเรียน Coding ได้มาลองเรียนรู้ เพื่อนำไปช่วยเหลือมูลนิธิต่างๆ ไม่ต้องห่วงว่าเป็นมือใหม่ เพราะมีรุ่นพี่ใจดีคอยให้คำแนะนำตลอดเส้นทางแน่นอน
อีกกลุ่มที่น่าสนใจไม่แพ้กัน ชื่อว่า CodeNewbie (www.codenewbie.org) สร้างโดย Saron Yitbarek ชาวเอธิโอเปีย ที่ตั้งใจอยากให้ทุกคนได้มีโอกาสเรียนเขียนโค้ดได้โดยไม่ต้องเสียเงินเยอะ โดยเน้นพัฒนาการเรียนรู้ทั้งออนไลน์และออฟไลน์ ทั้งแฮชแท็กในทวิตเตอร์ เข้าไปถามตอบปัญหากันและงานประชุมแลกเปลี่ยนความรู้อย่างจริงจัง
ส่วนคอมมูนิตี้ในไทย มักจะแยกตามภาษาที่ใช้ในการเขียนโค้ด แต่ละเทคโนโลยีก็จะมีคอมมูนิตี้แยกกันหมดเลย กลุ่มที่ใหญ่ที่สุดก็คงหนีไม่พ้น bkk.js ซึ่งใช้ภาษา JavaScript ที่คนใช้มากที่สุดในโลกนั่นเอง
เมื่อเข้าไปในคอมมูนิตี้แล้วก็ไม่อยากให้แอบส่องคนอื่นคุยกัน ภูมิแนะนำว่าให้เริ่มจากคิดโปรเจ็กต์ง่ายๆ ก่อน เช่น อยากลองทำเว็บไซต์ง่ายๆ ด้วยตัวเอง แล้วปรี่เข้าไปขอคำแนะนำจากเพื่อนๆ ได้เลย หรือพิมพ์ลงในทวิตเตอร์ก็ได้โดยใช้แฮชแท็ก #CodeNewbie หรือ #100daysofcode ซึ่งสนับสนุนให้โปรแกรมเมอร์ลองเขียนโค้ดติดต่อกันเป็นเวลา 100 วัน รับรองว่าจะมีคนมาช่วยแนะนำอย่างเต็มที่ เมื่อตั้งเป้าหมายให้ตัวเองได้แล้ว เริ่มลงมือก็ต้องไม่ลืมแบ่งปันเรื่องราวการเรียนรู้ของตัวเองด้วย การแชร์ประสบการณ์ตั้งแต่วันแรกของตัวเอง ภูมิเรียกว่าเป็นการ Learn in Public รับรองว่าจะทำให้พัฒนาตัวเองได้เร็วกว่าแอบเรียนเงียบๆ คนเดียวแน่นอน และสุดท้ายคือการไม่หยุดเรียนรู้ อ่านเยอะๆ ฟังเยอะๆ เพื่อที่จะได้ไม่ทำผิดซ้ำๆ กับคนเคยผิดมาแล้ว จะช่วยให้การเรียนรู้เร็วขึ้นมาก
สำหรับใครยังอยู่ในรั้วโรงเรียน ไม่ว่าจะเป็นผู้เรียนหรือผู้สอนก็ตาม ลองเข้าร่วมโครงการส่งเสริมการเรียนรู้ด้านวิทยาการคอมพิวเตอร์ อย่าง Code Their Dreams (www.codetheirdreams.com) ซึ่งเน้นการสร้างแรงบันดาลใจให้เด็กๆ รู้จักภาษาคอมพิวเตอร์ ฝึกฝนทักษะความรู้เกี่ยวกับการเขียนโปรแกรมคอมพิวเตอร์เบื้องต้นได้เลย
หนังสือพื้นฐานอ่านระหว่างฝึกฝน
สำหรับใครที่พอมีพื้นฐานอยู่บ้างแล้ว ลองหยิบหนังสือชื่อ 99 Bottles of OOP โดย Sandi Metz มาทดลองฝึกฝนด้วยตัวเองได้ ในหนังสือจะได้ฝึกฝนการเขียนโค้ดแบบปฏิบัติจริงให้ลองทำ เป็นเหมือนแบบฝึกหัดด้วยโค้ดตัวอย่างกว่า 187 อัน
อีกเล่มคือ Refactoring: Improving the Design of Existing Code โดย Martin Fowler ว่าด้วยเรื่องของการเขียนโค้ดให้ดี อีกเล่มชื่อ Structure and Interpretation of Computer Programs โดย Gerald Jay Sussman และ Hal Abelson เป็นหนังสือที่เก่าแก่ พิมพ์ตั้งแต่ 40 ปีที่แล้ว แต่ก็ยังควรค่าแก่การศึกษา
นอกจากหนังสือเล่ม บรรดา Documentation ซึ่งเป็นเอกสารที่เหล่าโปรแกรมเมอร์เขียนให้โปรแกรมเมอร์คนอื่นอ่านเพื่ออธิบายรายละเอียดของซอฟต์แวร์นั้นๆ ก็เป็นประโยชน์ด้วยเช่นกัน
หากจะเรียนอย่างจริงจังในสถานศึกษาล่ะ จะต้องเตรียมตัวอย่างไร
ในมุมมองของภูมิ วิทยาการคอมพิวเตอร์นั้นเป็นอะไรที่ทุกคนเรียนรู้ได้โดยไม่ต้องการพื้นฐานที่หนักหน่วงจนเกินเอื้อม แต่ให้ลองคิดภาพเหมือนการลงเรียนภาษาใหม่ๆ ที่ต้องอาศัยการฝึกฝนมากกว่า “สิ่งสำคัญที่น่าจะจะต้องปูพื้นฐาน คือการคิดเชิงตรรกะครับ แล้วก็อีกอันที่สำคัญมากคือ การเรียนรู้ด้วยตัวเอง เพราะเทคโนโลยีทุกอย่างมันเปลี่ยนเร็ว มันมีของใหม่เข้ามาเสมอทำให้ทุกคนต้องเรียนรู้ด้วยตัวเองอยู่ตลอด”
ในมุมของการศึกษา Coding ในระดับมหาวิทยาลัย ทั้งอาจารย์และนักศึกษาก็ต้องไม่หวังพึ่งหลักสูตรแต่เพียงอย่างเดียว เพราะในทางปฏิบัติแล้วมหาวิทยาลัยไม่สามารถปรับหลักสูตรได้ทุกปี แต่ทั้งผู้เรียนและผู้สอนต้องเปิดใจรับฟังกัน ช่วยกันอัปเดตเทคโนโลยีใหม่ๆ เรียนรู้ไปด้วยกันมากกว่าเพื่อที่จะตอบโจทย์ความต้องการของตลาดที่เปลี่ยนแปลงอยู่ตลอดได้ โดยการเรียนรู้มหาวิทยาลัยนั้นอุปกรณ์ต่างๆ ต้องพร้อมจริงๆ เพื่อตอบโจทย์การเป็น Open Space ที่ให้เด็กได้ทดลองทำจริง มีเครื่องมือที่รองรับการเขียนโปรแกรม Internet of Things อาจจะมีบอร์ดเล็กๆ ให้ลองเล่น ด้านการเรียนรู้เรื่องเน็ตเวิร์กก็ควรจะมีอุปกรณ์การเชื่อมต่อเครือข่ายให้นักศึกษาได้ลองเล่น ลองต่อเองได้
“ถ้าจากที่เพื่อนๆ เล่าให้ฟัง บางมหาวิทยาลัยก็พร้อมมาก บางมหาวิทยาลัยก็พร้อมเพียง 10% แถมหลักสูตรก็ไม่เข้ากับความต้องการด้วย และอุปกรณ์ก็ไม่พร้อมด้วย ทำให้เด็กแทบจะต้องอ่านทุกอย่างเองหมด”
นอกจากนี้สิ่งสำคัญที่ขาดไม่ได้ก็คือ ภาษาอังกฤษ เพราะบทความและแหล่งความรู้ส่วนใหญ่ที่รวบรวมข้อมูลสำหรับการ Coding ไว้ล้วนแต่ถูกเผยแพร่ในรูปแบบภาษาอังกฤษทั้งสิ้น
การเรียนรู้เริ่มต้นได้จากความสนุก
หากจะเรียน Coding ให้สำเร็จ ยังไงก็ต้องเรียนด้วยความสนุก นั่นจึงเป็นเหตุผลให้ภูมิร่วมกับเพื่อนๆ จัดกิจกรรม Code เพลิน เมื่อช่วงต้นปีที่ผ่านมา ชวนเด็กๆ ชั้นประถมศึกษาตอนปลายและมัธยมศึกษาตอนต้น ลองมาเขียนโปรแกรมผ่านการจำลองตัวเองเป็นซูเปอร์ฮีโร่ ซึ่งได้ผลตอบรับจากเด็กๆ เป็นอย่างดี เพราะเป็นการเรียนรู้ที่มีพื้นฐานมาจากความสนุกนั่นเอง
หากคิดว่าอยากให้เด็กๆ ใกล้ตัวลองเริ่มต้นเรียนรู้พื้นฐานอย่างง่าย แนะนำให้ Kids Bright (www.kid-bright.org) ซึ่งเป็นบอร์ดเล็กๆ คอยทำงานตามชุดคำสั่ง ผ่านโปรแกรมที่ใช้งานง่าย เพื่อเน้นพัฒนากระบวนการคิดเชิงตรรกะ ร่วมกับความคิดสร้างสรรค์ไปพร้อมกัน
ส่วน CS Unplugged (www.csunplugged.org) ที่เน้นย้ำว่าเป็นการเรียนรู้วิทยาการคอมพิวเตอร์แบบไม่ต้องใช้คอมพิวเตอร์ ออกแบบวิธีการสนุกๆ ไว้ให้คุณครูหรือผู้ที่สนใจ นำไปปรับใช้กับระดับชั้นอนุบาลหรือประถมต้น เพื่อทำให้เข้าใจพื้นฐานการฝึกคิดอย่างเป็นระบบ และ Coder Dojo (coderdojo.in.th) สำหรับเด็ก ๆ อายุ 7-17 ปี เป็นกิจกรรมที่จัดขึ้นเพื่อเปิดโอกาสให้เด็ก ๆ และพ่อแม่ได้เรียนรู้ทำเว็บไซต์ ทำเกม สร้างแอปพลิเคชัน สร้างหุ่นยนต์ร่วมกัน โดยไม่มีค่าใช้จ่าย โดยใช้สื่อออนไลน์จากเว็บ coderdojo.com และมีอาสาสมัครจาก CoderDojo Thailand มาคอยให้คำปรึกษา
สุดท้าย ไม่ว่าจะเริ่มจากการสมัครเข้าเรียนตามหลักสูตร เข้าคอร์สอย่างจริงจัง หรือจะศึกษาด้วยตัวเอง ต้องไม่ลืมว่า Coding เป็นเครื่องมือที่จะเข้ามาช่วยแก้ปัญหาต่างๆ ให้สะดวกง่ายดายขึ้น การเขียนโค้ดได้จึงไม่ใช่ปลายทางของการเรียนรู้ แต่เป็นจุดเริ่มต้นในการสร้างสรรค์สิ่งใหม่ๆ ให้แก่โลกใบนี้ต่างหาก และสิ่งสำคัญที่ภูมิเน้นย้ำตลอดว่าเป็นองค์ประกอบที่ขาดไม่ได้สำหรับการเรียน Coding นั่นก็คือความสนุก
“เริ่มต้นการเขียนโปรแกรมมีแค่อย่างเดียวเลยคือ คุณต้องสนุกไปกับมันก่อน”