ข้อใดคือทักษะหลักที่สำคัญสำหรับอาชีพ Data Engineer

ข้อใดคือทักษะหลักที่สำคัญสำหรับอาชีพ Data Engineer

เขาว่ากันว่า Data Scientist เป็นอาชีพที่ Sexy และเป็นมนุษย์ทองคำแห่งยุคนี้ แต่หากเรากำลังพูดถึงการสู้รบกับ Big Data จริงๆ แล้วนั้น การวางกำลังพลกองทัพครั้งนี้ เห็นทีต้องวาง Data Scientist เป็นอัศวิน ม้าเร็วผู้เก่งกล้า และมอบตำแหน่งแม่ทัพใหญ่ให้ Data Engineer เป็นผู้นำรบ

Data Engineer คือ ใคร ??

เขาคือบุคคลที่ทำหน้าที่ในการจัดการข้อมูลทั้งหมดของระบบ ตั้งแต่ระบุชนิดของข้อมูล วางโครงสร้างการเข้าออก ทั้งระบบหลังบ้าน และการใช้งานหน้าบ้าน รวมไปถึงเป็นผู้รับผิดชอบในการทำให้ข้อมูลเป็นระเบียบสวยงาม และพร้อมใช้ เพื่อส่งต่อให้ Data Scientist นำไปต่อยอดได้

ฟังๆ ดูแล้วเหมือนจะไม่ซับซ้อน แต่ความเป็นจริง เป็นงานที่ต้องอาศัยทักษะหลายๆ ด้านมารวมกัน ตั้งแต่ระบบ ETL, การ Clean ข้อมูลทั้งในเชิง structure และสถิติ, การดึงข้อมูลจากระบบ Online หรือ Real-Time จนไปถึงการ Transform Model ที่ Data Scientist สร้างขึ้นมา ให้นำไปขึ้นเป็น Production หรือ สร้างเป็น Application เพื่อให้ Data Analyst ใช้งานต่ออีกด้วย

ข้อใดคือทักษะหลักที่สำคัญสำหรับอาชีพ Data Engineer

บางคนอาจจะสงสัยต่อว่า แล้วงานนี้มีความแตกต่างจาก IT หรือ SA (System Architect) อย่างไร?

คำตอบคือ Data Engineer มีหน้าที่ทำให้ทุกระบบต่อกันได้หมด เรียกว่าเป็น Data Pipeline เพื่อไม่ให้การไหลของข้อมูลต้องสะดุด จนทำให้กระทบต่อธุรกิจ ในขณะที่ IT หรือ SA จะมีความเชี่ยวชาญระบบใด ระบบหนึ่งเช่นระบบ server เป็นต้น ซึ่งก็คือว่า IT และ SA อาจเป็นอีกบุคคลสำคัญที่ต้องคอยสนับสนุน Data Engineer อีกกำลังหนึ่ง

เนื่องด้วยเทคโนโลยีทุกวันนี้เติบโต และเปลี่ยนแปลงอยู่ตลอดเวลา เช่น เมื่อก่อน การใช้ Physical Data Warehouse แต่ปัจจุบันมีเทคโนโลยี Cloud Computing ที่ช่วยให้การหมุนเวียนของข้อมูลจำนวนมาก สามารถทำโดยไม่ต้องใช้กำลังคน Manual มากนัก ด้วยเหตุนี้ งานหินของ Data Engineer คือ ต้องสามารถเข้าใจ Code ในหลายๆ ภาษาได้ และไม่ยึดติดกับ Platform ใด Platform หนึ่ง และต้องหมั่นศึกษา Update เทคโนโลยีใหม่ๆ อย่างต่อเนื่อง เพราะต้องเตรียมตัวให้พร้อมสำหรับการเปลี่ยนแปลงอยู่เสมอ Data Engineer ที่ดีจะต้องศึกษา ฟังก์ชั่นการใช้งานต่างๆ เพื่อบอกถึงข้อดี-ข้อเสียของแต่ละ Platform ได้อย่างละเอียด

ตัวอย่างเครื่องมือของ Data Engineer มีดังนี้

- SQL (Structured Query Language) เป็นภาษาที่ใช้กันอย่างคุ้นเคยในระบบ databases ซึ่งเจ้า SQL นี้จะมีประโยชน์มากเมื่อแหล่งข้อมูลนั้นๆ มีที่มาและโครงสร้างที่เหมือนกัน

- NoSQL (Not Only SQL) เหมาะสำหรับ ระบบที่มีข้อมูลที่มีขนาดใหญ่ และไม่มีโครงสร้างที่ชัดเจน เจ้า NoSQL นี้ถูกออกแบบมาให้ยืดหยุ่น และขยายตัวได้ง่าย โดยหลักการของ NoSQL คือใช้โครงสร้างของข้อมูลได้หลายรูปแบบอาทิ key-value, wide column, graph หรือ document

- Python เป็นภาษาที่ถูกพูดถึงมากที่สุดในวงการ Big Data และ Data Science ด้วยเหตุนี้เอง Data Engineer จึงหนีไม่พ้นที่ต้องเข้าใช้งานเจ้า Python นี้ด้วย ปัจจุบัน Python สามารถทำตัวเป็น ETL ได้โดยการเขียน Script ขึ้นมาเพื่อเรียกข้อมูลจากแหล่งต่างๆ และนำไปใส่ใน Model และสร้าง Output ออกมาในที่เดียว หรือแม้กระทั่งในขั้นตอนของการ Export หรือ Transfer Output ออกมาให้ Front End ก็สามารถทำได้ ทำให้หลายๆ คน หลงรักเจ้า Python ด้วยความยืดหยุ่น และมีพลังของมัน

- Hadoop และ Spark ซึ่งได้ชื่อว่าเป็นเจ้าพ่อของวงการ Big Data ก็ว่าได้ เพราะมันทำงานกับชุดข้อมูลขนาดใหญ่ อย่างไรก็ตาม Hadoop ไม่เหมาะกับ ข้อมูลที่มีขนาดเล็ก และไม่สะดวกกับการใช้งาน real time ในขณะที่ Spark จะทำงานได้เร็วกว่า และรองรับการทำงานแบบ real time

- Cloud Computing ซึ่ง Cloud ที่ว่านี้ เป็นมากกว่า Storage แต่มันคือ Computer เครื่องหนึ่ง ที่วางอยู่ ณ Server ของเจ้าของที่อาจจะเป็น Private หรือ Public ก็ได้ ความน่าตื่นเต้นของ Cloud คือ มันไม่เพียงเป็นคอมเครื่องหนึ่งที่เรามี แต่มันมีความสามารถอื่นๆ เพิ่มเติม เช่น มี Platform ในการ integrate ข้อมูลได้ง่ายขึ้น และยังสามารถสร้าง Machine Learning ง่ายๆ ในตัวมันเองได้อีกด้วย

จะเห็นได้ว่า งานในระบบของ Big Data นั้นกว้างมาก ซึ่งส่วนใหญ่เป็นงานที่ต้องออกแบบด้วยทักษะเฉพาะด้าน ด้วยเหตุนี้เอง การทำงานในระบบ Big Data นั้น จึงควรมีการแบ่งงานให้ถูกที่ ถูกบุคคล เพื่อให้แต่ละบุคคลนั้นๆ มีความเข้าใจเชิงลึกในเนื้องาน และมีโอกาสได้แสดงออกถึงศักยภาพของตัวเองได้เต็มที่ แต่หากใช้คนคนเดียว ทำงานทุกด้าน อาจเป็นการเดินเกมที่ผิดพลาด เนื่องจาก Volume ของข้อมูลที่เยอะจนรับมือไม่ไหวนี้ ต้องใช้ความเข้าใจเชิงลึกในแต่ละส่วนเพื่อให้การจัดการในระบบเดินหน้าไปได้อย่างถูกทาง

อย่างไรก็ตาม เหตุผลที่ว่า Data Engineer เป็นดังแม่ทัพ เพราะในขั้นตอนของการทำ Data Process ทั้งหมด มีเขาเป็นคนรวบรวมกำลังพล และวางเกม ตั้งแต่หลังบ้าน ยันหน้าบ้าน ในขณะที่ Data Scientist เป็นผู้ออกแบบ Model ซึ่งเป็นดั่งหัวใจของงาน ดังนั้น career path ของทั้ง 2 คนนี้จึงแตกต่างกัน อยู่ที่ว่าแต่ละคนจะสะสมความสามารถไปได้ไกลแค่ไหน และมีการเพิ่ม Skill ส่วนอื่นๆ ควบคู่ไปด้วยหรือไม่

Digital Disruption กำลังเดินหน้าไปอย่างรวดเร็ว จากปีที่แล้วที่ใครๆ มักพูดถึง Big Data จนล่าสุดมีการให้ความสนใจกับ Data Science, Machine Learning และ Artificial intelligence มากขึ้นเรื่อย ในอนาคตอันใกล้นี้ อีกหนึ่งหัวข้อที่กำลังจ่อคิวเป็น Disruption อย่างเลี่ยงไม่ได้ คือ คือ Cloud และ Data Pipeline เพราะมันกำลังเข้าทำให้ระบบ Data Warehouse แบบเดิมๆ กำลังเปลี่ยนไป