[Startup CTO ตอนที่ 5] Jitta บริษัทที่ผมอ่านแล้วนึกถึง Culture ดีดีที่เหมาะกับ Programmer

ถ้าจะพูดถึงคนๆ หนึ่งที่เหมาะสมกับคำว่า CTO ที่เป็นมากกว่า Programmer ผมคงนึกถึงคุณ hunt แห่ง Jitta

สมัยก่อนราวๆ 6-7 ปีที่ แล้วมีเว็บหนึ่งของคนไทยที่ชื่อ zicklr.com ซึ่งเอาไว้ให้ส่งเรื่องที่เราสนใจเป็น link เข้าไป ซึ่งผมก็เล่นอยู่ประจำเพราะเอาไว้แชร์ link จาก blog ตัวเองแล้วได้ traffic ดีในระดับหนึ่งเลยครับ ซึ่งตอนนั้นผมก็จักชื่อ hunt ว่าเป็นคนทำเว็บนี้แหล่ะครับ แต่ที่ไม่รู้คือเค้ายังเด็กๆ อยู่ตอนนั้น (คุณ hunt อายุน้อยกว่าผม 2ปี)

จบ Section คนแก่รำลึกความหลังไปก่อนนะครับ แล้วพอหลังจากนั้นราวๆ ปีที่แล้วนับจากแรกเริ่มที่เราก่อตั้งสมาคมโปรแกรมเมอร์กันมาก็ได้คุณฮันท์มาเป็นวิทยากรบ่อยมากๆๆๆๆ ซึ่งแต่ละเรื่องก็ค่อนข้างลง detail ละเอียดและมี style การพูดที่น่าสนใจ ฟังแล้วไม่เบื่อ แถมแต่ละอย่างค่อนข้าง geek มากๆ ทั้งการทำ open source code บางส่วนของตนเองบน github , การทำเว็บ jitta ซึ่งเป็น concept ของเว็บที่ค่อนข้างยากจริงๆ ทั้ง data มากๆ และการใช้การคำนวนหลายๆ อย่างเพื่อนำมาวิเคราะห์หุ้น รวมถึงการใส่ใจในรายละเอียดการออกแบบหน้าเว็บ เน้นเรื่อง UX UI ที่ดูแล้วเป็นระดับ Pro มากจริงๆ

รวมถึง culture ในการดูแล Programmerของบริษัทนี้ ที่ล่าสุดพึ่งพาพนักงานไปอยู่ Silicon Valley กันมาเป็นเวลา 30 วัน ไม่น่าจะมีบริษัทไหนในไทยที่กล้าทำแบบนี้อีกแล้ว ดุรุปทีมงาน jiita ใน silicon valley ได้ด้านล่างเลยครับ

jitta-silicon-valley

Jitta team in San Francisco for 30 days @ Corona Heights Park

รวมถึงล่าสุดผมไปเจอคุณฮันท์ที่งาน Start it up (ดูเรื่องราวๆบริษัทต่างๆ ที่ไปออกงาน Start it up ได้ที่ blog เก่าๆ ดังนี้ Wongnai, Invent) ก็ได้พูดคุยเกี่ยวกับเรื่อง Programmer ในไทยหลายๆ เรื่องและผมเชื่อว่าบริษัท Jitta สนับสนุน Programmer ชาวไทยแบบสุดๆ จริงๆ ครับ

ถ้าจะให้ผมยกย่อง CTO ตัวอย่างในประเทศไทยนี้ คน hunt แห่ง jitta คงเป็นหนึ่งในนั้นแบบไม่ต้องคิดมากเลยครับ

jitta-team

หลังจากโม้กันมาเยอะละ ก็มาเข้าสู่บทแนะนำบริษัท ที่ทางคุณฮันท์ สรุปมาให้เลยดีกว่าครับ ใครอ่านตรงไหนแล้วสงสัยพิมพ์ใน comment ได้นะครับ เดี๋ยวผมจะขอให้คุณฮันท์มาช่วยตอบตอนมีเวลา

เกี่ยวกับ Jitta

https://www.jitta.com/about

ตัวเลขที่น่าสนใจของ Jitta

เรามี 6,000 หุ้นในระบบตอนนี้ จาก 4 ตลาดหลักทรัพย์​

United States(5,000+), Thailand(600+), Singapore (700+) และ Vietnam (600+)

มีตัวเลขทางการเงินที่ผ่านการคำนวนทุกวันกว่า 50 ล้านตัวเลข

ทั้งวิเคราะห์ และหาความสัมพันธ์ของบการเงินของบริษัททุกบริษัท

อย่างน้อย 10 ปีย้อนหลัง เพื่อสะท้อนทุกมิติของบริษัทนั้นๆ

“ ณ เวลานี้ความท้าทายของทีม Engineer เรา ไม่ใช่จำนวนผู้ใช้ที่ใช้งาน แต่เป็นคุณภาพของข้อมูลที่ไม่เคยมีใครสร้างตัวชี้วัดทางคุณภาพของบริษัทที่ควรลงทุน และช่วยให้นักลงทุนตัดสินใจลงทุนได้ดียิ่งขึ้น ”

การทำงาน

พวกเราทุกคนเชื่อในการที่ Engineer จะต้องได้ดูแลประสบการณ์ผู้ใช้แบบ End-to-End ตั้งแต่เริ่ม Design มุมมองของผู้ใช้ ที่เน้นความเรียบง่าย จนถึงออกมาเป็น Product ทุกคนในทีมมีความสามารถทั้งเชิงกว้างและเชิงลึก สามารถทำหน้าที่แทนกันได้ จึงทำให้ทีมมีความยืนหยุ่นสูง พร้อมกับการเปลี่ยนแปลงและพัฒนาสิ่งใหม่ๆได้ตลอดเวลา เราอัพเดทภาพ และทิศทางจากผู้บริหารทุกเดือน เพื่อให้ทั้งทีมเข้าใจในทิศทาง และมุ่งหน้าไปพร้อมกันได้เสมอ

เรามี Engineers ทั้งหมด 5 คน (รวม CTO ด้วย) ใช้ Continuous Integration และ Continuous Delivery โดย Engineer จะอัพเดท Code และรับผิดชอบใน Commit นั้นๆเสมอ ซึ่งทุก Commit จะต้องรัน Full Test เสมอ เมื่อผ่านการทดสอบแล้ว (On Green) ระบบจะทำการ Deploy อัตโนมัติไปยังระบบที่ต้องการแก้ไข ซึ่งระบบการ Build และ Deploy ตรงนี้เราพัฒนาขึ้นมาเอง เพื่อลดช่องว่างในการ Deploy เป็น Zero Downtime จริงๆ และ เพื่อความยืนหยุ่นของเงื่อนไขพิเศษ เช่น ลองทดสอบระบบใหม่ในกลุ่ม Beta ก่อน เมื่อไม่เจอปัญหาใดๆจะอัพเกรดเป็น Production อีกครั้งโดยอัตโนมัติ

นอกจากการทำ Code Review ที่จะช่วยเรื่องคุณภาพของ Code แล้ว เรายังนำ Business Metrics ที่สำคัญต่างๆมาเป็นส่วนช่วยชี้วัดคุณภาพ และความสำเร็จของสิ่งที่เราพัฒนาอีกด้วย ซึ่งตรงนี้ทำให้การแก้ปัญหาของ Engineer นั้นแก้ไขได้ตรงประเด็น และมีเป้าหมายอย่างชัดเจน

เครื่องมือที่ทีมใช้

  • Github - ในการจัดการ Source Control / Pull-Request / Code Review
  • Google Apps สำหรับ Email และ งานเอกสารภายในและภายนอกต่างๆ
  • Hipchat - สื่อสารภายในองค์กร และ เชื่อมต่อกับระบบต่างๆเพื่อ Notification ให้กับ Team
  • Asana - ในการจัดการ Task งานต่างๆ และสื่อสารกันเกี่ยวกับของทีม
  • Mixpanel - ในการเก็บ Event เพื่อะวิเคราะห์พฤติกรรมผู้ใช้ และสถิติต่างๆ
  • Newrelic - ในการตรวจจับปัญหา และวัดผลคุณภาพ Application ที่เรา Deploy ต่างๆออกไป
  • Datadog - ในการเก็บ และแสดงผล Metrics จากระบบต่างๆ

ด้านสถาปัตยกรรม

ในช่วง 2 ปีแรก เราได้ใช้ Amazon Cloud และ PaaS อย่าง Heroku ซึ่งผลลัพธ์ด้านเสถียรภาพยังไม่เป็นที่พอใจ ระบบของเราทั้งหมดตอนนี้จึงอยู่ที่ Google Cloud Platform ทำงานบนระบบปฏิบัติการ CoreOS ใช้ Kubernetes ในการ Scheduling และจัดการ Cluster ทั้งหมด เราเชื่อใน Multi Cloud Provider เชื่อในความยืดหยุ่นต่อการขยายตัวในอนาคต ดังนั้นเราจึงไม่พัฒนาระบบให้ผูกติดกับ Service พิเศษเฉพาะกับ Cloud รายใดรายหนึ่ง

ด้าน Application เราใช้ภาษา JavaScript บน Node.js ในการพัฒนาเป็นหลัก เพราะต้องการให้ Engineer นั้นสามารถดูแล และพัฒนาได้อย่างรวดเร็วทั้งหน้าบ้านและหลังบ้านด้วยภาษาเดียว ในส่วนของ Performance ก็ทำงานได้ดีมาก สามารถรับโหลด และประมวลผลได้รวดเร็ว การออกแบบระบบเราเลือกใช้หลักการ Microservices ในการพัฒนาระบบต่างๆให้ง่ายต่อการดูแล และเชื่อมต่อกับระบบอื่นๆได้โดยง่าย ปัจจุบันเรามี 10 services และกำลังเพิ่มขึ้นเรื่อยๆ เราจึงพัฒนา Framework ขึ้นมาเป็นของเราเองชื่อว่า Spinal เพื่อเชื่อมต่อ Microservices ต่างๆเข้าด้วยกัน รวดเร็ว และง่ายต่อการพัฒนา

ด้านระบบฐานข้อมูล เราใช้ MongoDB ในการเก็บข้อมูลหลัก ด้วยเหตุผลด้านความเร็ว ความง่ายในการจัดการข้อมูล และดูแลรักษา ส่วนเรื่อง Cache และระบบ Queue เราเลือกใช้ Redis

ด้านส่วนติดต่อผู้ใช้  ปัจจุบันเรามี Web Application เป็น UI หลักและ UI เดียวในการแสดงผลข้อมูลทั้งหมดของ Jitta ซึ่งตรงนี้ทำให้เราอัพเดท Feature ได้อย่างรวดเร็ว และตัดปัญหาเรื่องการอัพเดทกับ App store ต่างๆ และ Fragment ของ Devices ออกไปได้ ทุกหน้านั้นเป็น Full Responsive รองรับ Desktop, Tablet และ Mobile เพื่อความเร็วในการพัฒนา และง่ายต่อการดูแล เราจึงพัฒนา Frontend Framework ขึ้นมาเอง เป็น Style Guide Driven ชื่อว่า JUI เพื่อทำให้ Engineer ไม่ต้องมากังวลในเรื่องของ Design และสามารถแสดงผลได้อย่างถูกต้องผ่าน Code จากหลังบ้าน ส่วน Designer เองก็ยังสามารถเข้าไปแก้ไขที่ JUI เพื่อควบคุมส่วนการแสดงผลต่างๆของเว็บได้ โดยไม่กระทบกับส่วนของ Engineer

โครงการ Open Source จาก Jitta

  • Spinal - Node.js Microservice Framework ที่ออกแบบขึ้นมาเพื่อการ Scale พัฒนาได้รวดเร็ว และง่ายต่อการดูแลระบบ
  • Jchart - ระบบกราฟเส้น ที่ใช้งานจริงบน Jitta ที่สามารถ Render กราฟได้ทั้งบน Browser และ Server Side
  • Jshot - ระบบ Capture Screenshot ที่รันบน Docker ทำให้ได้ผลลัพธ์เหมือนกัน 100% เสมอในทุกๆเครื่องที่รัน Test
  • Bunnycron - ระบบ Cron ที่ออกแบบไว้ให้รันบน Cluster มี lock mechanism เพื่อป้องกันการรันซ้อนกัน และทำให้เรา Save cron config ไว้บน Repository อีกด้วย

ปัจจุบันและอนาคต

3 ปี ที่ผ่านมา Jitta ได้พัฒนาไปไกลยิ่งขึ้น เราตื่นเต้นและสนุกที่ได้สร้างผลิตภัณฑ์ที่อยู่ในตลาดการเงิน ที่เป็นตลาดที่มีมูลค่าสูงที่สุดในโลก เรามีความสุขที่มีผู้ใช้รัก และช่วยเปลี่ยนแปลงชีวิตของพวกเขา เรามี Features ใหม่ๆ ที่ท้าทาย ที่จะเปลี่ยนแปลงประสบการณ์ลงทุนทุกๆ ครึ่งปี เราพัฒนา Intellectual Properties เช่น Jitta Score และ Jitta Line  ที่เป็นของเราเองให้คนทั้งโลกได้ใช้  เราขยายไปตลาดใหม่ๆทุกๆปี และมี Partner มากมายในต่างประเทศ ด้วยเป้าหมายที่จะเปลี่ยนแปลงโลกของการลงทุน เรามีความท้าทายอีกมากที่รอพวกเราอยู่ ถ้าคุณชอบในสิ่งที่เราทำ และวิธีการทำงานของพวกเรา
อย่ารีรอที่จะมาเป็นส่วนหนึ่งกับพวกเรา Jitta ส่งอีเมลมาได้ที่ [email protected]

ที่มา จาก Medium คุณ hunt 

หมด Section ของคุณฮันท์แล้วนะครับ

ยังไงก็ตามตาม Blog ส่วนตัวผมได้ที่ http://startupcto.net


Leave a comment!

You must be logged in to post a comment.