อยากเรียนรู้ Tech Stack ใหม่ ๆ ต้องทำอย่างไร?

Tanyathorn Khunapinya
Muze Innovation
Published in
2 min readMay 12, 2023

อยากเรียนรู้ Tech Stack ใหม่ ๆ ต้องทำอย่างไร? และจำเป็นสำหรับ Developer หรือไม่? สรุปแนวคิดเรื่องการศึกษาเทรนด์ที่กำลังมา พร้อมคำแนะนำสำหรับสายเทคที่อยากอัปเดตเทรนด์ต่าง ๆ โดยคุณพีท — กิตติพัฒน์ (Kittiphat Srilomsak) CTO ของ Muze Innovation

คุณพีท — กิตติพัฒน์ ศรีหล่มสัก CTO แห่ง Muze Innovation

เริ่มจาก Tech Stack คืออะไร?

คุณพีทอธิบาย Tech Stack แบบย่อว่า คือ Library, Framework, API, หรือแม้กระทั่งตัวภาษาเอง ที่ Dev นำมาประกอบร่างในการพัฒนาซอฟต์แวร์ชิ้นหนึ่งขึ้นมา เราสามารถแบ่ง Tech Stack แบบกว้าง ๆ ได้เป็น 3 ส่วนประกอบหลัก คือ

(1) Persistent — คือฐานข้อมูล (Database) ส่วนนี้ใช้ในการเก็บข้อมูลเอาไว้ เวลาที่มีข่าวบอกว่า Data Leak หรือข้อมูลหลุด มันก็คือหลุดมาจากตรงนี้

(2) Application — คือตัวประมวลผลข้อมูล อันนี้อาจจะใช้ในการประมวลผลข้อมูลจาก User หรือ ข้อมูลที่บันทึกไว้ใน Persistent ก่อนก็ได้ หรือแม้กระทั่งไปเอาข้อมูลจากแหล่งอื่น มาประมวลผลตามคำสั่งของ User ตรงนี้คือส่วนที่ Dev ส่วนใหญ่ มาใช้เวลาเขียนกันครับ

(3) Outlet — อันนี้เราเรียกกันสั้น ๆ ว่าหน้าบ้าน ส่วนนี้จะรับผิดชอบการ Interact กับ User ทั้งแสดงผล และรับข้อมูลจาก User เข้ามา เพื่อไปเรียกส่วน Application หลังบ้านให้ทำงานต่อ

ซึ่งแต่ละส่วนก็จะเป็นการผสมผสานการทำงานระหว่างภาษาที่ใช้เขียนโปรแกรม, Framework และ Library ซึ่งจะมีมาตรฐานหรือ Pattern ในการใช้งานที่แตกต่างกันไป รวมไปถึงการออกแบบ UX/UI ซึ่ง Dev ก็จะประเมินตามความเหมาะสมว่าควรใช้อะไร เพื่อให้ได้ผลลัพธ์ที่มีประสิทธิภาพสูงสุด

คุณพีทมองว่า ข้อได้เปรียบสำหรับ Dev ที่อัปเดตความรู้เรื่อง Tech Stack อย่างสม่ำเสมอก็คือ

(1) ได้เรียนรู้แนวคิดที่หลากหลาย จากแหล่งข้อมูลต่าง ๆ ว่ามีวิธีการอย่างไร หลาย ๆ ครั้งที่เราไปลองดู Framework อื่น ๆ เราก็จะได้เพิ่มพูนความรู้มากขึ้นด้วย

(2) สามารถแนะนำลูกค้าได้ว่า อะไรเป็นสิ่งที่ควรใช้ อะไรที่เราควรหลีกเลี่ยงสำหรับการสร้าง Product ที่ลูกค้าต้องการ

(3) หากไม่ศึกษาเลย จะมีปัญหาในระยะยาว เพราะ Tech Stack ที่เราใช้อยู่ อาจล้าสมัยในช่วงเวลานั้นไปแล้ว คนอื่นเขาอาจจะเปลี่ยนไปใช้อย่างอื่นแทน ซึ่งจะทำให้ตัว Dev เองพัฒนาได้ไม่เท่าทัน กว่าจะรู้สึกก็ต้องใช้เวลาปรับตัวมากกว่าคนอื่น

แล้วจริงหรือไม่ที่เราควรอัปเดต Tech Stack ใหม่ทุก 3–5 ปี?

คุณพีทมองว่าอาจจะไม่ได้จำเป็นต้องเปลี่ยนตลอดครับ แต่ต้องคอยดูเทรนด์ว่าอะไรกำลังมา? ภาษาไหนกำลังถูกนำมาใช้? Framework ที่เราใช้อยู่เก่าไปแล้วหรือยัง? ซึ่งเราควรลงทุนศึกษา Framework ที่ให้แนวคิดใหม่กับเรา

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

นอกจาก AI ที่กำลังเป็นกระแสในตอนนี้ มีเทคโนโลยีอะไรบ้างที่น่าจับตามองสำหรับคุณพีท

(1) Supabase — Database ที่สามารถเข้ามาแทนที่ Firebase ของ Google

(2) Vector Database — Database ที่มีเทคนิคการเสิร์ชข้อมูลแบบ AI สามารถใช้เสิร์ชรูปได้

(3) Rust — ภาษา High Level ที่ให้ผลลัพธ์แบบ Low Level และไม่จำเป็นต้องพึ่ง Garbage Collection!

(4) Leptos — Library ที่ทำ WebAssembly (WASM) เขียนด้วย Rust

(5) Svelte — Compiler สำหรับการสร้าง Reactive UI ที่ไม่ใช้ Virtual DOM

สุดท้าย คุณพีทมีวิธีการติดตามเทรนด์เหล่านี้อย่างไร?

มีทั้ง Blog, หรืองาน Conference อย่าง Firebase, Google I/O ก็ดีครับ แต่ส่วนตัวคิดว่า ง่ายที่สุดคือ YouTube กินข้าวไปนั่งฟังไปก็เพลินดีเหมือนกัน แถมได้ภาษาอังกฤษไปในตัวด้วย ซึ่งคุณพีทมีแนะนำช่องของ Dev เก่ง ๆ ให้ติดตามเทรนด์ใหม่ ๆ ไว้ด้วยนะ แวะไปดูกันได้เลย

https://www.youtube.com/@ThePrimeTimeagen
https://www.youtube.com/@NeetCode
https://www.youtube.com/@Fireship
https://www.youtube.com/@9arm

--

--