10 ปัจจัยที่ใช้เลือกภาษา Programming และ Frameworks ให้เหมาะกับ Project
24-ม.ค.-20
คัมภีร์เทพ IT
เมื่อคุณเริ่ม Software Project ใหม่ แน่นอนว่าคุณมีตัวเลือกมากมายให้เลือกใช้ สิ่งสำคัญคือการเลือกสิ่งที่เหมาะสมกับ Project ซึ่งมันจะสร้างความแตกต่างอย่างมากระหว่าง การทำ Project อย่างราบรื่น กับ การต้องเริ่มต้นใหม่ทั้งหมดอีกครั้ง ดังนั้นเรามาดู 10 ปัจจัยที่ใช้เลือกภาษา Programming และ Frameworks ให้เหมาะกับ Project ของคุณ
ภาษา Programming และ Frameworks จะทำงานร่วมกันในการพัฒนา Software ดังนั้นเพื่อความง่าย จะขอพูดถึงภาษา Programming เป็นหลัก แต่โดยรวมแล้วเป็นการกล่าวถึงทั้ง 2 สิ่ง
1. ทางออกที่เหมาะสมสำหรับปัญหาของคุณ
มันขึ้นอยู่กับปัญหาที่ Software ของคุณจะต้องแก้ไข ซึ่งบางภาษามีความเหมาะสมกว่าภาษาอื่น ๆ หากคุณกำลังสร้าง Software ทางด้านการบิน คุณจะมีความต้องการเฉพาะทางที่เกี่ยวข้องกับการตอบสนองแบบ Real-Time Reactivity และความน่าเชื่อถือ
หาก Software ของคุณถูกแจกจ่ายให้กับ End-Users คุณอาจต้องปรับมันให้เข้ากับระบบ Operating System หรือ Browser ที่พวกเขาใช้ด้วย
2. Performance
คุณต้องมี Idea ว่า Software ประเภทใดที่คุณจะต้องรับมือ ไม่ว่าจะเป็น Website, API หรือ Heavy Client ภาษาที่ใช้จะต้องมีความสามารถในการทำให้ Software ของคุณทำสิ่งที่ควรจะเป็น
พยายามคิดล่วงหน้าและวางแผนว่า คุณต้องการประสิทธิภาพแบบไหน หาก Project ของคุณอาจต้องใช้เวลาทำนาน 6 เดือน ประสิทธิภาพของผลงานคุณอาจยังไม่เต็ม 100 หลังจากทำไปแค่ 4 เดือน อย่างไรก็ตาม จงระวังตัวเองจากความต้องการเพิ่มประสิทธิภาพที่มากเกินไป จงอย่ารู้สึกว่า คุณต้องวางแผนเพื่ออนาคตที่ไม่น่าจะเป็นไปได้
3. Libraries
สิ่งหนึ่งที่คุณต้องการจากภาษา Programming และ Framework ของคุณ ก็คือ สิ่งที่ช่วยให้คุณสามารถสร้าง Features ต่าง ๆ ได้โดยไม่ต้องเสียเวลาและใช้พลังงานให้น้อยที่สุด พันธมิตรที่ดีที่สุดของคุณในสถานการณ์นี้ก็คือ Libraries
โดยทั่วไป จะมีขั้นตอนพื้นฐานในการ Develop อยู่มากมายที่คุณไม่ต้องการจะทำกับ Software ของคุณ อย่างเช่น การสร้าง Blocs จะไม่นำคุณไปสู่ Feature และมูลค่าทางธุรกิจอย่างที่คุณต้องการ มันเป็นข้อได้เปรียบในการแข่งขันหากคุณสามารถหา Blocs ที่สร้างและ Maintain ได้โดยผู้อื่น
4. การทดลองและพิสูจน์
ภาษาของคุณเป็นภาษาใหม่หรือเป็น Version ใหม่หรือไม่ คุณสามารถหาตัวอย่างของบริษัทขนาดใหญ่ ๆ ที่ใช้งานพวกมันมาเป็นเดือนหรือเป็นปี ภายใต้การใช้งานในปริมาณมาก ๆ ได้หรือไม่?
หากคุณพบบริษัทเหล่านั้นแล้ว พวกเขายังใช้ภาษานั้นอยู่หรือไม่ พวกเขาพอใจกับมันหรือไม่? ขอแนะนำคุณลองผู้คนจาก บริษัทเหล่านั้นที่พอจะสามารถพูดคุยกัน หรือเขียนเกี่ยวกับประสบการณ์ของพวกเขาในการใช้ภาษาเหล่านั้น
5. Maintenance
ในช่วงแรก Software Code ดูเหมือนจะ Clean และง่ายต่อการเขียนเพิ่มเข้าไปเสมอ แต่สิ่งต่าง ๆ ก็มีแนวโน้มที่จะเกิด Ugly Code ได้อย่างรวดเร็ว ภาษาที่คุณเลือกใช้ ควรจะช่วยให้คุณเขียน Code ที่สามารถ Maintain ได้ง่ายด้วย
การมี Code ที่คุณสามารถแก้ไขได้ง่ายและสามารถเพิ่ม Feature ใหม่ ๆ เข้าไปได้ง่าย จะช่วยให้ Project ของคุณก้าวหน้าไปอย่างรวดเร็ว
6. Community
ไม่ว่าคุณจะมีความรู้หรือประสบการณ์ในการใช้ภาษานั้น ๆ มากน้อยเพียงใด แต่สักวันคุณจะพบว่า ตัวคุณเองจะมองหาคำตอบในบางเรื่องที่คุณไม่รู้หรือไม่แน่ใจ ด้วยเหตุนี้ การมี Community ของภาษาที่คุณใช้ จึงเป็นเรื่องที่ต้องพิจารณา
จงอย่าทำให้ตัวเองตกอยู่ในสถานการณ์ที่เดินหน้าต่อไม่ได้และไม่มีทางออก เพียงเพราะไม่มีใครที่คอยช่วยเหลือคุณ
7. Skillsets ที่มีอยู่แล้วภายในทีม
หาก Project ของคุณ เริ่มต้นด้วยกลุ่มของคนที่พอจะมีประสบการณ์กับบางภาษา Programming อยู่บ้างแล้ว มันสมเหตุสมผลอย่างยิ่งที่จะเลือกภาษาที่ทุกคนมีความรู้ความชำนาญ ตราบใดที่มันเหมาะกับสถานการณ์หรือ Project ของคุณ
หากคุณไปเลือกภาษาที่ไม่มีใครในทีมรู้จักหรือเชี่ยวชาญเลย แน่นอนว่ามันย่อมกระทบกับ Project ของคุณ อย่างน้อยปัญหาแรก ก็น่าจะเป็นเรื่องของ ความเร็วในการทำ Project
8. พัฒนา Skills ที่มีอยู่ให้เชี่ยวชาญยิ่งขึ้น
Software บางส่วนอาจประกอบไปด้วยหลากหลายภาษา หากมีวิธีที่จะใช้ภาษาเดียวกันสำหรับส่วนต่าง ๆ ของ Software นั่นจะทำให้ Developers มีความเชี่ยวชาญในภาษานั้นมากยิ่งขึ้น
นอกจากนี้ วิธีการนี้ยังจะช่วยลด Cost ในการที่จะต้องสลับภาษาที่ใช้ทำงาน หรือความเชี่ยวชาญของการใช้งานภาษาที่หลากหลาย
9. ง่ายต่อการว่าจ้าง
นั่นอาจไม่ใช่ปัญหาในช่วงเริ่มต้นของ Project แต่เมื่อเวลาผ่านไป ผู้คนมากหน้าหลายตาหมุนเวียนเข้า-ออก จนอาจพบว่าคุณต้องจ้าง Developer ใหม่เพิ่มอีก หาก Project ของคุณเขียนด้วยภาษาที่เป็นที่รู้จักหรือได้รับความนิยม คุณจะสามารถหา Developer คนใหม่ได้ง่ายขึ้น
มันอาจเป็นอันตรายต่อ Project อย่างยิ่ง ถ้าคุณตัดสินใจที่จะใช้ภาษาเฉพาะทางหรือภาษาที่ไม่ค่อยมีใครเขาใช้กัน คำถามคือ จะเกิดอะไรขึ้น ถ้ามีคนในทีมออกไปจาก Project ของคุณหลายคน? คุณยังคงมั่นใจอยู่หรือไม่ว่า Project ของคุณยังคงเดินหน้าต่อไปจนเสร็จสมบูรณ์ได้
10. ความเรียบง่ายและเวลาในการทำตลาด
ในขณะที่บางภาษา อาจทำให้คุณหรือทีมสนุกกับการใช้งานหรือมี Feature อื่น ๆ ที่น่าใช้งาน พวกมันควรที่จะรองรับวัตถุประสงค์ของ Project เพียงอย่างเดียว นั่นคือการนำ Software ส่งไปยังลูกค้าของคุณในเวลาที่เหมาะสมเพื่อเป็นการเพิ่มโอกาสที่ดีที่สุด
คุณต้องชั่งน้ำหนักทุก ๆ ปัจจัยเข้าด้วยกัน แต่นั่นก็ไม่สำคัญเลย หากคุณไม่สามารถส่ง Software ไปยังลูกค้าของคุณ ในขณะที่พวกเขากำลังต้องการมันมากที่สุด
สรุป
ไม่มีวิธีการง่าย ๆ ที่จะบอกว่า มีเพียงปัจจัยใดปัจจัยหนึ่งที่สำคัญที่สุดสำหรับ Project ของคุณ มีเพียงคุณและทีมของคุณเท่านั้นที่สามารถไตร่ตรองและหาสิ่งที่ดีที่สุดในสถานการณ์ที่คุณต้องเจอได้
บางทีคุณอาจต้อง Trade-offs มัน เพราะคงยากที่คุณจะสามารถเลือกหรือทำได้ในทุก ๆ ปัจจัยข้างต้น แต่ไม่ว่าคุณจะเลือกอะไรก็ตาม จงอย่าลืมเป้าหมายหลัก และทำให้แน่ใจว่ามันเหมาะสมที่สุดสำหรับคุณ(และทีม)
ที่มา: https://medium.com/
รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert
อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ
บทความล่าสุด