Screen Shot 2558-06-13 at 9.42.07 PM
ช่วงวันหยุดได้มีโอกาสไปสอนเกี่ยวกับการ coding มานิดหน่อย
ซึ่งพบว่า เมื่อเราต้องเรียนรู้ในสิ่งใหม่
เช่นการ coding ในภาษาโปรแกรมใหม่
เรามักเจออุปสรรคต่างๆ มากมาย
ที่บั่นทอนกำลังใจในการเรียนรู้
บ่อยครั้งทำให้เราเลิกล้มความตั้งใจในการเรียนรู้ไปเลย

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

ดังนั้น เรามาดูว่ามีอุปสรรคอะไรกันบ้าง ?

1. เหตุผลในการ coding ที่มากเกินไป

ในการเรียนรู้สิ่งใหม่ๆ นั้น
อย่าเรียนรู้เพียงเพราะว่า มันดี
อย่าเรียนรู้เพียงเพราะว่า มันได้รับความนิยม
อย่าเรียนรู้เพียงเพราะว่า มันสามารถสร้างรายได้สูง

แต่ให้เรียนรู้ และ ลงมือทำ เพราะว่า เราต้องการแก้ไขปัญหาของเราบางอย่าง
เพื่อเปลี่ยนแปลง และ ปรับปรุง ให้ชีวิตเราดีขึ้น
และแน่นอนจากนั้น จึงส่งต่อวิธีการแก้ไขไปให้ผู้อื่น

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

ดังนั้น
ลองหาเหตุผลที่น่าสนุก ไม่เครียด เพื่อให้เป็นเป้าหมาย
ของการศึกษาสิ่งใหม่ๆ

2. ไม่รู้ว่าจะเริ่มศึกษาเทคโนโลยีอะไรดี ?

คำถามที่มักพบเจอสำหรับ programmer ใหม่ๆ คือ
แล้วเราจะเริ่มต้นศึกษาด้วยภาษา program อะไรดีล่ะ ?
จะพบเจอได้อย่างมากตาม webboard ต่างๆ ของไทย

คำถามนี้บ่งบอกว่า
programmer คนนั้นยังไม่รู้เลยว่า จะศึกษาไปทำไม
programmer คนนั้นยังไม่รู้เลยว่า จะศึกษาไปเพื่ออะไร

ดังนั้นควรเริ่มจากการตังเป้าหมายก่อนดีกว่า เช่น
ถ้าต้องการสร้าง Android application ก็ต้องไปศึกษาภาษา Java และ Android
ถ้าต้องการสร้าง iOS application ก็ต้องไปศึกษาภาษา Swift และ Objective-C
ถ้าต้องการสร้าง web application ก็เริ่มง่ายๆ ด้วย JavaScript ก่อนไหม

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

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

ไม่ใช่เพียงมาถามว่า ระหว่าง A กับ B อะไรดีกว่ากัน ?

3. อย่าโทษตัวเอง

หลังจากที่เลือกสิ่งที่จะเรียนรู้ ฝึกฝนแล้ว
ให้ลงมือปฏิบัติ …
แต่ปัญหาส่วนใหญ่มักจะมาจากการลงมือแก้ไขปัญหา หรือ ลงมือทำนั่นเอง
เนื่องจากในช่วงแรกจะศึกษาทฤษฎีต่างๆ ก่อน
ซึ่งทุกอย่างจะเป็นไปอย่างราบรื่น
แต่เมื่อลงมือทำจริงๆ กลับพบเจอปัญหามากมาย
นั่นคือ ปัญหาเรื่องของความสามารถนั่นเอง

ให้เชื่อเถอะว่า
ถ้าลงมือทำแล้วผิดพลาด
ก็ให้หยุดคิด หน่อยว่า ผิดเพราะว่าอะไร
แล้วหาวิธีแก้ไข ปรับปรุงให้ดีขึ้น
และลงมือทำอีกรอบ …

อย่าไปโทษตัวเองว่า มันห่วย โง่ ….
ซึ่งมันจะเป็นความคิดที่บั่นทอนกำลังใจเราอย่างมาก !!

แนะนำวิธีแนวทางการฝึกฝน ดังนี้
เมื่อคุณรู้ว่า จะฝึกฝนอะไร ให้เลือกปัญหาที่มีความซับซ้อนพอสมควร
จากนั้น ทำการแยกงานออกเป็นงานย่อยๆ หรือ ปัญหาย่อย
และลงมือทำทีละงานไปเรื่อยๆ
ถ้างานไหน ไม่สามารถแก้ไขได้ แนะนำให้แตกงานย่อยออกมาอีก
แต่ห้ามลืม Do one thing at a time นะครับ

ก่อนลงมือทำนั้น คุณต้องมั่นใจนะว่า
ได้เรียนรู้ทฤษฎีที่จำเป็นต่อการแก้ไขงานนั้นๆ ด้วย
จากนั้น ลงมือทำ ..

มาเรียนรู้ที่จะเขียน code กันนะครับ