ตลอด 6 เดือนที่ผ่านมาผมได้เรียนรู้อะไรหลายๆ อย่างเกี่ยวกับการเขียนโปรแกรมทั้งจากในมหาลัยและศึกษาเอง โดยผมจะเน้นไปทาง web development เป็นส่วนใหญ่ โดยในบทความนี้ก็จะมาแชร์กระบวนการเรียนรู้ของผมกันครับ
ลงมือทํามากกว่าการดู
ในช่วงแรกๆ ของการศึกษาผมก็ดูคลิปสอนตามยูทูปครับ ซึ่งส่วนใหญ่คลิปก็หลายชั่วโมงมากๆ บางครั้งก็มีบ้างที่รู้สึกเบื่อ ดังนั้นแทนที่ผมจะนั่งดูจนจบผมก็ลองลงมือทําเองเลยครับ ข้อดีของการลงมือทําก็คือเราได้ทําและเจอปัญหาจริงๆ ทําให้เราได้รู้จักแก้ปัญหา การหาวิธีการแก้ไขจากที่ต่างๆ เช่น stackoverflow หรือการอ่าน document เป็นต้น ข้อเสียก็คงจะเป็นอาจใช้เวลามากกว่านั่งดู tutorial สอนเพราะต้องเสียเวลามานั่งแก้ไขปัญหา แถมบางทีวิธีที่เราทําอาจจะไม่ใช่วิธีที่ดีที่สุด แต่ว่าอาจเขียนโค้ดไม่ใช่เขียนได้ครั้งเดียวสักหน่อยนิหน่า เราก็ไปดูคลิปสอนและดูว่าเขาทําตรงนี้ยังไง ทําเหมือนกับเราไหม ถ้าไม่เหมือนเราก็แค่ปรับแก้ แต่ถ้าเหมือนก็ดีเลย วิธีนี้เป็นวิธีที่ผมใช้และคิดว่ามันทําให้ผมเรียนรู้ได้ดีมากๆ เลยนะ เรื่องอื่นๆ ที่ผมอยากรู้ไม่จําเป็นต้องมีคนสอนผมก็สามารถเรียนรู้ได้จากการอ่าน document + stackoverflow
Frameworks มีเยอะแยะเลือกยังไงดี
ตอนเริ่มเขียนเว็บทุกคนก็คงเขียน HTML, CSS, Javascript ผมก็เหมือนกันครับ แต่พอเราเขียนไปซักพักจะพบว่าการเขียน HTML อย่างเดียวอาจจะลําบากไปหน่อย เพราะอาจต้องเขียนอะไรซํ้าซ้อน ดังนั้น framework ก็จะมาเป็นตัวช่วยของเราครับ โดย framework ก็มีให้เลือกมากมาย เราจะเลือก framework ที่เหมาะสมกับเราได้อย่างไร สําหรับตัวผมนั้นเลือก React เพราะว่าเป็น framework ที่นิยมและใช้ในการทํางานได้บวกกับผมไปดูคลิปของคุณ Takuya Matsuyama ทําเว็บไซต์ของตัวเองด้วย react ก็เลยอยากลองใช้บ้าง แต่สําหรับเพื่อนๆ ที่ยังไม่รู้ว่าจะใช้อันไหน ผมแนะนําว่าอาจจะลองทั้งหมดเลย แล้วดูว่าชอบตัวไหน โดยอาจจะใช้ framework แต่ละตัวทําโปรเจค todolist ถ้าตัวไหนทําแล้วเข้ามือก็เลือกตัวนั้นได้เลยครับ
framework ก็เหมือนเครื่องมือตัวนึงนะครับ ไม่มีตัวไหนดีที่สุด จําไว้ว่า HTML, CSS, Javascript อย่างเดียวก็สร้างเว็บเจ๋งๆ ได้เหมือนกัน
แหล่งเรียนรู้การเขียนโปรแกรม
โดยที่กล่าวถึงเป็นอันที่ผมใช้และคิดว่าดีมากๆ ครับ
website
- w3schools เหมาะกับมือใหม่มากๆ เนื้อหาเข้าใจง่าย
- developer.mozilla เหมาะกับคนที่มีพื้นฐาน ลงรายละเอียดลึก อาจเข้าใจยาก
youtube
- patiphan phengpao สอนเนื้อหาหลากหลายเข้าใจง่ายใช้เวลาไม่นาน เน้นที่ frontend
- web dev simplified สอนเข้าใจง่าย แสดงตัวอย่าง เน้นทั้ง frontend, backend
- devaslife ช่องคุณ Takuya Matsuyama ไม่เหมาะกับมือใหม่ ไม่ได้สอนแต่เน้นทําให้ดู สามารถดูได้เพลินๆ หรือจะใช้เรียนรู้ก็ได้นะ
- kevin powell เน้นเรื่อง CSS อยากเข้าใจต้องดู
- web dev junkie ทั้งสอนและลงมือทําให้ดู อยากเรียนรู้ fullstack ลองดูนะ
และยังมีอีกมากมายที่ผมใช้ ที่กล่าวมาเป็นเพียงส่วนหนึ่งครับ
ความสําเร็จไม่ได้มาภายในคํ่าคืน
จะเก่งในเรื่องต่างๆ ต้องใช้เวลา, การเขียนโปรแกรมก็เช่นกัน ผมจึงหมั่นฝึกฝนอยู่เสมอเพื่อเตรียมความพร้อม ณ ตอนนี้ผมยังไม่ได้เรื่อง แต่การฝึนตนของผมสักวันต้องเก่งขึ้นแน่ ความพยายามและความสมํ่าเสมอเป็นกุญแจสําคัญ ดังนั้นเพื่อนๆ คนไหนที่กําลังเรียนรู้เหมือนผมก็สู้ๆ ครับเรามาสําเร็จไปด้วยกันนะ