See the original English version of this article here
เราทุกคนต่างมีข้อผิดพลาดกันได้ และสิ่งนี้เป็นวิธีที่ดีและมีประสิทธิภาพที่สุดในการเรียนรู้ เติบโต และสร้างประสบการณ์ คุณสามารถปรับปรุงตัวเองได้ หากคุณเรียนรู้จากความผิดพลาดของคุณ บทความนี้ได้รวบรวม 5 ข้อผิดพลาด ที่ควรหลีกเลี่ยง ในฐานะ Web Developer โดย คุณ Afan Khan
คุณ Afan Khan ได้เห็น 5 ข้อผิดพลาดนี้ ที่ Back-end Engineers ส่วนใหญ่มักทำตลอดอาชีพ Software Engineering ของพวกเขา มาดูกันว่ามีอะไรบ้าง
ข้อผิดพลาด #1
หนี้ทางเทคนิค (Technical Debt) หรือ การออกแบบที่ซับซ้อนเกินความจำเป็น (Over-engineering) ถือเป็นเรื่องปกติใน Software Development เลยก็ว่าได้ บ่อยครั้งที่ Developers จะไปโฟกัสทางด้านเทคนิคแทนที่จะโฟกัสว่า User จะใช้ Application อย่างไร ดังนั้น การทำตาม Requirement ไม่ควรเขียน Code ขึ้นมาเองก่อน แต่ Back-end Engineers ควรจะเลือกใช้เทคโนโลยีให้สอดคล้องกับ Requirements ซึ่งสามารถหลีกเลี่ยงความซับซ้อนที่ไม่จำเป็นและสามารถลดต้นทุนได้
ผู้ที่เพิ่งเริ่มต้นส่วนใหญ่มักเจอกับความผิดพลาดนี้ เนื่องจากพวกเขายังใหม่ในวงการนี้ พวกเขาไม่รู้ว่าเทคโนโลยีใดจะให้บริการอย่างมีประสิทธิภาพแก่ User พร้อมทั้งลดภาระทางเทคนิคไปด้วย ซึ่งความจริงแล้ว Application จะช้าสำหรับ End User ก็ต่อเมื่อต้องใช้เทคโนโลยีและการประมวลผลที่มากขึ้น
โดยส่วนใหญ่ผู้ที่เพิ่งเข้ามาในวงการนี้ ไม่ว่าจะอยู่ในสาขาไหน มีงานอดิเรกแบบไหน หรือเป็นคนนิสัยแบบไหน ต่างก็มักจะทำให้กระบวนการนี้มีความซับซ้อนมากเกินไป เกือบทุกคน แต่อย่างไรก็ตาม Seniors จะลดความซับซ้อนและต้นทุน ในขณะที่ใช้เทคโนโลยีน้อยลง เพื่อประหยัดเวลาใน Development และ User Time
นอกจากนี้ หนี้ทางเทคนิคยังรวมไปถึง Code ที่ไม่สามารถอ่านได้ การเขียนตรรกะที่ Engineers คนอื่นสามารถเข้าใจได้ คือ กฎข้อแรกของ Development หมายถึงการใช้ Industry-standard Techniques และ Coding Standards หรือการเขียน Variables ในรูปแบบ CamalCase
ผู้ที่เพิ่งเริ่มต้นจะรู้สึกภาคภูมิใจ เมื่อพวกเขาใช้ทุกสิ่งทุกอย่างที่สามารถทำได้ และเมื่อเวลาผ่านไป สิ่งที่พวกเขาทำจะกลายเป็นเรื่องที่น่าปวดหัว เนื่องจากพวกเขาทำให้ Application ช้าลง จนต้องถึงมือ Seniors โดย Seniors ต้องปรับโครงสร้าง Code ใหม่ และนั่นเป็นงานที่เสียเวลามาก โดย Testing Requirements และโอกาสที่จะเกิด Bugs จะเพิ่มสูงขึ้น เมื่อมี Code ที่มากขึ้น ดังนั้น พยายามเขียน Code ให้น้อยลงและหาวิธีที่มีประสิทธิภาพสูง จะสามารถช่วยให้งานผ่านไปได้ด้วยดี
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ ขอแนะนำว่าให้เก็บความภาคภูมิใจไว้ก่อน และเลือกเฉพาะเทคโนโลยีที่จำเป็นและได้ Industry Standards ที่ดีที่สุด คุณ Afan ทำข้อผิดพลาดนี้ เมื่อเขาเริ่มเรียนรู้ Front-end Frameworks และ Libraries ส่งผลให้มี Code เยอะเกินความจำเป็น ทำให้เกิด Bug มากมาย และมีค่าใช้จ่ายในการปรับโครงสร้างใหม่มหาศาล ดังนั้น ปฏิบัติตาม DRY, KISS หรือ YAGNI Standards เถอะ
ข้อผิดพลาด #2
คุณ Afan ใช้เงินไปกับการเรียนรู้ React จาก Udemy เขาจำเป็นต้องใช้ทักษะเหล่านั้นและสร้าง Application ด้วย React ทุกตัว (ซึ่งความจริงแล้วไม่ถูกต้อง) จงจำไว้ว่า อย่าใช้เทคโนโลยี หรือ Libraries หรือ Frameworks เดียวกันในทุก ๆ งาน การเลือก Frameworks ขึ้นอยู่กับปัญหาที่คุณกำลังแก้ไขต่างหาก
React + Vite อาจใช้ได้กับ Intermediate Web Applications แต่ก็อาจไม่ใช่ตัวเลือกที่ดีที่สุด สำหรับ Performance-oriented Applications ดังนั้น เพื่อเพิ่มประสิทธิภาพควรเปลี่ยนไปใช้ Framework อื่น เช่น SolidJS, NextJS หรืออื่น ๆ เพราะ Framework ที่แตกต่างกันอาจนำเสนอคุณลักษณะด้านประสิทธิภาพที่ดีกว่า และการเลือกเทคโนโลยีควรสอดคล้องกับข้อกำหนดด้านประสิทธิภาพเฉพาะของ Application ที่กำลังพัฒนา
ดังนั้น ขึ้นอยู่กับงานที่คุณได้รับ เปลี่ยนเทคโนโลยีที่คุณใช้ รักษาความเชี่ยวชาญในภาษาที่เลือก เช่น JavaScript และคอยเปลี่ยนเทคโนโลยีอยู่เสมอ อย่ายึดติดกับเทคโนโลยีใดเทคโนโลยีหนึ่ง เพราะมันจะจำกัดความสามารถในการเรียนรู้ของคุณ และอาจทำให้ Application ของคุณจะมีปัญหา ซึ่งในภายหลังคุณต้องเปลี่ยนเทคโนโลยีที่ใช้ ดังนั้น เลือกเทคโนโลยีให้เหมาะสมที่สุดตั้งแต่แรก
ข้อผิดพลาด #3
บุคคลที่มีเจตนาไม่ดี และมีเทคนิคที่ร้ายแรงในการโจมตีฐานข้อมูลของคุณ และขโมยข้อมูลสำคัญ ซึ่ง SQL Injection คือ การโจมตีที่ระบบฐานข้อมูลของ Web เป็นปัญหาที่พบได้เยอะและบ่อยที่สุด คำถามคือ คนส่วนใหญ่ยังตกหลุมพรางมันอยู่อีกไหม? คำตอบคือ ใช่!
อาจเกิดได้จากหลายสาเหตุ ตัวอย่างเช่น Seniors อาจเขียน Code ที่มีมาตรการรักษาความปลอดภัยเพื่อป้องกันการโจมตีแบบ SQL Injection แต่ Juniors อาจไม่ได้ตระหนักถึงความซับซ้อนและความเสี่ยงด้านความปลอดภัยที่อาจเกิดขึ้นในด้านการป้องกัน SQL Injection
ในปี 2022 การโจมตีในรูปแบบ SQL Injection มีสูงถึง 33% ซึ่งเป็นอันดับ 1 ของช่องโหว่โดยรวมที่เกิดขึ้นใน Web Applications โดยการโจมตี SQL Injection ผู้โจมตีจะจัดการช่องป้อนข้อมูล โดยการแอบใส่ Strings ที่เป็นอันตรายซึ่งเชื่อมโยงกับคำสั่ง SQL และนำไปสู่ผลลัพธ์ที่อาจคาดไม่ถึง โดยผู้โจมตีจะสามารถเข้าถึงฐานข้อมูลที่ไม่ได้รับอนุญาต และสามารถรันคำสั่ง Data Manipulation Language (DML) ได้
เพื่อหลีกเลี่ยงข้อผิดพลาดนี้ ควรส่ง Parameters ที่จำเป็นเฉพาะภายใน Queries แทนที่จะใช้ Parameters ทั่วไปหรือกว้างเกินไป ด้วยการส่ง Parameters ที่แม่นยำ อย่าสร้าง Standard Query สำหรับทุก ๆ Operation เพื่อลดงานของคุณ (แต่กลับต้องรับสายตอน 02.30 น. นะ) จะเป็นการดีกว่าที่จะกระจายหรือกระจายข้อมูลไปยังหลายฐานข้อมูล
ดังนั้น การกระจายความเสี่ยง เป็นกุญแจสำคัญ ให้ดำเนินการตรวจสอบ Code และ Validate แต่ละ String โดยเฉพาะ String ที่ต่อกันขณะดำเนินการ แนะนำให้สร้างและดูแลรักษา การสำรองข้อมูลของฐานข้อมูลที่ใช้งานจริงเป็นประจำ
ข้อผิดพลาด #4
คุณเป็นคนที่เน้นความสวยงามมากกว่าการใช้งานหรือไม่? มันเป็นข้อผิดพลาดที่พบได้มากสำหรับ Developers มือใหม่ ซึ่งมักจะให้ความสำคัญด้านเทคนิคมากกว่าการทำความเข้าใจความต้องการของ User จึงส่งผลให้เกิดการออกแบบที่ซับซ้อนมากเกินไป แม้ว่า UX/UI อาจดูสวยงามในระหว่างการพัฒนา แต่ปัญหาอาจเกิดขึ้นในระหว่างการทดสอบ
มูลค่าการซื้อขายทางธุรกิจอาจลดลง เมื่อ User Interface มีความซับซ้อนและ User ไม่คุ้นเคย เนื่องจาก User ส่วนใหญ่มักจะประสบปัญหาในการใช้ Application ที่มีความซับซ้อนในการออกแบบ โดยทั่วไป User ต้องการความเรียบง่าย ความคุ้นเคย ดังนั้น ความสำคัญของการออกแบบ Interface คือ ต้องสอดคล้องกับพฤติกรรมของ User และใช้งานได้ง่าย
Users จะไม่ใช้ Application ของคุณ หากคุณบังคับให้พวกเขาเรียนรู้รูปแบบใหม่ มนุษย์คุ้นเคยกับรูปแบบเฉพาะที่สร้างโดยนักออกแบบรุ่นก่อน ๆ ซึ่งสำหรับคนรุ่นใหม่คุณอาจเปลี่ยนนิสัยของพวกเขาได้ แต่ Users ส่วนใหญ่จะไม่เปลี่ยนนิสัยของพวกเขาอย่างแน่นอน
ดังนั้น การออกแบบและสร้างเพื่อคนหมู่มาก ควรหลีกเลี่ยงข้อผิดพลาดนี้ด้วยการสร้าง Interface โดยใช้มาตรฐานและรูปแบบหรือพฤติกรรมที่ User มีอยู่ เพื่อให้ User ซื้อผลิตภัณฑ์ของคุณ โดยใช้ความพยายามเพียงเล็กน้อย ยกตัวอย่างเช่น Social Media ได้สร้างวิธีแก้ปัญหาสำหรับข้อผิดพลาดนี้แล้ว และนั่นก็คือเหตุผลที่ทำไมคนถึงติด Social Media กันขนาดนี้
ข้อผิดพลาด #5
Developers ควรคำนึงถึงความสามารถในการขยายขนาดตั้งแต่เริ่มต้น เพื่อหลีกเลี่ยงความจำเป็นในการปรับโครงสร้างใหม่ และใช้เวลาในการพัฒนาที่เพิ่มขึ้นในอนาคต เพื่อป้องกันการทำงานที่ไร้ประสิทธิภาพ, Bugs, Errors ที่อาจเกิดขึ้นจากการที่ไม่จัดการกับข้อที่ควรพิจารณาเกี่ยวกับความสามารถในการขยายตั้งแต่เนิ่น ๆ ใน Development Process
ให้เลือกเทคโนโลยีตั้งแต่เริ่มต้นที่สามารถแก้ไขปัญหา และสามารถปรับขนาดได้ตามความต้องการในอนาคตที่คาดการณ์ไว้ เช่น การใช้ React สำหรับงานเฉพาะด้านประสิทธิภาพในอนาคตหรือไม่? คำตอบคือ ไม่ ทำให้ไม่สอดคล้องกับแผนการกระจายความเสี่ยงในอนาคต ดังนั้น จะดีกว่าถ้าเลือกใช้เทคโนโลยีอื่นตั้งแต่ต้น
Back-end Engineers ส่วนใหญ่ใช้เทคโนโลยีชุดเดียวกัน สำหรับทุกปัญหา ซึ่ง Developers ไม่ได้คำนึกถึง Traffic และ Data Transactions ที่อาจเกิดขึ้นในอนาคต ในปี 2013 Hackers ใช้ประโยชน์จาก Codebase ของ Snapchat ที่ปรับขนาดได้ไม่ดีและเข้าถึงข้อมูลของ Users หลายล้านคน คุณไม่ต้องการให้สิ่งนั้นเกิดขึ้นใช่ไหม?
เลือกเทคโนโลยีที่สามารถปรับขนาดได้ และเพิ่มประสิทธิภาพ Code ของคุณต่อไป สิ่งเหล่านี้จะช่วยลดเวลาและต้นทุนในการพัฒนาในอนาคตได้
และทั้งหมดนี่ก็คือ 5 ข้อผิดพลาด ที่ควรหลีกเลี่ยง ในฐานะ Web Developer
เมื่อ หางาน IT ให้ ISM Technology Recruitment เป็นอีกหนึ่งตัวช่วย เพื่อให้คุณได้ “ชีวิตการทำงานในแบบที่คุณต้องการ” เพียงส่ง Resume มาที่นี่
ISM เชี่ยวชาญในธุรกิจ IT Recruitment & IT Outsourcing โดยเฉพาะ ได้เปิดทำการมาแล้วกว่า 30 ปี มีพนักงานทุกสายและทุกระดับทางด้าน IT ที่ได้ร่วมงานกับลูกค้าองค์กรใหญ่ที่มีชื่อเสียงและบริษัทข้ามชาติมากมาย