7 ขั้นตอนในการพัฒนาทักษะการเขียนโปรแกรมให้เก่งขึ้น

Kittisak Pimnonthong
2 min readDec 20, 2017

--

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

ขั้นตอนที่ 1 ค้นหาตัวเอง

ก่อนอื่นต้องค้นหาตัวเองก่อนครับว่าเราชอบเขียนโปรแกรมบน Platform ไหน อย่างเช่น บางคนอาจจะชอบทำเว็บด้วย PHP บางคนอาจจะชอบทำ Mobile Application เป็นต้น ก็ให้เราลองเลือกมาว่าเราจะฝึกไปทางไหน ไม่จำเป็นต้องเลือกแค่อันเดียวก็ได้นะครับ บางคนอยากเก่งหลาย ๆ ด้าน ก็ลองฝึกไปหลาย ๆ ด้านได้ครับ

ขั้นตอนที่ 2 กำหนดโปรเจคที่อยากจะทำ

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

ขั้นตอนที่ 3 เลือกเครื่องมือ และภาษาที่จะใช้

ในข้อนี้หลายคนอาจจะสงสัยว่า…

“อ้าว เรายังไม่เก่งด้านนี้เลย เราจะรู้ได้ยังไงว่าเครื่องมือ หรือภาษาอะไรที่เหมาะสมกับงานที่เราต้องการจะทำ”

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

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

ในที่นี้ ผมไม่ห้ามนะครับ ที่จะใช้อะไรสำเร็จรูป เช่น CMS หรือ Framework อะไรพวกนี้นะครับ ทุกอย่างสามารถนำมาใช้ได้ทั้งหมด

ขั้นตอนที่ 4 ลงมือทำ รวมทั้งหาแหล่งความรู้ไปด้วย

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

อีกหนึ่งอย่างที่ผมอยากจะแนะนำมาก ๆ เลยนะครับ คือการใช้ keyword ผมไม่ได้จะบอกว่า Keyword แบบไหนดี แบบไหนไม่ดีนะครับ ผมว่าเรื่องนี้ก็เป็นอีกเรื่องนึงที่เราต้องค้นพบด้วยตัวเองครับ ฝึก Search บ่อย ๆ ถ้าหาข้อมูลไม่เจออย่าพึ่งท้อนะครับ เปลี่ยน Keyword ไปเรื่อย ๆ จนกว่าจะเจอสิ่งที่เราต้องการ ที่ผมแนะนำเลยคือการค้นหาเป็นภาษาอังกฤษ เพราะเราจะได้คำตอบเยอะมาก ๆ และยังเป็นการฝึกภาษาไปในตัวด้วยนะครับ

หาแล้วหาอีก เปลี่ยน keyword ก็แล้ว ทำยังไงก็หาไม่เจอ ควรทำยังไงดี?

อันนี้ผมแนะนำให้โพสต์ถามเลยครับ หรือถามอาจารย์ในมหาวิทยาลัยก็ได้ครับ ท่านยินดีให้คำปรึกษาแน่นอน ในการถามผมแนะนำ Stackoverflow ศาสดาจารย์ ของโปรแกรมเมอร์ทุกคนเลยครับ แต่ถ้ากลัว skill ภาษาอังกฤษไม่ถึง ก็ลองถามในกลุ่ม Facebook ก็ได้ครับ ตามเรื่องที่เราต้องการจะถาม ถ้าเรื่องเว็บก็เป็น ชมรมคนทำเว็บ ถ้าเป็นเรื่อง Android Application ก็เป็น Thailand Android Developer เป็นต้น หรือจะเป็นกลุ่มนี้ก็ได้ครับ สมาคมโปรแกรมเมอร์ไทย ก็สามารถสอบถามเรื่องต่าง ๆ ได้เช่นเดียวกันครับ

ขั้นตอนที่ 5 หาอะไรเจ๋ง ๆ มาเพิ่มเข้าไปในโปรเจคของเรา

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

ขั้นตอนที่ 6 Refactoring หรือการปรับปรุง code ให้ดีขึ้นนั่นเองครับ

ในขั้นตอนนี้ วิธีที่ผมใช้ก็คือ การหาข้อมูลเกี่ยวกับ Code Guideline อ่าน การดูโค้ดของคนอื่นใน github การให้คนอื่นลองทำ code review ลองดูครับ วิธีเหล่านี้ก็จะช่วยปรับปรุง การเขียนโค้ดของเราให้ดีขึ้น ทั้งในเรื่องของการตั้งชื่อตัวแปร เรื่องอัลกอริทึม และก็เรื่อง Directory Structure ครับ

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

ขั้นตอนที่ 7 กลับมาเขียนโปรแกรมเก่า ๆ ของเราอีกครั้ง

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

และเมื่อเราทำการเขียนโปรแกรมนั้น ๆ ขึ้นมาใหม่แล้ว เราก็จะเห็นถึงพัฒนาการของเราอย่างชัดเจนครับ ทำให้มีกำลังใจในการฝึกเพิ่มขึ้นไปอีก ยึ่งพัฒนามากแค่ไหน กำลังใจในการพัฒนาตนเองของเราก็จะเพิ่มขึ้นไปอีกครับ

เป็นยังไงกันบ้างครับกับ 7 ขั้นตอนในการพัฒนาต้นเอง ผมแนะนำให้ใส่ขั้นตอนทั้งหมดนี้เข้าไปใน loop while(true) เลยครับ เราจะสามารถพัฒนาตนเองได้เรื่อยๆเลย

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

แนะนำนะครับ วันละน้อยก็ยังดี ฝึกฝนตัวเอง และตามทันเทคโนโลยีใหม่ ๆ บ้าง มิฉนั้นเราอาจจะถูกทิ้งไว้กลางทางได้ครับ

สุดท้ายนี้ก็ขอขอบคุณทุกท่านที่เข้ามาอ่านนะครับ หวังว่าบทความนี้จะช่วยให้คุณได้ไอเดียร์สำหรับการพัฒนาตัวเองไม่มากก็น้อยนะครับ Good luck :)

--

--

Kittisak Pimnonthong

DreaMTeryST… เรียนด้วย ทำงานด้วย เวลาว่าง ๆ ก็ชอบเรียนรู้อะไรใหม่ ๆ เผื่อจะเป็นโปรแกรมเมอร์ที่เก่งอย่างเขาบ้าง :)