ข้ามไปยังเนื้อหาหลัก
ProgrammerThailand

AI & Vibe Coding

Junior Developer ยุค AI: ควรฝึกทักษะอะไร

Junior Developer ยุค AI: ควรฝึกทักษะอะไร

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

พื้นฐานยังสำคัญ อาจสำคัญกว่าเดิมด้วย

ลองนึกภาพ AI เสนอโค้ดมาสองแบบ แบบหนึ่ง query ฐานข้อมูลในลูป อีกแบบใช้ eager loading ถ้าเราไม่รู้จักปัญหา N+1 query เราจะเลือกไม่ถูก หรือ AI เขียนโค้ดที่ต่อ string เข้าไปใน SQL ตรง ๆ ถ้าเราไม่รู้จัก SQL injection เราจะไม่เห็นว่ามันอันตราย

พื้นฐานที่ควรมีให้แน่นไม่ได้หมายถึงต้องท่องทุกฟังก์ชัน แต่หมายถึงความเข้าใจแนวคิดเหล่านี้

  • ภาษาที่ใช้ทำงาน เช่น PHP หรือ JavaScript: type, scope, error handling, การทำงานของ array และ object
  • HTTP และเว็บ: request/response, status code, cookie, session, การทำงานของฟอร์ม
  • ฐานข้อมูล: SQL พื้นฐาน, join, index, transaction
  • ความปลอดภัยพื้นฐาน: SQL injection, XSS, CSRF, การเก็บรหัสผ่าน (ดูหัวข้อ OWASP Top 10 ที่ owasp.org)
  • Git: commit, branch, merge, การย้อนกลับ

สิ่งเหล่านี้คือ "เครื่องมือตรวจงาน" ของเรา ยิ่ง AI เขียนโค้ดได้มาก เรายิ่งต้องตรวจงานได้เก่ง

อ่านโค้ดให้เป็น

นักพัฒนาใช้เวลาอ่านโค้ดมากกว่าเขียนอยู่แล้ว และในยุคที่ AI สร้างโค้ดได้ทีละหลายสิบบรรทัด สัดส่วนนี้ยิ่งเพิ่มขึ้น ทักษะการอ่านโค้ดที่ควรฝึก

  • ไล่ตาม flow ของ request หนึ่งตัว ตั้งแต่ route ไป controller, model, view
  • อ่านโค้ดของ framework ที่ใช้ เช่น เปิดดูว่า ActiveRecord::save() ของ Yii2 ทำอะไรบ้างข้างใน
  • อ่าน PR ของคนอื่นในทีม แม้ไม่ได้ถูกขอให้รีวิว แล้วลองตั้งคำถามว่าทำไมเขาเขียนแบบนี้
  • อธิบายโค้ดที่ AI เขียนให้ตัวเองฟังทีละบรรทัด ก่อนกดยอมรับ

กติกาง่าย ๆ ที่ใช้ได้ผล: ถ้าอธิบายไม่ได้ อย่า commit

Debug ให้เป็นระบบ

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

ฝึกขั้นตอนนี้จนเป็นนิสัย ก่อนจะถาม AI

  1. อ่าน error message และ stack trace ให้จบ ดูว่าเกิดที่ไฟล์ไหน บรรทัดไหน
  2. ทำให้ปัญหาเกิดซ้ำได้ (reproduce) ด้วยขั้นตอนที่แน่นอน
  3. ตั้งสมมติฐาน แล้วพิสูจน์ด้วยการ log หรือ debugger ไม่ใช่ด้วยการเดาแก้
  4. เมื่อแก้แล้ว อธิบายได้ว่าทำไมมันหาย

จากนั้นค่อยใช้ AI ช่วยในขั้นที่ติด เช่น "สมมติฐานของผมคือ X เพราะเห็น Y ใน log มีความเป็นไปได้อื่นอีกไหม" คำถามแบบนี้ได้คำตอบที่มีประโยชน์กว่า "ช่วยแก้ error นี้ให้หน่อย" มาก

ถามคำถามให้ดี ทั้งกับคนและกับ AI

ทักษะการถามเป็นทักษะเดียวกันไม่ว่าจะถามรุ่นพี่ ถามในกลุ่มชุมชน หรือถาม AI คำถามที่ดีมีองค์ประกอบคล้ายกัน คือบอกว่าพยายามทำอะไร ทำอะไรไปแล้ว ผลที่คาดหวังคืออะไร ผลที่ได้จริงคืออะไร และแนบโค้ดหรือ error ที่เกี่ยวข้องแบบพอดี

เป้าหมาย: บันทึกฟอร์มสมัครสมาชิกใน Yii2
ทำไปแล้ว: สร้าง model SignupForm และ action signup
คาดหวัง: กดบันทึกแล้ว redirect ไปหน้า login
ได้จริง: หน้าเดิมโหลดใหม่ ไม่มี error แสดง
ตรวจแล้ว: $model->validate() คืนค่า false แต่ $model->errors ว่าง
สงสัยว่า: rules() อาจตั้ง scenario ไม่ตรง
โค้ดที่เกี่ยวข้อง: (แนบ rules() และ action)

หลายครั้ง แค่เขียนคำถามให้ครบแบบนี้ เราก็เจอคำตอบเองก่อนจะได้ส่ง

ใช้ AI เป็นครู ไม่ใช่คนทำการบ้าน

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

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

เทคนิคที่ได้ผลคือบอก AI ตรง ๆ ว่า "ผมกำลังฝึก อย่าเพิ่งเฉลย ให้ถามนำหรือให้ hint ทีละขั้น" และอย่าลืมว่า AI ก็ผิดได้ เมื่อมันอธิบายอะไร ให้ไปตรวจกับเอกสารทางการ เช่น php.net หรือ www.yiiframework.com ด้วย

แผนฝึก 30 วัน

แผนนี้ออกแบบให้ใช้วันละประมาณ 30–60 นาที ควบคู่กับงานประจำ ปรับหัวข้อตามภาษาและ framework ที่คุณใช้ได้

ช่วงเป้าหมายกิจกรรม
วันที่ 1–7ทบทวนพื้นฐานเลือกหัวข้อวันละเรื่อง (HTTP, SQL join, index, XSS, CSRF, Git branch, error handling) อ่านจากเอกสารทางการ แล้วให้ AI ตั้งคำถาม 5 ข้อเพื่อทดสอบความเข้าใจ ตอบเองก่อนดูเฉลย
วันที่ 8–14อ่านโค้ดวันละหนึ่งส่วนของโปรเจกต์จริงหรือของ framework ไล่ flow แล้วเขียนสรุปสั้น ๆ ด้วยภาษาตัวเอง จากนั้นค่อยให้ AI ตรวจว่าสรุปถูกไหม
วันที่ 15–21Debugใช้ bug จริงจากงาน หรือให้ AI สร้างโค้ดที่มี bug ซ่อนอยู่ แล้วหาเองด้วยขั้นตอน reproduce → สมมติฐาน → พิสูจน์ จดบันทึกทุกครั้ง
วันที่ 22–28เขียนและรีวิวสร้างฟีเจอร์เล็กหนึ่งอย่าง (เช่น CRUD พร้อมค้นหา) เขียนเองก่อน แล้วให้ AI รีวิวในมุมความปลอดภัย ประสิทธิภาพ และความอ่านง่าย แก้ตามที่เห็นด้วยและจดเหตุผลข้อที่ไม่เห็นด้วย
วันที่ 29–30สะท้อนและแบ่งปันทบทวนบันทึกทั้งเดือน เขียนสรุปสิ่งที่เรียนรู้หนึ่งโพสต์ แล้วแบ่งปันในทีมหรือชุมชนนักพัฒนา

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

สรุป

  • AI ทำให้พิมพ์โค้ดง่ายขึ้น แต่ทักษะตรวจว่าโค้ดถูกหรือผิดยังต้องสร้างเอง และพื้นฐานคือเครื่องมือตรวจงานนั้น
  • ฝึกอ่านโค้ดและ debug อย่างเป็นระบบ กติกาง่าย ๆ คือถ้าอธิบายไม่ได้ อย่า commit
  • ถามคำถามให้ครบองค์ประกอบ ใช้ได้ทั้งกับคนและกับ AI
  • ใช้ AI เป็นครูที่ให้ hint และอธิบาย ไม่ใช่คนทำการบ้านแทน และตรวจกับเอกสารทางการเสมอ

ลองทำ

เริ่มแผน 30 วันตั้งแต่วันนี้ด้วยวันแรก เลือกหัวข้อพื้นฐานหนึ่งเรื่องที่คิดว่าตัวเองยังไม่แน่น เช่น database index อ่านเอกสารทางการ 20 นาที แล้วพิมพ์ใส่ AI ว่า "ผมเพิ่งอ่านเรื่อง index ช่วยตั้งคำถาม 5 ข้อทดสอบความเข้าใจ อย่าเพิ่งเฉลยจนกว่าผมจะตอบ" ตอบให้ครบ แล้วจดลงบันทึกว่าข้อไหนตอบผิดและเพราะอะไร

ติดปัญหาตอนทำตาม? ถามในชุมชน

ความคิดเห็น (0)

ยังไม่มีความคิดเห็น — เริ่มคุยเป็นคนแรก ถามสิ่งที่สงสัย หรือแชร์ประสบการณ์ของคุณ