เจาะมุมมองการเลือก Tech Stack สำหรับสตาร์ทอัพยุคใหม่กับ RentSpree
แน่นอนว่า บริษัทที่เกี่ยวข้องกับเทคโนโลยี ต้องมีเครื่องมือเทคโนโลยีมาช่วยเป็นแกนหลักของบริษัท และนั่นก็ทำให้ Tech Stack หรือชุดของเทคโนโลยี มีความสำคัญต่อธุรกิจและการสร้างนวัตกรรมใหม่ๆ ออกมา
ทั้งนี้ Tech Stack ไม่เพียงแต่ช่วยให้ธุรกิจหรือสินค้าของเราพัฒนาไปในทางที่ดีขึ้น แต่ยังช่วยเพิ่มความโดดเด่นทางธุรกิจ ทำให้ธุรกิจของเราเป็นที่รู้จักและก้าวนำคู่แข่งได้ ทั้งยังช่วยลดภาระงานของเราให้น้อยลง และจัดการงานต่างๆ ของคนในทีมให้มีประสิทธิภาพมากยิ่งขึ้นอีกด้วย สตาร์ทอัพหลายๆ แห่ง จึงมักเสาะหาและใช้เวลาในการเลือกใช้ชุดเทคโนโลยีดังกล่าวนี้ ให้เหมาะสมกับองค์กรมากที่สุด ทั้งนี้ก็เพื่อให้การขับเคลื่อนธุรกิจและการสร้างนวัตกรรมดำเนินควบคู่กันไปอย่างมีประสิทธิภาพ
สำหรับบทความนี้ คุณพศวีร์ เวชพาณิชย์ CTO ของ RentSpree ซึ่งเป็น Prop-Tech Startup ฝีมือคนไทย ที่ไปเจาะตลาดในสหรัฐอเมริกา มาเล่าถึง Tech Stack ที่บริษัทเลือกใช้งาน รวมถึงความสำคัญของกระบวนการตัดสินใจว่าควรเลือกเทคโนโลยีแบบไหนหรือเลือกอย่างไรให้เข้ากับองค์กร
RentSpree เป็นสตาร์ทอัพที่พัฒนาแพลตฟอร์มการเช่าอสังหาริมทรัพย์ เพื่อเชื่อมต่อระหว่างเจ้าของอสังหาฯ, ตัวแทนให้เช่า (นายหน้า), และผู้เช่า โดยให้บริการตั้งแต่ตรวจสอบประวัติผู้เช่าบ้าน หรือที่อยู่อาศัยในสหรัฐฯ จนไปถึงขั้นตอนการทำสัญญา และชำระค่าเช่าบ้าน และเมื่อปลายในเดือนกรกฎาคมที่ผ่านมา บริษัทได้รับเงินลงทุน ในรอบ Series A จากกลุ่มนักลงทุนนำโดย 645 Ventures มูลค่ากว่า 8 ล้านดอลลาร์สหรัฐฯ หรือประมาณ 250 ล้านบาท
คุณพศวีร์ เล่าว่า Tech Stack ถือว่าเป็นส่วนสำคัญต่อการขับเคลื่อนธุรกิจ เพราะเป็นเครื่องมือที่จะช่วยให้บริษัทสร้างธุรกิจ สินค้าหรือการบริการออกมาได้ แต่ในความเป็นจริงแล้วสตาร์ทอัพแต่ละแห่งไม่จำเป็นต้องมี Tech Stack ชุดเดียว แต่สามารถเปลี่ยนชุดเทคโนโลยีได้เมื่อเวลาเปลี่ยนไป ทั้งนี้ขึ้นอยู่กับความเหมาะสมของ Product หรือ Business Goal ที่เปลี่ยนแปลงไปด้วย ตัวอย่างที่เห็นได้ชัดคือ Facebook ที่ตอนเริ่มต้นก็ใช้ PHP ที่นิยมใช้กันทั่วไป แต่หลังจากนั้นก็มีการย้ายไปใช้ Big Data เมื่อมีฐานผู้ใช้งานมากขึ้นจนเทคโนโลยีแบบเดิม ไม่สามารถรองรับได้อีกต่อไป
เงื่อนไขอื่นๆ ของการเลือก Tech Stack มีอีกหลายปัจจัย ไม่ว่าจะเป็นเป้าหมายทางธุรกิจในช่วงเวลาที่เลือก, กลุ่มเป้าหมายของทีมงานที่กำลังสร้าง, วัฒนธรรมองค์กร, หรือแม้กระทั่วตัวสินค้าหลักที่จะสร้างเป็นอะไร
คำแนะนำสำหรับสตาร์ทอัพช่วงตั้งบริษัทแรกๆ คือเลือกใช้ Tech Stack ในสิ่งที่ทีมงานมั่นใจว่าจะสร้าง Product ออกมาได้เร็วที่สุด ทำ Product เพื่อสร้างคุณค่าให้กับผู้ใช้ได้ก่อน แต่ในระยะหลังจากนั้น เงื่อนไขสำคัญอย่างหนึ่งที่ควรนำมาพิจารณาคือการขยายทีม การเลือก Tech Stack ที่มีความนิยมอยู่แล้วในตลาด ทำให้หาทีมงานได้ง่ายขึ้น
RentSpree เลือกใช้ Frontend เป็น React และ Backend เป็น Node.js/Express เพื่อให้เป็น JavaScript ทั้งสองฝั่ง ไม่ต้องแยกทีมโปรแกรมเมอร์ตามภาษาที่ใช้ โดยตอนที่เริ่มเลือกก็มีความเสี่ยง เพราะยังมีคนใช้ไม่มากนัก แต่ RentSpree เชื่อว่าเทคโนโลยีทั้งสองตัวมีแนวโน้มจะได้รับความนิยมในอนาคต จึงตัดสินใจเลือกสองตัวนี้
แต่ช่วงหลัง เริ่มมีงานที่เป็น Microservice มากขึ้น มีความต้องการฟีเจอร์อื่นๆ เช่น Logging, Authentication, หรือ Tracing ทีมงานก็เตรียมจะเปลี่ยนไปใช้งาน KrakenD ที่ประสิทธิภาพดีกว่า
ส่วนกระบวนการพัฒนา RentSpree ใช้แนวทาง Agile เพราะซอฟต์แวร์ที่พัฒนามีความเปลี่ยนแปลงบ่อยครั้ง กระบวนการควบคุมคุณภาพโค้ดอาศัยการทำ TDD และ Code Review ภายในทีม รวมไปถึงใช้เครื่องมืออย่าง GitLab CI สำหรับ Build/Test/Code Quality เพื่อเพิ่มความเร็วและทำให้ Process เป็นไปอย่างอัตโนมัติ โดยมี Code Climate มาควบคุมคุณภาพโค้ดไว้อีกขั้น แนวทางนี้ทำให้กระบวนการทำงานมีประสิทธิภาพ Build โค้ดออกมาได้อย่างรวดเร็วและมีคุณภาพ
สำหรับการจัดการ Deployment ทาง RentSpree ระบุว่าตอนนี้ระบบยังไม่ซับซ้อนนัก จึงใช้ Helm สำหรับจัดการ โดยมีเทมเพลตสองชุดสำหรับ Frontend และ Backend จากนั้นจัดการ GitOps ด้วย ArgoCD ที่จะคอยดู Helm Chart ว่ามีอัพเดตหรือไม่ ระบบเหล่านี้อาศัย Kubernetes เป็นพื้นฐานซึ่งก็น่าจะเป็นมาตรฐานใหม่ในอุตสาหกรรมทุกวันนี้ไปแล้ว
หากใครสนใจรายละเอียด Tech Stack ที่ RentSpree ใช้งาน สามารถอ่านเพิ่มเติมที่ >>>
https://medium.com/devspree/tech-stack-2021-rentspree-58694da59807
หรือหากสนใจทำงานร่วมกับ RentSpree อ่านรายละเอียดตำแหน่งที่เปิดรับอยู่ได้ที่ >>> https://www.rentspree.com/careers-th/
#LifeatRentSpree #RentSpreeTH #PropTechStartUp #Devspree #DevandGrowTogether #Techstack #TechStartUp #Agile #Growth #Impactful #StartupThailand