พื้นฐานสำหรับ Software Developer ในยุค AI ครองเมือง
ในยุคที่เราสามารถใช้ AI ช่วยในการเขียนโปรแกรมได้แล้วนั้น การเป็น Software Developer จำเป็นต้องมีพื้นฐานอะไรบ้างในการพัฒนา Software
ทำไมพื้นฐานถึงสำคัญ
ในยุคนี้ที่ AI สามารถ generate code ในภายในไม่กี่นาที เราสามารถสร้าง program ที่สมัยก่อนต้องใช้เวลาเขียน code ทีละบรรทัดจนกว่าจะเสร็จ ซึ่งอาจจะกินเวลาเป็นเดือนหรือเป็นปี แต่เราจะมั่นใจได้ยังไงว่า AI เขียน code ได้ถูกจริงๆ หรือถึงจะเขียนถูกแล้ว เราจะมั่นใจได้ยังไงว่าพอขึ้น Production ไปแล้วมันจะไม่พัง
ในยุคก่อนคอขวดอาจจะอยู่ที่การเขียน code ที่ใช้เวลานาน แต่เดี๋ยวนี้เมื่อ AI ช่วยเขียน code ได้เร็วขึ้น คอขวดจึงตกไปอยู่ที่การ review แทน แต่เราจะ review code ที่ AI เขียนยังไงให้มีประสิทธิภาพ และสามารถรู้ล่วงหน้าได้ว่ามีอะไรผิดปกติหรืออะไรซ่อนอยู่ใน code ที่เหมือนจะสวยงามจากการเขียนของ AI ผมคิดว่าสิ่งเหล่านั้นคือพื้นฐานและประสบการณ์ในการพัฒนา Software ครับ โดยเฉพาะพื้นฐานยิ่งจำเป็นมากขึ้นในการตัดสินว่าอะไรที่ AI เขียนดีหรือไม่ดี
จากการได้อ่านบทความของ tpcoder ซึ่งผู้เขียนรวบรวมพื้นฐานหรือ fundamental ที่จำเป็นในยุค AI ได้ค่อนข้างครบถ้วน ผมจึงคิดว่าจะใช้เวลาในการเขียนถึงแต่ละหัวข้อที่อ้างอิงถึงในบทความข้างต้นอย่างละเอียดมากขึ้น เพื่อช่วยให้ผู้อ่านหรือใครก็ตามที่หลงเข้ามาอ่านได้ประโยชน์จากบทความที่ผมเขียนขึ้นครับ
หัวข้อพื้นฐานที่จำเป็นต้องรู้
จากบทความข้างต้นผมคิดว่าจะเขียนถึงรายละเอียดเกี่ยวกับพื้นฐานตามหัวข้อดังต่อไปนี้
Data Structures & Algorithms
Arrays, Hashmaps, Linked Lists, Trees, Graphs, Stacks, Queues, Complexity (Big O)
AI มักเลือกโครงสร้างข้อมูลหรือเขียน algorithm ที่ทำงานได้แต่ไม่ได้แปลว่าทำงานได้ดีเสมอไป การเข้าใจพื้นฐานตรงนี้ช่วยให้เรามองออกว่า code ที่ได้มาจะช้าลงแค่ไหนเมื่อข้อมูลโตขึ้น และตัดสินใจได้ว่าควรใช้ data structure อะไร algorithm แบบไหน
Networking
HTTP, HTTP Methods, Status Codes, Headers, TCP, DNS, TLS/HTTPS
เมื่อ service คุยกันผ่าน network การเข้าใจว่า request/response ทำงานยังไง status code แต่ละตัวหมายความว่าอะไร และ TLS ปกป้องข้อมูลยังไง ช่วยให้เรา debug ปัญหาที่ AI มักมองข้าม เช่น timeout, retry ที่ผิดจังหวะ หรือการจัดการ error จาก API ที่ไม่รัดกุม
Database
Indexes, Transactions and ACID, N+1 Problem, Query Planning, Pagination, Time-bound queries
Database เป็นจุดที่ code ดูปกติแต่พังบน Production ได้ง่ายที่สุด AI อาจเขียน query ที่ทำให้เกิด N+1 problem หรือลืมใส่ index จนช้ามากเมื่อข้อมูลเยอะ พื้นฐานตรงนี้ช่วยให้เรามองเห็นปัญหาเหล่านี้ตั้งแต่ตอน review ก่อนที่มันจะกลายเป็นปัญหาจริง
Operating System
Processes vs Threads vs Async, Race Condition, Memory (Stack and Heap), File Descriptors and Connection Limits
ปัญหาระดับ OS อย่าง race condition หรือ connection limit เป็นบั๊กที่เกิดขึ้นเฉพาะบางจังหวะและ reproduce ยากมาก AI แทบจะจับไม่ได้เพราะไม่เห็นบริบทการทำงานจริง การเข้าใจพื้นฐานตรงนี้จึงเป็นสิ่งที่แยกคนที่ debug ปัญหายากๆ ได้ออกจากคนที่ทำไม่ได้
System Design
Load Balancers, Message Queues, Caching, Failure Modes
AI เก่งเรื่องเขียน code ในระดับ function แต่ยังอ่อนเรื่องการออกแบบภาพรวมของระบบ การเข้าใจว่าเมื่อระบบต้องรองรับ load มากขึ้นควรวางโครงสร้างยังไง จะ cache ตรงไหน และระบบจะพังแบบไหนได้บ้าง เป็นสิ่งที่ต้องอาศัยประสบการณ์และการตัดสินใจของเราเอง
Design Diagram
Class Diagrams, Sequence Diagrams, ER Diagrams
เมื่อการ review กลายเป็นคอขวดใหม่ การสื่อสารด้วย diagram ช่วยให้เราและทีมเข้าใจภาพรวมของสิ่งที่ AI สร้างขึ้นได้เร็ว การอ่านและเขียน diagram เป็นได้ทั้งเครื่องมือตรวจสอบว่า design ถูกต้องก่อนลงมือ และเครื่องมือสื่อสารกับคนอื่นในทีมซึ่งจะเป็นสิ่งที่สำคัญมากขึ้นในยุคนี้ที่คอขวดไม่ได้อยู่ที่ code แต่อยู่ที่การส่งมอบ context และสื่อสารให้คนในทีมเข้าใจ
สรุป
สำหรับในยุค AI ครองเมือง สิ่งที่จะช่วยเราในการตัดสินว่า code ที่ AI เขียนมาดีหรือไม่ดีนั้นก็คือพื้นฐานและประสบการณ์ ดังนั้นการเรียนรู้พื้นฐานต่างๆตามที่กล่าวไปแล้วข้างต้นจึงจำเป็นมากขึ้นสำหรับยุค AI ในปัจจุบันนี้ครับ
สำหรับบทความนี้ก็จะพูดถึงหัวข้อพื้นฐานคร่าวๆก่อน บทความต่อไปจะเจาะไปทีละหัวข้อ พร้อมอธิบายอย่างละเอียดเกี่ยวกับพื้นฐานที่จำเป็นแต่ละหัวข้อครับ
Reference
Fundamentals? คุณต้องรู้มากแค่ไหนสำหรับ Early Career ในปี 2026
Devnote