คุณจบบทเรียน Rails ไปแล้วหลายบท อาจเรียนคลาสดู screencasts ไปบ้าง สร้างแอปตามบทเรียนเสร็จแล้ว ชัดเจนว่าเวลาแล้วที่จะเลveled up ไปสู่ระดับกลางในการพัฒนา Rails
แต่ไม่รู้ทำไมคุณก็ติดอยู่ มีหนังสือ คลาส และวิดีโอเยอะมากสำหรับมือใหม่ แล้วทุกorial สำหรับนักพัฒนา Rails ระดับกลางอยู่ไหน?
ไม่เหมือนเดิมอีกต่อไป
ผ่านขั้นมือใหม่ "สร้างพื้นฐานความรู้" แล้ว ทรัพยากรจะแห้งแล้ว ทำไมล่ะ?
การเป็นนักพัฒนา Rails ระดับกลาง ต่างห่าง จากการเป็นมือใหม่ อาจดูแค่ยากขึ้นนิดหน่อย มีรายละเอียดเพิ่ม แต่จริงๆ การเรียนรู้ระดับกลางเป็นกระบวนการที่แยกต่างหาก לגמרי
อย่าคิดว่า "มือใหม่รู้นี้ มือกลางรู้นั้น mieux บวกอะไรเพิ่ม" สำหรับมือกลาง การเรียนรู้มีโฟกัสมากขึ้น แทนที่จะรู้นิดหน่อยหลายอย่าง คุณจะรู้รายละเอียดมากเกี่ยวกับน้อย
หาพื้นที่ไม่กี่แห่งมาโฟกัส เรียนรู้ testing และ TDD ลึกเรียนรู้ design patterns ที่ Rails สนับสนุน เรียนรู้การออกแบบ data model ที่ดี แต่มอเรียนรู้ทั้งหมดพร้อมกัน เรียนรู้อย่างละอย่าง รู้จริง
เข้าใจพื้นฐาน Rails แล้ว คุณจะอ่าน API docs ได้ แม้ยังไม่เข้าใจหมด ก็อ่านหนังสือ TDD ดีๆ ได้ แม้ไม่ได้เขียนสำหรับ Rails เฉพาะเจาะจง หลังเห็น Ruby code พอสมควร คุณจะ source-diving เข้าใจ Rails ในระดับที่น้อยคนทำได้
เมื่อโฟกัสเรียนรู้อย่างเดียวจนเก่ง ทรัพยากรจะเยอะขึ้น และทุกอย่างที่เรียนรู้จะทำให้อะไรอื่นเรียนง่ายขึ้น
(ถ้าดูคนเรียนภาษาที่ 3-4 ง่าย นี่คือเหตุผลหนึ่ง คอนเซปต์หลักเหมือนกัน เหลือแค่เรียนรู้น้อยลงในระดับกลาง)
จะเลือกเรียนอะไรต่อดี?
ถ้าเรียนทีละอย่าง ต้องเลือกโฟกัสก่อน แต่เลือกยังไงเวลามีอะไรมาก?
เรียนรู้ง่ายกว่าตอนสนใจสิ่งนั้น ไม่ผิดหรอก สิ่งดีที่สุดบังคับให้สนใจเรียนรู้ใหม่คืออะไร?
เขียนแอปของตัวเอง! เยอะๆ เขียน แก้ เพิ่มฟีเจอร์ในแอปเดิม
ตอนเขียนแอป คุณจะติด มาก แต่นั่นดี! ควรรักความติดเพราะมันบ่งบอกว่ากำลังจะเรียนรู้ใหม่ การติดเป็นสิ่งดี ยิ่งเพลิดเพลิน ยิ่งหาโอกาสติด ยิ่งเร็วขึ้นเป็นผู้เชี่ยวชาญ
ค้นคว้า เรียนรู้ เขียนโซลูชัน แล้วลองทำอีกครั้งในแอปอื่น ลองเขียนโดยไม่ดู docs จริงๆ เรียนรู้ให้ลึก แล้วต่อยอดแอป ดูจุดติดถัดไป
ผมชอบวิธีนี้ เพราะโฟกัสที่เจอบ่อยที่สุด เรียนรู้เร็ว เพราะไม่ได้เรียนแค่เรียน แตแก้ปัญหาจริง แม่ๆ นี่คือเหตุผลที่เรรักพัฒนาซอฟต์แวร์ตั้งแต่แรกเลยไหม?
แต่เรียนไม่หมดแบบนี้
เข้าใจพื้นฐาน Rails แล้ว เรียนรู้ได้แบบโชคดี (serendipitously) เข้าใจมือกลาง-มืออาชีพพูดอะไร ก็จะเข้า conversation น่าสนใจนำไปเรียนรู้ต่อ
ตอนผมเรียนจบระดับต้น ผม subscribe blogs เยอะ follow ผู้นำชุมชน Twitter subscribe newsletter อย่าง RubyWeekly, iOS Dev Weekly, JavascriptWeekly
อ่านไม่หมด ไม่ต้องอ่านหมด แต่ให้ข่าวดีมาถึงเรา อ่านติดตามที่น่าสนใจ ผมเรียนเคล็ดลับดีเยอะแบบนี้ นำไปสู่หัวข้อดีที่อาจเจอมากกว่านี้
จะเรียนอะไรต่อ?
ติดเพราะหาทรัพยากรมือกลางไม่เจอ ให้ควบคุมการเรียนรู้เอง สร้างแอป สังเกตการสร้าง ลองทำอย่างครึ่งเชื่อ จุดติด ใช้จุดติดหา API docs guides tutorials ส่วนนั้น source-diving ก็ได้ (แปลกตอนแรก แต่มอง Rails code มากขึ้น ยิ่งสบาย)
เข้าใจส่วนเล็กๆ จนเป็นผู้เชี่ยวชาญ แล้วค่อยไปอย่างต่อไป