เคล็ดลับการเรียนรู้ Tech Stack ใหม่ : ฝึกอย่างไรให้เป็นเร็ว
Feb 20, 2023
เคล็ดลับการเรียนรู้ Tech Stack ใหม่ : ฝึกอย่างไรให้เป็นเร็ว
เชื่อว่าเพื่อนๆ หลายคนที่เป็น Software Developer คงเคยมีประสบการณ์ที่ต้องเรียนรู้ Technology Stack ใหม่ๆ มาบ้าง ไม่ว่าจะเป็นตอนเริ่มเรียน ตอนเริ่มทำงาน หรือแม้กระทั่งตอนเริ่มโปรเจกต์ใหม่หลังจากที่ทำงานมาสักพักแล้ว อาจจะทำให้เกิดคำถามตามมาว่า “นี่เราต้องเรียนรู้เยอะขนาดนี้ไปเรื่อยๆ เลยเหรอ ?”
คำตอบก็คือ “ถูกต้อง” เราจะต้องทำความเข้าใจ Tech Stack ใหม่ไปเรื่อยๆ แต่ข่าวดีก็คือการเรียนรู้ Tech Stack ใหม่มันไม่ได้ยากขนาดนั้นถ้าเราใช้วิธีที่ถูกต้องและมีประสิทธิภาพ (รู้สึกดีขึ้นแล้วใช่ไหมล่ะ) การเรียนรู้อย่างถูกวิธีจะทำให้เราเป็นคนที่เรียนรู้ได้ไวมากๆ
เราเลยอยากเขียนบทความนี้เพื่อแบ่งปันเคล็ดลับเล็กๆ น้อยๆ ที่จะช่วยทุกคนให้เรียนรู้ Tech Stack แต่ละตัวได้อย่างคล่องแคล่วรวดเร็ว
ถ้าพร้อมแล้วก็อย่ารอช้า เริ่มกันเลย!!
ตัวอย่างขั้นตอนการเรียนรู้ Tech Stack อย่างมีประสิทธิภาพ
-
ระบุให้ชัดเจนถึงจุดประสงค์ที่ต้องการเอา Tech Stack ใหม่มาใช้
ขั้นตอนแรกนี้เป็นขั้นตอนที่สำคัญสุดๆ เพราะถ้าเรามีเป้าหมายชัดเจน ก็จะสามารถเลือกเครื่องมือหรือ Tech Stack ได้อย่างเหมาะสมกับงานของเรา ไม่ต้องเสียเวลาไปกับการเลือกเครื่องมือที่ผิด (ประหยัดเวลาไปอีก 🥰) ยกตัวอย่างง่าย ๆ เช่น
- Express เป็นเครื่องมือที่สร้างด้วยภาษา JavaScript ที่เอาไว้ใช้สร้าง Server และ API ฉะนั้นถ้าจะใช้ Express จุดประสงค์ก็ต้องใช้เพื่อประมวลผล Request และ Response ข้อมูลจากการ Query Database กลับไปให้ Client
- FastAPI เป็นเครื่องมือที่สร้างด้วยภาษา Python มีจุดประสงค์เพื่อใช้สร้าง Server และ API เช่นเดียวกับ Express
-
เชื่อมโยงความรู้พื้นฐานที่มีเข้ากับจุดประสงค์ของเครื่องมือที่กำลังศึกษา
เมื่อเพื่อนๆ รู้ว่าจะใช้เครื่องมือ Tech Stack ทำอะไรแล้ว ขั้นตอนต่อไปก็คือ อยากให้เพื่อนๆ ทบทวนพื้นฐานของการสร้างเว็บไซต์กันก่อน เช่น Client & Server Architecture (การทำงานร่วมกันระหว่าง Server และ Client โดยทั่วไป) สำหรับใครที่เป็นสาย Front-end Developer ความรู้พื้นฐานที่ต้องมีก็คือ
- การ Render ตัว HTML Element บน Web browser
- การ Fetch ข้อมูลจาก Server มา Render บน Web browser
- การเก็บและอัปเดต State บนหน้าเว็บไซต์
- การสร้างฟอร์ม การเก็บและการอัปเดต State ของฟอร์มบนหน้าเว็บไซต์
และความรู้อื่น ๆ อีกมากมาย ไม่ว่าจะเป็นการออกแบบประสบการณ์การใช้งานของลูกค้า (Customer Experience) หรือดูแลการแสดงผลบนอุปกรณ์ทั้งบนมือถือและคอมพิวเตอร์ เป็นต้น
หรือถ้าเป็น Back-end Developer ความรู้พื้นฐานที่ต้องมีก็จะเป็นอีกแบบที่แตกต่างจาก Front-end Developer ไม่ว่าจะเป็น
- การรับ Request จาก Client มาประมวลผล
- การส่งข้อมูลกลับไปหา Client เพื่อให้ Client นำไปประมวลผลต่อผ่าน Response
- การ Query Database
- การทำระบบการยืนยันตัวตน (Authentication)
รวมถึงต้องรู้ภาษาที่ใช้ในการเขียนโปรแกรมแบบต่างๆ เช่น Python, C#, Java, Ruby และ JavaScript เป็นต้น
💡 แนะนำ
ถ้าอยากรู้จักมากขึ้นว่า Front-end Developer และ Back-end Developer ทำงานแตกต่างกันอย่างไร เราแนะนำให้เพื่อน ๆ ลองอ่านบทความนี้ดูได้เลย
เมื่อมีความรู้พื้นฐานตามที่เราบอกแล้ว ต่อมาก็ถึงเวลาเชื่อมโยง Concept พื้นฐานเข้ากับจุดประสงค์ของเครื่องมือ
ยกตัวอย่างเช่น ก่อนหน้านี้ที่เรายกตัวอย่างว่า ทั้ง Express และ FastAPI ต่างก็เป็นเครื่องมือที่เอาไว้ใช้สร้าง Server และ APIs ดังนั้นเครื่องมือทั้งสองอย่างนี้จะมีคอนเซ็ปต์พื้นฐานหลายๆ อย่างที่เหมือนกัน (พอเรารู้แบบนี้แล้ว ถ้าเรารู้วิธีการใช้เครื่องมืออันหนึ่ง ก็จะทำให้เราศึกษาอีกอันได้ไวขึ้นกว่าเดิมมากๆ อย่างแน่นอน)
💡 แนะนำ
ในขั้นตอนนี้ ถ้าเรายังไม่เข้าใจคอนเซปต์พื้นฐานของเครื่องมือ แสดงว่าเราอาจจะยังไม่เคยเรียนคอนเซ็ปต์พื้นฐานเหล่านั้นมาก่อน ถ้าเป็นเช่นนั้นขอแนะนำว่าอาจจะต้องหาวิธีเรียนรู้เพิ่มเติม ซึ่งสามารถลองอ่านจากบทความนี้ได้เลย
-
ทดลองใช้งานเบื้องต้น โดยการอ่าน Doc ของเครื่องมือนั้นๆ เพื่อสร้างความเข้าใจพื้นฐานหรือคอนเซ็ปต์ที่สำคัญเท่านั้น
🔑 เทคนิคการอ่าน Doc คือ ให้เราเริ่มดูในส่วน “Quick Start” แล้วลองดูในส่วน “Tutorial” หรือบาง Doc ก็อาจมีส่วนของ “Learn …” ซึ่งคือส่วนที่สอนการใช้งานเครื่องมือ (แนะนำว่าตรงนี้ไม่ควรใช้เวลานานจนเกินไป)
🔴 ข้อควรระวัง
การหา Tutorial ดูแบบละเอียดยิบ หรืออ่าน Doc แบบละเอียดตั้งแต่ต้นจนจบ โดยที่ไม่ได้ลองลงมือทำจริงๆ จะทำให้เราไม่สามารถใช้งานเครื่องมือได้อย่างมีประสิทธิภาพ ดังนั้นเมื่อทำความเข้าใจคอนเซ็ปต์พื้นฐานแล้ว ก็อย่าลืมลองใช้เครื่องมือกันด้วยนะทุกคน
-
ใช้เทคนิค Problem Solving Skill
🔑 Problem Solving Skill คือกุญแจวำคัญที่จะทำให้เราเรียนรู้การใช้งานเครื่องมือต่างๆ ได้ไวแบบเดอะแฟลช
ก่อนจะแก้ปัญหาอะไรก็ตาม ให้ลองคิดก่อนว่าโจทย์ที่เราได้รับมามีเป้าหมายอะไรบ้าง มีขั้นตอนอะไรบ้างที่จะทำให้เราไปถึงเป้าหมายนั้นๆ และเครื่องมือที่เราศึกษามาจะช่วยให้เราทำขั้นตอนนั้นได้อย่างไรบ้าง
💡 Doc บางอันจะมีตัวอย่างโค้ดที่ใช้เครื่องมือไปแก้ไขโจทย์ต่างๆ ให้เลย ซึ่งเราอาจจะไปเรียนรู้จากตรงนั้นเลยก็ได้ ซึ่งจะทำให้เราเรียนรู้ได้ไวขึ้น แล้วทำงานได้ไวขึ้นเช่นกัน
สรุป
✅ Do (ควรทำ++)
-
ทำความเข้าใจเครื่องมือใน Tech Stack นั้นๆ ในขั้นพื้นฐาน
-
เชื่อมโยงคอนเซ็ปต์พื้นฐานของการพัฒนาเว็บไซต์เข้ากับจุดประสงค์ของเครื่องมือใน Tech Stack
-
ทำความเข้าใจโจทย์ และใช้เทคนิค Problem Solving Skill โดยการนำเครื่องมือมาลองใช้งาน
🔴 Don’t (อย่าทำ!!)
-
นั่งดู Tutorial ของเครื่องมือนั้นๆ ตั้งแต่ต้นจนจบ
-
นั่งอ่านข้อมูลทุกอย่างใน Doc ไม่ลองลงมือทดลองใช้งานเครื่องมือที่เราจะศึกษาก่อน
ก่อนจะจากกันไป ทาง TechUp มีหลักสูตร Full-Stack Software Development Bootcamp สำหรับคนที่ต้องการทำงานในสายนักพัฒนามาแนะนำ โดยหลักสูตรนี้จะเป็นการเตรียมความพร้อมในทักษะที่จำเป็นสำหรับการทำงานภายในระยะเวลาเพียง 4 เดือนเท่านั้น พร้อมกับมีการันตีการช่วยหางานหลังเรียนจบอีกด้วย สนใจอ่านรายละเอียดคอร์สของเราได้เลยที่นี่