มีบัญชีอยู่แล้ว?
Data Engineer, Machine Learning Engineer และ Site Reliability Engineer คืออะไร? นี่เป็นแค่ 3 จากหลายสิบตำแหน่งที่เกิดขึ้นมาใหม่ในทศวรรษนี้ เนื่องด้วยเทคโนโลยีใหม่ ๆ มากมาย ไม่ว่าจะเป็นเอไอหรือแมชชีนเลิร์นนิงที่เข้ามามีบทบาทในชีวิตของเรา
ตำแหน่งงานเหล่านี้ผุดขึ้นเป็นดอกเห็ด และพุ่งแรงแซงทางโค้งขึ้นมาจนได้รับความนิยมสุด ทั้งเป็นที่ต้องการและมาพร้อมค่าตอบแทนที่ดึงดูดใจ หลายคนอาจจะยังเกิดความสงสัยและสับสนกับบทบาทหน้าที่ของตำแหน่งต่าง ๆ ยิ่งตำแหน่งที่มีชื่อคล้าย ๆ กันด้วยแล้วยิ่งชวนให้มึนมากกว่าเดิม
วันนี้เราจะมาพูดถึงตำแหน่ง 3 ตำแหน่งในทีม Engineer ของเซอร์ทิสที่ชื่อว่าเป็น ‘วิศวกร’ เหมือนกัน แต่ทำงานต่างกันมากกว่าที่คิด ได้แก่ Data Engineer, Machine Learning Engineer และ Site Reliability Engineer
ก่อนอื่นให้ทุกคนจำไว้ก่อนว่า คำว่าวิศวกรนั้น รวม ๆ แล้วก็คือเป็นผู้ที่คอย ‘สร้าง’ สิ่งต่าง ๆ แต่ 3 ตำแหน่งนี้จะสร้างอะไรกันบ้าง ตามมาดูกันในโพสต์นี้เลยครับ
Data Engineer (DE) คืออะไร?
หากแปลตรงตัวคงคิดว่าเป็น ‘ผู้สร้างข้อมูล’ หรือเปล่านะ? แต่ไม่ใช่นะครับ Data Engineer หรือ DE จะเป็นผู้ออกแบบและดูแลโครงสร้างพื้นฐานของข้อมูล ไม่ว่าจะเป็นระบบการดึงข้อมูล ปรับรูปแบบ และรวบรวมจัดเก็บข้อมูล ซึ่งเป็นกระบวนการที่เราเรียกว่า ETL (Extract-Transform-Load) เพื่อสร้าง Data Pipeline จัดระเบียบข้อมูลที่กระจัดกระจายนั่นเองครับ
เนื่องจากปัจจุบันข้อมูลคือหัวใจสำคัญทางธุรกิจ เราจึงต้องมีคนที่มาออกแบบระบบให้เราสามารถจัดเก็บ ส่งต่อ และนำข้อมูลไปใช้ประโยชน์ได้อย่างมีประสิทธิภาพ DE จึงถือเป็นคนวางโครงสร้างระบบพื้นฐานของข้อมูลเพื่อให้คนอื่นไปทำงานกันต่อนั่นเอง
ที่เซอร์ทิส DE ของเรามีหน้าที่วิเคราะห์หาปัญหา และปรับโครงสร้างของระบบให้ตอบโจทย์การนำข้อมูลไปใช้พัฒนาธุรกิจของลูกค้าได้ ดูแลการนำเข้าและจัดเก็บข้อมูลจากแหล่งต่าง ๆ เลือกใช้เครื่องมือหรือ Framework ที่เหมาะกับข้อมูลของลูกค้า เพื่อวาง Data Pipeline ให้เหมาะสม และจัดระเบียบข้อมูลให้อยู่ใน Data Warehouse ที่ถูกต้อง
สำหรับความรู้พื้นฐานของ DE ที่ควรมีคือ มีความรู้เรื่องภาษาในการเขียนโปรแกรม เข้าใจการใช้งานซอฟต์แวร์ที่ใช้จัดการข้อมูล และ Data Warehouse และ Database ที่ เซอร์ทิสนั้นเราจะเน้นใช้เครื่องมือ SQL Database ใช้ภาษา Python Scala และ Java
ใช้ซอฟต์แวร์เช่น Hadoop & Hive, Apache Spark และ Airflow เป็นหลัก
อย่างไรก็ตามรูปแบบข้อมูลและระบบของลูกค้าของเรานั้นมีหลากหลาย ทำให้ Data Engineer ของเราจะได้เรียนรู้การทำงานที่หลากหลาย ทั้งสนุกและท้าทายแน่นอน
สามารถเรียนรู้เพิ่มเติมเกี่ยวกับตำแหน่ง Data Engineer ของเราได้ที่
Machine Learning Engineer คืออะไร?
ตำแหน่งต่อมานี้ เป็นตำแหน่งที่เป็นลูกผสมระหว่างงานด้าน Data และงานด้านการพัฒนาซอฟต์แวร์ Machine Learning Engineer หรือ MLE คือผู้พัฒนาโมเดล Machine Learning ให้สามารถเรียนรู้และประมวลผลได้อัตโนมัติตามเป้าหมาย ซึ่งประโยชน์คือสามารถนำมาช่วยประมวลผลและวิเคราะห์ข้อมูลครั้งละมาก ๆ ในแบบที่มนุษย์เราทำไม่ได้
MLE มีหน้าที่หลัก ๆ สองรูปแบบ หนึ่งคือการนำโมเดลที่ทีมอื่น ๆ เช่น Data Science และ AI researcher มาพัฒนาต่อยอดให้อยู่ในระดับที่พร้อมใช้งานได้จริงกับข้อมูลมหาศาลได้ หรืออีกรูปแบบคือการสร้างอัลกอริธึม และป้อนข้อมูลสอนโมเดล ซึ่งเป็นข้อมูลที่ Data Engineer จัดระเบียบไว้เรียบร้อยแล้ว เพื่อสร้างโมเดลที่สามารถเรียนรู้และประมวลผลได้ด้วยตนเองโดยอัตโนมัติ
หน้าที่ของ MLE ที่เซอร์ทิสจะเน้นการทำพัฒนาโมเดลโดยการทำ Model Training เพื่อเทรนโมเดลด้วยข้อมูล ทำ Model Optimisation เพื่อเพิ่มประสิทธิภาพของโมเดลที่ทำงานได้ดีและมีขนาดเล็ก และทำ Model Prediction สร้างโมเดลที่คาดการณ์ข้อมูลได้ รวมถึงคอยดูแลนำโมเดลขึ้นระบบให้ใช้งานบนระบบ Cloud หรืออุปกรณ์ IoT อื่น ๆ และรองรับการใช้งานจากผู้ใช้งานจำนวนมากได้
แน่นอนว่าความรู้หลัก ๆ ที่ MLE ต้องมีคือพื้นฐานด้าน Computer Science มีความรู้เรื่องอัลกอริธึมและการพัฒนาโมเดล มีความรู้เรื่องภาษาการเขียนโปรแกรม โดยที่เซอร์ทิส เราจะใช้ภาษา Python, C++ และ GO มีความสามารถในการใช้งาน Framework เช่น TensorFlow, Pytorch, MXNet, CAFFE, และ ONNX เป็นต้น
ที่เซอร์ทิส เราได้ทำงานกับลูกค้าที่เป็นบริษัทชั้นนำ และล้วนต้องการนำแมชชีนเลิร์นนิงไปปรับใช้เพื่อแก้ปัญหาในชีวิตประจำวัน การสร้างโมเดลให้ลูกค้าจึงจะช่วยแก้ปัญหาหลากหลายและเป็นประโยชน์ในการทำให้ชีวิตของเราทุกคนง่ายขึ้นแน่นอน
สามารถเรียนรู้เพิ่มเติมเกี่ยวกับตำแหน่ง Machine Learning Engineer ของเราได้ที่
Site Reliability Engineer​​ (SRE) คืออะไร?
มารู้จักกับวิศวกรตำแหน่งสุดท้ายซึ่งฉีกแนวออกมาทางด้านซอฟต์แวร์ ได้แก่ Site Reliability Engineer หรือ SRE นั่นเอง ปัจจุบันมีการพัฒนาซอฟต์แวร์ที่ซับซ้อนขึ้นเรื่อย ๆ และมีฟีเจอร์ใหม่เกิดขึ้นอย่างรวดเร็ว และทำให้มีปัญหาทางระบบปฏิบัติการที่ซับซ้อนมากขึ้นให้ต้องแก้ไข
ด้วยเหตุนี้จึงทำให้เกิดตำแหน่ง SRE ซึ่งเป็นคนที่จะพัฒนาซอฟต์แวร์ในแบบที่เน้นเรื่องความ ‘เสถียร’ และประสิทธิภาพการใช้งานระยะยาวเป็นหลัก เป็นหนึ่งในหน้าที่ของกระบวนการพัฒนาซอฟต์แวร์แบบ DevOps ที่เน้นการพัฒนาซอฟต์แวร์อย่างรวดเร็ว ทำงานเป็นทีม รับผิดชอบดูแลตลอดวงจร ซึ่งตำแหน่ง SRE นี้เป็นเสมือนการรวมเอาตำแหน่งของนักพัฒนาซอฟต์แวร์ และคนที่คอยดูแลระบบปฏิบัติการไว้ในคนเดียวกัน
ดังนั้นหน้าที่หลักของ SRE จึงเป็นการทำงานร่วมกันกับนักพัฒนาซอฟต์แวร์ โดยหลังจากมีการเขียนโค้ดเรียบร้อยแล้ว SRE จะต้องเข้ามาทำหน้าที่ในการพัฒนาให้ซอฟต์แวร์นั้นทำงานได้อย่างเสถียร รับมือกับรูปแบบการใช้งานได้อย่างยืดหยุ่น และรับมือกับปัญหาที่ไม่คาดคิดได้ โดยใช้ระบบอัตโนมัติให้ซอฟต์แวร์สามารถปรับตนเองให้รับมือกับทุกสถานการณ์แบบเรียลไทม์ และเพิ่มความเป็นไปได้ในการขยายระบบต่อไป
ผู้คิดค้นและนิยามตำแหน่งนี้ขึ้นครั้งแรกคือ Google โดยได้ออกหนังสือที่ชื่อว่า Site Reliability Engineering เพื่อเผยแพร่แนวคิดของการจัดการปัญหาโครงสร้างของซอฟต์แวร์ ที่เน้นให้ความสำคัญกับความเสถียรมากขึ้น
ดังนั้นความสามารถของ SRE เน้นไปที่ความสามารถในการเขียนโปรแกรม โดยที่เซอร์ทิสจะใช้ภาษา เช่น Python และ Java และออกแบบโครงสร้างของโปรแกรมให้รับมือกับความผิดพลาดได้อย่างยืดหยุ่น มีความรู้ในการดูแลเสถียรภาพของโปรแกรม มีความสามารถในการทำ CI/CD ในการพัฒนาซอฟต์แวร์ให้เป็นระบบอัตโนมัติ มีความรู้เรื่องการติดตั้งซอฟต์แวร์ให้อยู่ใน Infrastructure เช่น ระบบ Cloud ต่าง ๆ ที่ปลอดภัยและทำงานได้อย่างมีประสิทธิภาพ
มาดูภาพรวมความแตกต่างของ 3 ตำแหน่งกัน สมมุติว่ามีลูกค้ารายหนึ่งต้องการทำโปรเจ็กต์สร้างโมเดลวิเคราะห์ข้อมูลในองค์กรแบบอัตโนมัติ และนำโมเดลไปพัฒนาเป็นซอฟต์แวร์ที่มีฟีเจอร์พร้อมใช้งาน หน้าที่ของทั้ง 3 ตำแหน่งมีดังนี้
Data Engineer จะเป็นคนดึงข้อมูลทั้งหมดที่ต้องใช้และกระจัดกระจายอยู่ตามส่วนต่าง ๆ แหล่งข้อมูลต่าง ๆ มาปรับรูปแบบ จัดระเบียบ สร้าง Data Pipeline เพื่อจัดเก็บข้อมูลเหล่านั้นไว้ใน Data Warehouse ที่พร้อมใช้งาน
Machine Learning Engineer จะนำข้อมูลเหล่านั้นมาเทรนโมเดลที่พัฒนาขึ้นเพื่อให้สามารถประมวลผลและวิเคราะห์ข้อมูลได้อัตโนมัติ โดยพัฒนาให้โมเดลมีประสิทธิภาพ ใช้งานกับข้อมูลจำนวนมากได้จริง
Site Reliability Engineer จะดูแลในด้านการเขียนโปรแกรมปรับแต่งให้ซอฟต์แวร์ใช้งานได้เสถียรที่สุด และรับมือกับปัญหาหรือสถานการณ์ต่าง ๆ ในการใช้งานได้อย่างอัตโนมัติ
พอเห็นภาพกันแล้วใช่มั้ยครับว่า 3 ตำแหน่งนี้แตกต่างกันอย่างไร และสามารถทำงานร่วมกันในส่วนไหนได้บ้าง
ที่เซอร์ทิสเราเชื่อว่าการจะพัฒนาเทคโนโลยีใหม่ ๆ ไม่ว่าจะด้านใดก็ตามนั้นต้องอาศัยการทำงานร่วมกันและแลกเปลี่ยนความรู้กันจากผู้เชี่ยวชาญในหลาย ๆ ด้าน ทุกตำแหน่งล้วนมีความสำคัญและมีบทบาทที่ต่างกันไป
การแลกเปลี่ยนข้อมูลและการปรับตัวอย่างยืดหยุ่น ตามรูปแบบการทำงานแบบ Scrum และ Agile ที่เน้นใช้ประโยชน์จากความสามารถของพนักงานทุกคนอย่างสูงสุดจึงเป็นหัวใจหลักของวัฒนธรรมการทำงานที่เซอร์ทิสของเราครับ
ถ้าหากสนใจมาเป็นส่วนหนึ่งของเซอร์ทิส สามารถดูรายละเอียดตำแหน่งที่เปิดรับได้ที่: https://www.careers.sertiscorp.com/open-positions
บทความโดย: ทีม Sertis
    • กำลังนิยมในบล็อกดิต
      ⚠️[BREAKING]⚠️ Bill Ackman ออกมาเตือนว่านักลงทุนส่วนใหญ่กำลังเข้าใจผิด ! ถ้าโอไมครอนระบาดเร็วขึ้น แต่อาการไม่รุนแรง จะยิ่งเป็นการดันให้ตลาดหุ้นปรับตัวสูงขึ้นไปอีก ! ไม่ใช่ปรับตัวลดลงอย่างที่ตลาดกังวล ! 📌 Bill Ackman นักลงทุนชื่อดังที่หลายคนยกให้เป็น Warren Buffett คนต่อไปได้ออกมาเตือนนักลงทุนทั้งโลกว่า...
      กรณีศึกษา 60 ปี ไทยออยล์ บริษัทโรงกลั่นน้ำมัน ที่มีขนาดใหญ่สุดในประเทศไทย ไทยออยล์ X ลงทุนแมน ปัจจุบันโรงกลั่นนํ้ามันในประเทศไทยมีอยู่ 6 แห่ง แต่รู้หรือไม่ว่า โรงกลั่นน้ำมันที่มีขนาดใหญ่และมีอัตราการกลั่นน้ำมันสูงที่สุดในประเทศ ก็คือโรงกลั่นน้ำมันไทยออยล์
      ราคาหุ้น Twitter พุ่ง 11% หลังมีข่าวว่า Jack Dorsey จะลงจากตำแหน่ง CEO ล่าสุด มีรายงานจาก CNBC ว่า Jack Dorsey ผู้ร่วมก่อตั้งและเป็น CEO ของบริษัท Twitter คิดจะก้าวลงจากตำแหน่ง CEO ของ Twitter
      สาวปริศนา น้องกะทิ Influencer เสมือนจริง ไอดอลสัญชาติไทย ไปไกลระดับโลก หลายคนอาจจจะได้เห็นสาวปริศนาที่ปรากฏตัวบนบิลบอร์ดหรือบนปกแมกกาซีนทั้งไทยและเทศ เธอคือ “กะทิ” (Katie) Virtual Influencer สัญชาติไทยที่มาแรงที่สุดในขณะนี้
      ดูทั้งหมด