2 คะแนน โดย GN⁺ 2025-03-21 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • หลายทีมฟรอนต์เอนด์มั่นใจว่าถ้า เขียนฟรอนต์เอนด์ใหม่ ก็จะ ประสบความสำเร็จ
    • แต่การเลือกเฟรมเวิร์กฝั่งฟรอนต์เอนด์เป็น การตัดสินใจทางเทคนิคที่สำคัญน้อยที่สุด ในการพัฒนาผลิตภัณฑ์ระยะยาว
    • การเสียเวลากับการเลือกเฟรมเวิร์กเป็นเรื่องไม่มีประสิทธิภาพ
  • เฟรมเวิร์กมีโอกาสสูงที่จะล้าสมัยภายใน 5 ปี
    • เพราะคอมมูนิตี้ฟรอนต์เอนด์เปลี่ยนแปลงเร็ว เฟรมเวิร์กจึงถูกอัปเดตบ่อยหรือถูกแทนที่ด้วยเวอร์ชันใหม่

แนวทางของทีมผลิตภัณฑ์ที่ฉลาด

  • ทีมผลิตภัณฑ์ที่ฉลาดจะมุ่งไปที่ ความเข้าใจเชิงลึกต่อเฟรมเวิร์กที่ใช้อยู่ในปัจจุบัน แทนการเปลี่ยนเฟรมเวิร์ก
  • การเปลี่ยนเฟรมเวิร์กเป็นกับดัก
  • สิ่งสำคัญคือการเข้าใจเครื่องมือที่ใช้อยู่ให้ลึก และทำให้แน่ใจว่ามันไม่ขัดขวางการทำงาน

คำแนะนำสำหรับวิศวกรที่กำลังหางาน

  • หากชอบเฟรมเวิร์กใดเป็นพิเศษ ก็ควรมองหางานโดยใช้สิ่งนั้นเป็นเกณฑ์
  • อย่าเข้าร่วมทีมที่มีอยู่แล้วพร้อมพยายามโน้มน้าวให้เปลี่ยนเฟรมเวิร์ก
    • เพราะสิ่งนี้ก่อให้เกิดต้นทุนสูงและความสับสนกับทีม

วิธีลดต้นทุนทางเทคนิคของฟรอนต์เอนด์

  • ควร โฟกัสที่เทคโนโลยีเว็บพื้นฐาน
  • ควรลดชั้น abstraction ที่ซับซ้อน และกลับไปเรียนรู้ความสามารถพื้นฐานของเว็บแพลตฟอร์มอีกครั้ง
  • วิธีนี้ช่วยสร้างคุณค่าได้ดีกว่าในระยะยาว
    • หากยังอยู่ใกล้กับเทคโนโลยีเว็บหลัก ก็จะจ้างวิศวกรใหม่ได้ง่าย
    • และยังรักษาประสิทธิภาพการทำงานได้โดยไม่ต้องรีแฟกเตอร์โค้ดครั้งใหญ่

กลยุทธ์จัดการอาชีพระยะยาวของวิศวกร

  • หาก เข้าใจเทคโนโลยีเว็บหลักอย่างลึกซึ้ง มูลค่าในเส้นทางอาชีพระยะยาวจะสูงขึ้น
  • อยู่รอดได้ทั้งก่อนยุค React และหลังยุค React
  • การฝึกพื้นฐานให้แน่นมีประโยชน์มากกว่าการโฟกัสแค่การเรียนรู้เทคโนโลยียอดนิยมล่าสุด
  • ความเป็นไปได้ที่จะถูกเลิกจ้างเพราะการเปลี่ยนแปลงทางเทคโนโลยียังคงมีอยู่เสมอ
    • การเสริมพื้นฐานให้แข็งแรงมั่นคงกว่าการพึ่งพาเทคโนโลยีเฉพาะอย่างใดอย่างหนึ่ง

เหตุผลที่พูดตรง ๆ ในที่ทำงานได้ยาก

  • เมื่ออยู่ในตำแหน่งบริหาร การพูดอย่างตรงไปตรงมาแบบนี้ทำได้ยาก
  • อาจถูกตั้งคำถามเรื่องแรงจูงใจ หรือเจอแรงต้านจากทีม
  • นี่คือคำแนะนำที่ตั้งอยู่บนบทเรียนจากประสบการณ์มากกว่า 20 ปี จึงเป็นคำแนะนำที่อิงความเป็นจริง

ปัญหาของระบบนิเวศฟรอนต์เอนด์

  • ระบบนิเวศฟรอนต์เอนด์ในปัจจุบันมีความซับซ้อน
  • นักพัฒนามือใหม่เรียนรู้ทักษะที่จำเป็นได้ยาก
    • พวกเขากำลังท้อแท้เพราะเครื่องมือที่ซับซ้อน
    • แม้แต่การจ้างนักพัฒนาพื้นฐานก็ยากขึ้น
  • ทักษะที่เรียนรู้ในระบบนิเวศเทคโนโลยีปัจจุบันมี abstraction มากเกินไป
    • เมื่อเทคโนโลยีเปลี่ยน สิ่งนี้อาจกลายเป็นข้อเสียอย่างมาก

ภาวะชะงักงันของเว็บและปัญหาของเครื่องมือ

  • ภาวะชะงักงันของเว็บมีสาเหตุจากความซับซ้อนของเครื่องมือ
  • นักพัฒนาอยากสร้างสิ่งที่สร้างสรรค์และยอดเยี่ยม แต่เครื่องมือกลับเป็นอุปสรรค
  • ปัญหาคือการมองว่าการเรียนรู้เทคโนโลยีเว็บพื้นฐานเป็นเรื่องไม่มีประสิทธิภาพ

มุมมองส่วนตัว

  • ผู้เขียนมีความหลงใหลในการพัฒนาเว็บมาอย่างยาวนาน
  • เว็บยังคงเป็นแพลตฟอร์มที่ทรงพลังและมีเอกลักษณ์
  • เครื่องมือพื้นฐานของเว็บแพลตฟอร์มนั้นยอดเยี่ยมมาก
  • แต่ชั้นของเฟรมเวิร์กในปัจจุบันกำลังสวนทางกับแก่นแท้ของเว็บแพลตฟอร์ม

1 ความคิดเห็น

 
GN⁺ 2025-03-21
ความคิดเห็นจาก Hacker News
  • ช่วงนี้กำลังทำงานเปลี่ยนระบบบิลด์ของโค้ด FE จาก yarn ไปเป็น pnpm

    • แม้จะเป็นวิศวกรแบ็กเอนด์ แต่ก็ทำงานกับ JS มาเยอะเหมือนกัน
    • สิ่งที่อึดอัดที่สุดเวลา做งาน FE คือแทบทุกอย่างถูกเลิกใช้งานหมด
    • ตัวอย่างเช่น ในปี 2022 เคยใช้ apollo CLI แต่ตอนนี้มันถูกยกเลิกแล้วและต้องไปเรียนรู้ graphql-client แทน
    • เวลาจะอัปเกรด dependency ระดับ patch ก็ได้แต่หวังว่ามันจะไม่ไปพึ่งพา type signature
    • สุดท้ายบิลด์ก็ผ่าน แต่มีคำเตือนว่าเลิกใช้งานแล้วเป็นร้อยรายการ
    • ดูเหมือนว่าการพัฒนา FE จะยอมรับการเปลี่ยนแปลงและการเลิกใช้งานกันง่ายเกินไป
    • ในโปรเจกต์ Rust มีการเปลี่ยนแปลงเล็ก ๆ แค่ไม่กี่ครั้งตลอด 4 ปี
    • แต่ในโลก JS รู้สึกเหมือนต้องเขียนอะไรใหม่ทุก ๆ 6 เดือน
  • ทำงานในสาย FE มาเกือบ 20 ปี และผ่านการเปลี่ยนแปลงกระบวนทัศน์มาหลายรอบ

    • คิดว่าการรู้เทคโนโลยีเว็บแกนหลักช่วยให้เป็นวิศวกรที่ทำงานได้หลากหลายมากขึ้น
    • แต่ก็ไม่แน่ใจว่านั่นทำให้ดูน่าสนใจขึ้นในตลาดงานหรือไม่
    • ถ้าอยากเพิ่มมูลค่าในตลาดให้สูงสุด ก็ต้องเชี่ยวชาญ React มาก ๆ
  • ไม่ได้เป็นนักพัฒนา FE โดยตรง แต่ใช้ React มานาน 10 ปีแล้ว

    • แม้จะมีการขยับไปทาง Svelte อยู่บ้าง แต่ React ก็ยังแข็งแกร่ง
    • การพัฒนา frontend เปลี่ยนเร็วก็จริง แต่ก็ไม่ได้แย่ขนาดนั้น
  • วิธีหลุดจากลู่วิ่งคือไม่ใช้เฟรมเวิร์ก frontend

    • ใช้ server-side rendering และใช้ JavaScript เฉพาะเมื่อจำเป็น
  • เมื่อ LLM โดดเด่นมากขึ้น ความสนใจในเทคโนโลยีใหม่ ๆ จะลดลง

    • จากประสบการณ์กับ Bevy และ Svelte ทำให้เริ่มชอบเครื่องมือที่มีอยู่แล้วมากกว่าเครื่องมือใหม่
  • การพัฒนาของ Vanilla JS และ CSS ทำให้การใช้เทมเพลต HTML จากฝั่งเซิร์ฟเวอร์และใช้ JS เฉพาะจุดที่จำเป็นมีเหตุผลมากขึ้น

    • แม้เฟรมเวิร์กอย่าง React จะยังทรงพลัง แต่การจัดการสถานะ UI บนเซิร์ฟเวอร์นั้นง่ายกว่า
  • นี่ไม่ใช่ปัญหาของ frontend อย่างเดียว แต่เป็นปัญหาของ ecosystem ขนาดใหญ่

    • ใน Java ก็เคยเจอสถานการณ์คล้ายกัน
    • ฝั่งแบ็กเอนด์ การย้ายไปภาษาใหม่เป็นปัญหาที่ใหญ่กว่า
  • ตอนเริ่มทำเว็บเคยได้ยินคนพูดถึง Svelte และ React แต่การอ่าน MDN แล้วมองข้ามอย่างอื่นไปน่าจะดีกว่า

  • ใช้ React มามากกว่า 10 ปี และไม่เห็นด้วยกับคำกล่าวที่ว่าเฟรมเวิร์กจะล้าสมัยภายใน 5 ปี

  • ทำเว็บมามากกว่า 20 ปี และพอใจกับสแตก CHAMP

    • CHAMP หมายถึง CSS, HTML, Apache, MySQL, PHP
    • การไม่ใช้เฟรมเวิร์กและยึดกับเทคโนโลยีเดิมทำให้รู้สึกพอใจ