หลายคนอาจเคยได้ยินว่า ไทยเป็นศูนย์กลางทางการแพทย์ หรือ Medical Hub แต่ไม่รู้ว่านอกจากโรงพยาบาลแล้ว บริษัทซอฟต์แวร์ทางการแพทย์ก็มาตั้งฐานในไทย เหมือนกัน วันนี้เราจะมาทำความรู้จักกับ Orion Health บริษัทซอฟต์แวร์ทางการแพทย์จากนิวซีแลนด์
Orion Health Bangkok Office ยังมีประวัติที่น่าสนใจมากๆ อีกด้วย เพราะเดิมทีเคยเป็นส่วนหนึ่งของไมโครซอฟท์มาก่อน (ไมโครซอฟท์ซื้อกิจการจากผู้ถือหุ้นเดิมในปี 2007 ถือได้ว่าเป็นบริษัทไม่กี่แห่งในเอเชียที่มีความโดดเด่นถึงขั้นไมโครซอฟท์มาซื้อกิจการ) เมื่อมีการปรับยุทธศาสตร์ทางธุรกิจจึงขายให้ Orion Health ในภายหลัง
Thailand – Development Team Leaders
คุณ David Leach Senior Vice President, กลุ่มผลิตภัณฑ์ Enterprise กล่าวถึงประวัติของ Orion Health ว่า
บริษัทก่อตั้งโดย Ian McCrae ชาวนิวซีแลนด์ ในปี 1993 โดยเริ่มต้นจากการเป็นบริษัทให้คำปรึกษา ก่อนจะเปลี่ยนมาเน้นธุรกิจด้านซอฟต์แวร์เพื่อระบบสุขภาพ ภายใต้สโลแกนที่ว่า
“Thinking Software for Life”
ความเชื่อของ Orion Health คือถ้าเรายิ่งรู้ข้อมูลสุขภาพละเอียดขึ้นเท่าไหร่ เราก็ยิ่งช่วยรักษาสุขภาพของคนได้ดียิ่งขึ้นเท่านั้น
ปัจจุบัน Orion Health เป็นบริษัทมหาชนที่จดทะเบียนในตลาดหลักทรัพย์นิวซีแลนด์และออสเตรเลีย มีพนักงานรวมกันกว่า 1,200 คนจาก 25 สำนักงานทั่วโลก
David Leach - Senior Vice President, Enterprise
Orion Health ทำซอฟต์แวร์ด้านสุขภาพครบวงจร จับกลุ่มลูกค้าหลากหลาย ตั้งแต่ โรงพยาบาล คลีนิคชุมชน ระบบเชื่อมต่อข้อมูล รวมไปถึงซอฟต์แวร์สาธารณะที่ช่วยให้ผู้ป่วยเข้าถึงข้อมูลสุขภาพของตนเอง ผลิตภัณฑ์หลักๆ ของ Orion Health ประกอบไปด้วย
Enterprise เป็นระบบ ERP ขนาดใหญ่สำหรับโรงพยาบาล ครอบคลุมระบบงานภายในโรงพยาบาล เช่นการบริหารจัดการคนไข้ คิวผู้ป่วย ระบบประกันและการเบิกจ่าย ระบบสนับสนุนการวินิจฉัยและปฏิกริยาระหว่างกันของตัวยา ปัจจุบันถูกใช้โดยหลายโรงพยาบาลทั่วโลก ในไทยได้แก่โรงพยาบาลบำรุงราษฏร์
Rhapsody ระบบ Integration Engine สำหรับอุปกรณ์และซอฟต์แวร์ทางการแพทย์โดยเฉพาะ สนับสนุนโปรโตคอลมาตรฐานทางการแพทย์ และ สามารถปรับแต่ง เพื่อแปลงข้อมูลไปเชื่อมต่อกับระบบอื่นๆ ได้อย่างรวดเร็วและทรงประสิทธิภาพ
Amadeus ระบบสนับสนุนการตัดสินใจทางการแพทย์ โดยสามารถนำเข้าข้อมูลจากหลายแหล่ง แล้วนำมาประมวลผลร่วมกัน (Big Data and Cognitive) สามารถปรับแต่งได้ตามลักษณะเฉพาะของลูกค้าเฉพาะราย
Orion Health ยังมีผลิตภัณฑ์อีกมาก สามารถดูได้ที่ https://orionhealth.com/us/products
สำนักงานของ Orion Health ตั้งอยู่ที่ตึก Athenee Tower (ตึกเดียวกับโรงแรม Plaza Athenee) ถนนวิทยุ เดินทางง่าย ใกล้กับสถานีรถไฟฟ้า BTS เพลินจิต
ปัจจุบัน Orion Health Bangkok มีพนักงานจากหลายเชื้อชาติ ทำงานร่วมกัน ทีมหนึ่งๆอาจจะมี Business Analyst เป็นชาวอินเดีย Developer ผสมผสานกันระหว่าง คนไทย อังกฤษ และฝรั่งเศส มี Test Engineer เป็นชาวโปแลนด์ และ Team Leader เป็นชาวออสเตรเลียก็ได้
Team stand up meeting แบบนานาชาติ
Orion Health Bangkok เลือกใช้เทคโนโลยีฝั่งไมโครซอฟท์เป็นส่วนใหญ่ ปัจจุบันใช้งาน Visual Studio .Net C# และ SQL Server เป็นหลัก กระบวนการพัฒนาใช้ Agile โดยแต่ละทีมมีอิสระในการกำหนดเวลา และวิธีการทำงานของตัวเอง ในด้านการควบคุมคุณภาพ มาตรฐานของโค้ดจะถูกควบคุมอย่างเข้มงวด โดยโค้ดทุกชุดก่อน commit จะต้องผ่านการทำ Code Review เสมอ เพื่อให้มั่นใจว่าได้โค้ดที่ตรงตาม Coding Standard และแก้ปัญหาได้ถูกจุด
นอกจากนี้บริษัทยังพัฒนาเครื่องมือใช้เองภายใน เพื่อทำ Continuous Integration และ Continuous Delivery โค้ดจะถูกทำการทดสอบแบบ Full Test ทุกครั้งที่มีการ commit และ deploy ไปยังระบบทดสอบต่างๆอย่างอัตโนมัติ
สำหรับเวลาการทำงานนั้นเป็นแบบ Flexible Hour ขึ้นอยู่กับการตกลงกันในแต่ละทีม โดยเน้นผลงาน แบบ work-life balance มากกว่าเวลาเข้างานและเครื่องแต่งกาย
บริษัทยังสนับสนุนให้พนักงานได้ทดลองทำในสิ่งที่ชอบ โดยจะมีการจัดเวลาว่าง ให้พนักงานพัฒนาโครงการใดๆก็ได้ตามความสนใจ ลักษณะเดียวกับโครงการ 20% ของกูเกิลอีกด้วย
ต้องทำ Pairing Code review ทุกครั้งก่อน commit code
พนักงานที่นี่จะได้ใช้คอมพิวเตอร์รุ่นใหม่ สมรรถนะสูง (ส่วนใหญ่มีกัน 3 มอนิเตอร์) แถมด้วย Account Safari Book Online สำหรับการค้นคว้าและอ้างอิง รวมถึงคอร์สฝึกอบรมต่างๆตามโอกาส
และแน่นอนว่าบริษัทซอฟต์แวร์ด้านสุขภาพอย่าง Orion Health ย่อมมีสวัสดิการทางด้านสุขภาพอย่างเต็มที่ ไม่ว่าจะเป็นประกันชีวิต ประกันสุขภาพที่ครอบคลุมในเรื่องของการทำฟัน ที่ไม่เหมือนใครคือสามารถเบิกค่าแว่นตาจากบริษัทได้ด้วย
บริษัทยังสร้างสภาพแวดล้อมให้พนักงานผ่อนคลาย โดยเตรียมให้ทั้งเครื่องดื่มซอฟท์ดริง กาแฟสด ผลไม้ในตอนบ่าย โต๊ะพูล เครื่องเล่นเกม และปาร์ตี้รับประทานอาหารร่วมกันในวันสุดท้ายของ Sprint (โดยเฉลี่ยทุกสองสัปดาห์)
งานปาร์ตี้ฉลองปิด Sprint
โต๊ะพูล สำหรับผ่อนคลาย
ชื่อ: ศักดิ์ชัย พาสุข
ตำแหน่ง: Intermediate Software Engineer
ชื่อ: วรินทร์ ทัพพงษ์
ตำแหน่ง: Test Engineer
ชื่อ: Jonathan Foulkes
ตำแหน่ง: Senior Support Consultant
ชื่อ: ศศกรณ์ เลียวสงวน
ตำแหน่ง: Junior Developer (Software Engineer)
ชื่อ: Amy Yu
ตำแหน่ง: Senior Business Analyst
ถ้าคุณ รักการเรียนรู้สิ่งใหม่ๆ ชอบความท้าทาย สนใจและอยากพัฒนาระบบซอฟต์แวร์เพื่อการแพทย์และสุขภาพ ตอนนี้ Orion Health Bangkok กำลังเปิดรับสมัคร Software Engineer และ Test Engineer เป็นจำนวนมาก สามารถส่งประวัติมาได้ที่ https://ohrecruit.orionhealth.com/careers
Comments
อยากไปทำงานด้วยจัง แนวชอบเลย ติดปัญหา เซงตัวเอง
-
รู้จักแต่ Orico จากจีน ที่ทำ usb hub วัสดุดีโคตรๆ อะครับ 555
-_-
¥_¥
oxygen2.me, panithi's blog
Device: ThinkPad T480s, iPad Pro, iPhone 11 Pro Max, Pixel 6
ผมว่า เบิกแว่นตานี่หลาย ๆ ที่ก็มีกันนะครับ (บ.ผมก็มี :) )
สำหรับผมซื้อเอง... (ทุกอย่างเลย) :(
oxygen2.me, panithi's blog
Device: ThinkPad T480s, iPad Pro, iPhone 11 Pro Max, Pixel 6
ว่าไป หนังสือที่ถือนั่นคือ Design Patterns หรือเปล่าครับเนี่ย ?
ตาคมมากครับ
เรื่องหนังสือนี่แต่ก่อน บริษัทจะมีให้เสนอรายชื่อหนังสือที่ควรซื้อในแต่ละปีไป แต่ตอนนี้ใช้วิธีแจก Safari Book Account แทนแล้วครับ พนักงานได้ไปคนละ Account
ดังนั้นชั้นหนังสือเล่มก็เลยบางทีจะ outdate นิดหนึ่ง
เรื่องหนังสือนี่เป็นอะไรที่ดีมากครับ :)
อย่างของผมปี ๆ นึงซื้อหลายหมื่นบาทอยู่ (ฮา)
"ตั้งอยู่ที่ตึก Athenee Tower (ตึกเดียวกับโรงแรม Plaza Athenee)"
อันนี้อาจจะคลากเคลื่อนไปนึดนึงนะครับ จริงๆแล้วเป็นคนละตึก Athenee Tower อยู่ถัดเข้ามาด้านในจากตึกโรงแรม (ที่ดินของ Athenee เป็นสี่เหลื่อมผืนผ้า) เพียงแต่ทั้ง 2 ตึกมันทำเชื่อมกันเฉยๆ
ถามแล้วไม่คาดหวังว่าจะได้รับ "ความจริง" นะครับ แค่อยากรู้ว่า
"กระบวนการพัฒนาใช้ Agile โดยแต่ละทีมมีอิสระในการกำหนดเวลา และวิธีการทำงานของตัวเอง ในด้านการควบคุมคุณภาพ มาตรฐานของโค้ดจะถูกควบคุมอย่างเข้มงวด โดยโค้ดทุกชุดก่อน commit จะต้องผ่านการทำ Code Review เสมอ เพื่อให้มั่นใจว่าได้โค้ดที่ตรงตาม Coding Standard และแก้ปัญหาได้ถูกจุด
นอกจากนี้บริษัทยังพัฒนาเครื่องมือใช้เองภายใน เพื่อทำ Continuous Integration และ Continuous Delivery โค้ดจะถูกทำการทดสอบแบบ Full Test ทุกครั้งที่มีการ commit และ deploy ไปยังระบบทดสอบต่างๆอย่างอัตโนมัติ" อันนี้ทำจริงกี่เปอร์เซ็นต์ครับ ?
100% ครับ
ในกรณีทั่วไป Sprint Work ยาวสองอาทิตย์ การตกลงกันว่าจะมีฟีเจอร์อะไรบ้างใน Sprint ถัดไปจะทำ 1-2 วันก่อนหน้า Sprint ปัจจุบันสิ้นสุด
สำหรับการ Check in Code เนื่องจากเราไม่อนุญาติให้ Commit Code เข้า Repo โดยตรง แต่จะผ่าน Tool เฉพาะก่อน ซึ่ง Tool นี้ จะบังคับว่าต้องมี Code Reviewer ก่อน จึงจะอนุญาติให้ Check in Code ได้
ทันทีที่ Tool รับโค้ดเข้าไป จะทำการ Build ทันที รวมถึง Run Full Unit Test ถ้ามี Unit Test ใด Fail Code จะถูก Reject โดยอัตโนมัติ
ส่วน Test System จะอัพเดตตัวเองอัตโนมัติตามเวลาที่กำหนดไว้เป็นระยะๆ(ไม่ใช่ทุก Build) ปัจจุบันคือทุกๆ 3 ชมครับ
นอกจากนี้ สำหรับ Branch ที่ขึ้น Production ไปแล้ว กระบวนการ Reviewer จะเข้มงวดขึ้นอีก คือนอกจากต้องการ Buddy Review แล้ว ยังต้องได้ Second Reviewer ที่เป็น Technical Lead Approve อีกชั้นหนึ่งด้วย
สิ่งสุดท้ายที่เราต้องการคือ Bug ของเรา Compromise ความปลอดภัยของผู้ป่วยครับ
อันนี้เป็นตัวอย่าง Tool ที่ใช้ Check in ครับ
https://s32.postimg.org/5gnrfoa2d/tool2.png
ปุ่ม Check in ที่มุมขวาบนจะไม่ทำงาน ถ้าในช่อง Reviewer ไม่เป็น A(Approve)
ส่วนนี่เป็นตัวอย่างของ Build
https://s31.postimg.org/fawhfhnfv/tool3.png จะเห็นได้ว่า จะแจ้งจำนวน Unit test ที่เกี่่ยวข้องกับ Shelveset และ โดน run รวมถึงว่ามีเคสไหน Fail หรือไม่
กรณีที่ Fail โค้ดก็จะไม่เข้า Repo ครับ ไปแก้มาใหม่
เยี่ยมมากครับ ขอบคุณสำหรับคำตอบและข้อมูลที่น่าสนใจ ผมอยากมีโอกาสได้ร่วมงานกับองค์กรที่เห็นค่ากับ คุณภาพ ของ code และ test จริงๆ ขอชื่นชมเลยครับ
อันนี้พึ่งนึกขึ้นมาได้หลังจากตอบไปแล้ว ถือว่าแลกเปลี่ยนกันนะครับ
ผมคิดว่าคำถามว่าทำได้กี่เปอร์เซนต์เนี่ย มันมาจากความคิดว่า การรีวิวโค้ดมันยุ่งยาก ต้องเดินไปเรียกคนโน้นคนนี้มาดูด้วย งานตัวเองก็ยุ่งพออยู่แล้ว งานเขาก็ยุ่ง เกรงใจก็เกรงใจ ดังนั้นโอกาสจะได้ทำจริงๆมันไม่น่าจะเยอะ
ซึ่งก็จริงแหละครับ ถ้าปล่อยอิสระก็ไม่มีใครทำแน่ ทำนองเดียวกับเรื่องอื่นๆทีดี(แต่ยุ่งยาก)อีกจำนวนมาก เช่นทำยังไงให้ Coding Standard ไม่หลุด หรือ SQL ได้คุณภาพตามมาตรฐานที่กำหนด
ดังนั้นสิ่งที่เราพยายามทำ คือทำให้สิ่งจำเป็นเหล่านี้ ง่ายที่สุด และเป็นอัตโนมัติที่สุด โดยการหาเครื่องมือมาใช้งานครับ ทั้งผลิตเอง และซื้อเขา
เช่น เราควบคุม Coding Standard โดยใช้ plug in ไฮไลท์โค้ดที่ไม่ตรงตามมาตรฐาน ในขณะเดียวกันก็มีออฟชันให้ Clean up code ให้ตรงมาตรฐานได้ทันที
หรือ สำหรับ SQL ในรูปแบบที่ใช้ซ้ำบ่อยๆ เราก็มี Tool Generate ขึ้นมาให้
เราพยายามสร้างระบบ เพื่อให้เราทำสิ่งที่จำเป็นต่อคุณภาพได้โดยไม่เป็นภาระมากจนเกินไป
กระบวนการเหล่านี้ไม่หยุดนิ่งครับ หลายๆอย่างเริ่มจากไอเดียของพนักงานแล้วเขียน Tool ขึ้นมาเองในเวลาว่าง ก่อนจะแจกจ่ายและได้รับการยอมรับ
หลายๆอย่างเกิดขึ้นเพราะเราเรียนรู้จากความผิดพลาดในอดีต
บางอย่างหายไป เพราะความจำเป็นของมันไม่มีอีกแล้ว
หลายๆคนในนี้ เราอาจจะได้ร่วมงานกันในอนาคต ถึงตอนนั้นโปรเซสก็อาจจะไม่ใช่แบบนี้แล้วครับ
ทีนี้เรารีวิวโค้ดกันทำไม
ผมคิดว่าคำตอบว่าเพื่อให้ได้โค้ดที่มีมาตรฐาน นี่ก็ชัดมาก แต่อีกทางหนึ่ง เราใช้มันเป็นช่องทางเรียนรู้และสร้าง Awareness ภายในทีมครับ ทันทีที่คุณเขียนอะไรขึ้นมาซักอย่าง ก่อนคุณจะ commit อย่างน้อยคนในทีมคุณหนึ่งคนจะรู้ทันทีว่า คุณเขียนอะไรเข้าไป และโค้ดคุณจะไปตีกับโค้ดเขารึเปล่า นอกจากนั้นการบังคับส่งรีวิว ยังเป็นช่องทางฟีดแบ็คที่ดีอีกด้วย โปรแกรมเมอร์ระดับจูเนียร์ จะได้รับคอมเมนต์โค้ดทันทีที่เขียนเสร็จ พร้อมให้ปรับปรุง ระดับกลางๆก็ได้คอมเมนต์จากระดับซีเนียร์ และในทางกลับกัน เวลาจูเนียร์รีวิวโค้ดของพี่ๆ ก็จะได้เห็นตัวอย่างโค้ดที่ดี ไปในเวลาเดียวกัน
เห็นด้วยทุกประการครับ ประโยชน์ที่เห็นได้ชัดๆ เลยจากการทำ code review ก็คือ junior level นี่ล่ะครับ จะพัฒนาได้อย่างถูกทางและก้าวกระโดด ขอบคุณครับ
มีแบบจูเนียร์คอมเมนต์โค้ดซีเนียร์หนักๆ บ้างรึเปล่าครับ?
อดีตจูเนียร์มีครับ :)
ถ้าจูเนียร์ทำได้ขนาดนั้น เราก็เก็บเขาไว้เป็นจูเนียร์ไม่ได้แล้ว ควรจะเลื่อนๆขึ้นไปซะ
(คิดอีกทีคิดว่าไม่เกี่ยวครับ ขออนุญาตลบออกนะครับ)
มาไม่ทัน :O
แค่อยากรู้ว่าบรรยากาศตอนทำงานข้างในเป็นยังไงน่ะครับ โดยเฉพาะกับพนักงานใหม่ หรือพนักงานระดับจูเนียร์ :)
ถามน้องๆจูเนียร์มาให้ครับ :)
อ่านแล้วนึกถึงเวลาเขียนข่าวลงที่นี่เลยครับ ทำให้อยากข้อนี้มาเน้นๆ บ้าง
เ่คยเจอแบบ "แต่พี่ไม่ได้บอกให้ทำอย่างนี้นี่นา" ... อึ้งเลย 555
อูยอยากทำงานด้วยมาก เด๋วส่งเรซูเมไปดีกว่า อิอิ อยากใช้ Agile อยากมี Safari Book Account
ยินดีต้อนรับคร้าบ :)
อ้อ หวังว่าคุณคงไม่เล่นเกม หรือไม่ก็เล่นฟีฟ่า 16 ไม่เก่งนะครับ ตอนนี้ผมอยู่ที่โหล่ใน company league แล้วก็ไม่ค่อยอยากได้ใครมาแซงหน้าผมเพิ่ม (ฮา)
เก่งภาษาอังกฤษแน่ๆ ถ้าได้ไปทำ