เปิดคลัง Tech Stack 2023 เบื้องหลังโปรดักต์ Jitta & Jitta Wealth

Phawin
Jitta Engineering
Published in
3 min readSep 19, 2023

ปัจจุบัน 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

--

--