เปิดคลัง Tech Stack 2023 เบื้องหลังโปรดักต์ Jitta & Jitta Wealth
ปัจจุบัน Jitta มีอยู่ 2 โปรดักต์หลักๆ ที่เปิดให้บริการแก่ผู้ใช้งาน
โปรดักต์แรก คือ Jitta Stock Analysis เป็นแพลตฟอร์มวิเคราะห์หุ้นใน 29 ประเทศ ตามหลักการ VI เพื่อเฟ้นหาหุ้นที่ดี ในราคาที่เหมาะ ตามคำกล่าวของ Warren Buffett ที่ว่า “Buy a Wonderful Company at a Fair Price” เหมาะกับนักลงทุนที่อยากซื้อขายหุ้นด้วยตัวเอง แต่ไม่มั่นใจว่าหุ้นตัวนี้มีพื้นฐานดีไหม ราคาเหมาะสมหรือเปล่า Jitta ก็จะช่วยอ่านงบการเงินย้อนหลังของแต่ละบริษัท แล้วย่อยข้อมูลออกมาเป็น Jitta Score และ Jitta Line ให้นักลงทุนเข้าใจง่ายๆ โดยมีผู้เข้ามาใช้แพลตฟอร์ม Jitta ทั่วโลก 40 ล้านครั้ง ดูรายละเอียดโปรดักต์เพิ่มเติมได้ที่ https://www.jitta.com/th
โปรดักต์ที่สอง คือ Jitta Wealth เป็นแพลตฟอร์มบริหารกองทุนส่วนบุคคลโดยใช้ AI เหมาะสำหรับนักลงทุนที่อยากไม่อยากซื้อๆขายๆเอง ก็สามารถเลือกนโยบายที่สนใจและรับความเสี่ยงได้ แล้วฝากเงินมาให้ Jitta Wealth บริหารจัดการพอร์ตให้ได้ โดย JW ได้รับใบอนุญาตจาก ก.ล.ต. ถูกต้องตามกฎหมายนะครับ ปัจจุบันมีฐานลูกค้าประมาณ 60,000 กว่าบัญชี ดูรายละเอียดโปรดักต์เพิ่มเติมได้ที่ https://jittawealth.com/
เพื่อนร่วมสาย IT อาจจะสงสัยว่าเทคโนโลยีเบื้องหลังโปรดักต์ทั้ง 2 ของเราเป็นยังไง มีปัญหาอะไรบ้างที่ท้าทายสำหรับเรา ในฐานะที่เป็น Platform Engineer ผมขอเป็นตัวแทนมาแบ่งปัน Tech Stack หรือชุดเทคโนโลยีที่บริษัทใช้สร้างเว็บ/แอปพลิเคชัน ไม่ว่าจะเป็นภาษาโปรแกรมมิ่ง, Frameworks, Databases, Libraries, Servers, การออกแบบ UI / UX, ซอฟต์แวร์ต่าง ๆ รวมไปถึงเครื่องมือที่ developer เราใช้กันหลักๆ ในปี 2023 ครับ
Core Stack
ภาษาโปรแกรมมิ่ง, Frameworks, Databases, Libraries ต่างๆ ที่ใช้ ก็จะมี
- Node.js — เนื่องด้วยที่เราต้องการใช้โครงสร้างภาษาเดียวกันที่ทำได้ตั้งแต่ frontend, backend ไปยัน scripting ต่างๆ มีการพัฒนาที่รวดเร็ว เหมาะสมกับทรัพยากรและเวลาที่เรามีอยู่อย่างจำกัด เราจึงใช้ Node.js เป็นภาษาหลักของบริษัทในการทำ Web, Mobile และ Backend เกือบทั้งหมดเพื่อความเร็วในการเข็น Product ของเราออกสู่ตลาดให้กับ Customer ใช้ โครงสร้างและ knowledge สามารถแชร์ระหว่าง Engineer ที่ทำงานคนละ function งานกันได้
- Typescript — เพื่อความสามารถในการบำรุงรักษา Type Checking, Code Refactoring ทำให้เราสามารถจับ Error ต่างๆได้ไวตั้งแต่ตอน development และ เพิ่มความมั่นใจระหว่างการพัฒนา
- Python — ในด้านการทำ Operation, Report และ Analysis เพราะมี Library ต่างๆครบครันในการทำงานร่วมกับ Data ขนาดใหญ่
- Swift/Kotlin — และหลังจากที่เรามี Product Market Fit ที่ดีแล้วเรากำลัง Migrate ในส่วนของ Mobile Application กลับไปอยู่บน Native เพื่อประสิทธิภาพและประสบการณ์ที่ดีของผู้ใช้งาน
- React — มีทั้งส่วนที่เป็น Customer Application/Website และ Admin หลังบ้าน
- Retool — งานหลังบ้านต่างๆเรากำลังเปลี่ยนงาน Website ที่เขียนเอง ไปอยู่บน Retool เพื่อให้ ทีมพัฒนาส่วนหลังบ้านสามารถ Focus ในการทำ API อย่างเดียวได้
- MySQL — เพื่อเก็บข้อมูลที่มี Relation ต่างๆที่มี Schema ชัดเจน
- MongoDB — ใช้เก็บข้อมูลหุ้นต่างๆจากหลากหลายแห่งเพื่อเก็บไว้ทำ Analytics
- Redis — ใช้เป็น Temporary Cache ต่างๆของ Application รวมไปถึงเป็น Backend ของ Async Task
- RabbitMQ — เนื่องจากได้มีการทดสอบทำ Event Driven Architecture เราเลยเลือกใช้ RabbitMQ ในการเก็บ Message data ต่างๆ
- Big Query — เพื่อเป็น Data Warehouse ในการเก็บข้อมูลเพื่อทำ Data Analysis
Infrastructure
ในส่วนของ Infrastructure ประกอบไปด้วย
- Kubernetes — เราเลือกใช้ GKE เป็นตัวรัน Application หลักๆทั้งด้าน Sync และ Async Task ต่างๆ
- Serverless — มีการใช้ทั้ง Lambda และ Cloud Run ในส่วนงานที่สามารถแยกออกจากระบบหลัก เพื่อความเร็วในการพัฒนาและตอบโจทย์ด้านจำนวนการใช้งานด้วย เช่น อัปเดต Portfolio, ออก Report
- Managed Service — ต่างๆบน Google Cloud ไม่ว่าจะเป็น MySQL, Redis, Object Storage
- Vercel — ใช้เป็น Hosting ในการ deploy Frontend ต่างๆ
- Cloudflare Zero Trust — สำหรับทุกการ Login เข้าใช้งาน Internal App ทั้งหมด เพื่อความง่ายในการจัดการ users ในที่เดียว และไม่ต้องดูแล VPN รวมถึงการทำ routing สำหรับ internal tools ได้ง่ายขึ้น
- Terraform — ช่วยในการสร้างโครงสร้างทั้งหมดเพื่อความง่ายต่อการแก้ไขและตรวจสอบความเปลี่ยนแปลงของระบบทั้งหมด
Software Engineer Tools
เครื่องมืออื่นๆ ที่ใช้ในการทำงานร่วมกันของทีม Engineer
- Github — ใช้ในการเก็บ Source Code ทั้งหมด
- Github Action — เป็น CI/CD ของทั้ง Backend และ Mobile Application โดยระบบ Automated ทั้งหมดตั้งแต่ Integrate กันระหว่าง Engineer ไปถึง Release ถึง Customer
- Github Codespace — สำหรับงาน Development เนื่องจากระบบงานต่างๆของเรามีความหลากหลายด้าน Version และขนาดของข้อมูล ทำให้ทีมสามารถช่วยกันเขียน Script ในการสร้าง Development Environment ที่เหมือนกันออกมาได้และพร้อมใช้งานภายในหลักนาทีเท่านั้น
- Cloudflare Warp — เป็น VPN เพื่อเข้าใช้งานระบบต่างๆในบริษัทผ่าน Zero Trust
- Datadog — เป็นเครื่องมือหลักในการทำ Monitoring, Logging, Alert และ Tracing กลางของทั้งบริษัทโดยมีการ Setup Role ต่างๆเพื่อแยกแยะข้อมูลที่ Engineer, Operation, Security ควรเห็นออกจากกัน
- Figma — ใช้เพื่อเป็น Collaboration Tool กันระหว่าง UX/PM/Engineer เพื่อให้เห็นภาพเดียวกันต่อการ Develop Application
- Sentry — เอาไว้ Monitor Error ที่ไม่ได้ Handle ไว้ที่เกิดขึ้นในระบบทั้งหมด
- Miro — ใช้สำหรับคุยเรื่อง Architecture, Brainstorm idea ต่างๆ แต่บางทีก็เข้า office ไปเจอกันบนกระดานจริงๆ
- Jira — ใช้ในการ Manage Project รวมถึง Process ภายในทั้งหมดของบริษัท
- Notion — ใช้เป็นที่เขียน Document, Meeting Note ต่างๆ พวกเราใช้ในการสร้าง Knowledge management ให้กับทีมทำงาน และกับทั้งบริษัท
ด้วย Tech Stack ทั้งหมดนี้ พวกเราประเมินว่ายังสามารถรองรับ load และการเติบโตในในอนาคตได้อีกอย่างไร้กังวล ตรงนี้สำคัญทำให้เราได้ไปโฟกัสกับการพัฒนาโปรดักต์ และส่งมอบคุณค่าออกไปได้
สุดท้ายก็อยากจะแนะนำให้เลือกใช้ Stack ที่ตอบโจทย์องค์กรแต่ละที่มากที่สุดครับ ไม่มีสูตรสำเร็จ ไม่มีทุกอย่างตายตัว ทุกอย่างมี Trade off เสมอ
อาจจะเริ่มต้นที่การเลือกให้เหมาะกับเป้าหมายขององค์กร เช่น การพัฒนาที่รองรับธุรกิจที่กำลังเติบโต (Scalability) และรองรับการตรวจสอบในทุกระดับ (Auditability) เพราะ Jitta Wealth เป็นสถาบันการเงินที่มีการตรวจสอบจากหน่วยงานต่างๆ ตลอดเวลา แต่ก็ยังต้องเติบโตหรือมีมุมมองเป็น Startup ด้วย
Jitta เราเองต้องการลดเวลาหลายๆอย่าง เพื่อให้เราได้โฟกัสกับการพัฒนาของบริษัทของเราให้ได้เร็วที่สุด การใช้เครื่องมือจาก third party ก็ช่วยให้สะดวกรวดเร็วขึ้น ที่สำคัญตอนนี้มีเครื่องมือให้เลือกใช้มากมาย เราสามารถทดลองใช้ก่อนการตัดสินใจ หรือแม้กระทั่งจ่ายเงินได้ แถมยังเปลี่ยนแปลงไปสู่สิ่งที่ดีกว่าเรื่อยๆ ได้รวดเร็วกว่าด้วย
หวังว่าบทความนี้จะเป็นประโยชน์กับทุกคนนะครับ
หากอ่านมาถึงตรงนี้แล้วรู้สึกอยากมาร่วมทีมพัฒนา Jitta ไปด้วยกัน ลองไปดูตำแหน่งที่เปิดรับกันได้เลย ทีม People แอบกระซิบมาว่ายังต้องการทีม Engineer อีกเยอะเลยนะครับ
ดูตำแหน่งที่เปิดรับ https://careers.jitta.com/
ดู culture ของชาว Jittstor https://www.facebook.com/jittstor