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

วิศวกรข้อมูล คือใคร ทำอะไร

วิศวกรข้อมูล ก็คือคนที่ทำงานเกี่ยวกับข้อมูลแหละ งานหลัก ๆ ของคนเหล่านี้ก็คือ การเตรียมข้อมูลโดยการรวบรวมข้อมูลจากหลายแหล่ง และเก็บไว้เพื่อนำข้อมูลไปใช้ต่อไป ไม่ว่าจะเป็น นำข้อมูลไปใช้วิเคราะห์ต่อ ใช้ทำ Dashboard หรือว่าให้คนอื่น ๆ เอาไปใช้ต่อได้ง่าย ฟังดูเหมือนง่าย แต่ว่า วิศวกรข้อมูลจำเป็นต้องมีความรู้หลายอย่าง เพราะถ้าจัดการเตรียมข้อมูลไม่ดี ก็จะได้ข้อมูลที่ไม่ดีและเป็นปัญหาต่อคนที่นำไปใช้ต่อ อาจจะได้ผลลัพธ์ที่ไม่ถูกต้องแม่นยำ หรือคนนำไปใช้ต่อต้องเสียเวลาเหนื่อยในการจัดการอีก

หน้าที่และบทบาทของวิศวกรข้อมูล

คำว่า วิศวกร ถ้าแปลง่าย ๆ คือคนที่ต้องออกแบบและสร้างบางสิ่งบางอย่าง สิ่งที่ วิศวกรข้อมูลต้องออกแบบและสร้างคือ Data Pipeline ที่ทำหน้าที่ส่งข้อมูลจากหลาย ๆ แหล่ง และนำข้อมูลดิบเหล่านี้มามาแปลงในรูปแบบที่นำไปใช้ได้ง่าย และเก็บไว้ที่เดียวกัน เช่นการทำ ETL หรือการทำความสะอาดข้อมูล (Cleasing Data) ก่อนที่จะนำไปเก็บไว้ที่ Data Lake หรือ Data Warehouse นอกจากนี้ยังต้องออกแบบและจัดการแพลตฟอร์มสำหรับโครงสร้างพื้นฐาน (Infrastructure) ของ Big Data และวิธีการเก็บข้อมูลทั้งหมด เพื่อให้เก็บข้อมูลให้มีประสิทธิภาพและง่ายต่อการไปใช้งาน อีกทั้งยังต้องจัดเตรียมช่องทางสำหรับให้คนอื่นที่ต้องการนำข้อมูลไปใช้ต่อผ่านทาง API, ฐานข้อมูล, หรือในรูปแบบไฟล์

อาวุธของวิศวกรข้อมูลมีอะไร

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

  • Data Ingestion เป็นเครื่องมือสำหรับนำเข้าข้อมูลเข้าสู่ Data Lake หรือ Data Warehouse จากหลายแหล่งหลายหลายรูปแบบ ตัวอย่างเครื่องมือเช่น Apache Airflow, Apache Nifi, Azure Data Factory
  • Data Processing เครื่องมือสำหรับนำข้อมูลมาประมวลผลโดยการทำความสะอาด ดัดแปลง หรือกรอง ก่อนที่จะเก็บ ข้อมูลอาจจะมาในรูปแบบของ batch หรือแบบ streaming เข้ามาก็ได้ ตัวอย่างเครื่องมือนี้ก็คือ Apache Spark, Apache Kafka
  • Data Storage เป็นที่พักข้อมูลหรือเก็บข้อมูล เพื่อรอสำหรับการแจกจ่ายและนำไปใช้ต่อ เป็นส่วนสำคัญเช่นกัน ขึ้นอยู่กับว่าจะเก็บรูปแบบไหน ลักษณะไหน และเก็บที่ไหน เช่นใน Data Lake หรือ Data Warehouse ตามประเภทของข้อมูลและการนำไปใช้ต่อ เพื่อให้สามารถเข้าถึงได้ง่ายและรวดเร็ว
  • Database หรือ ฐานข้อมูล ถือว่าเป็นเครื่องมือเก็บข้อมูลในรูปแบบโครงสร้างหรือกึ่งโครงสร้าง และสามารถเข้าถึงได้ง่ายด้วย SQL เป็นเครื่องจำเป็นสำหรับวิศวกรข้อมูล ตัวอย่างเช่น Relational Database เช่น  MSSQL, MySQL, Postgres หรือ NoSQL Database เช่น MongoDB, Cassandra, Redis
  • Distribution System เนื่องจากวิศวกรข้อมูลต้องทำงานกับข้อมูลที่เป็น Big Data การทำงานด้วยระบบที่เป็นลักษณะเครื่องเดียว อาจจะไม่เพียงพอสำหรับการเก็บ และการประมวลผล อีกทั้งยังขยายได้ลำบาก Distribution System จึงถือว่าเป็นเครื่องมือที่สำคัญ โดยเครื่องมือที่เป็นที่รู้จักก็คือ Hadoop
  • Machine Learning Framework เพราะว่าวิศวกรข้อมูลควรจะรู้และเข้าใจเครื่องมือพื้นฐานที่นักวิทยาศาสตร์ข้อมูลใช้งานเพื่อจัดเตรียมในการวิเคราะห์ เช่น PyTorch, Tensorflow
DE-tool
ตัวอย่างเครื่องมือที่ Data Engineer ใช้งาน
(รูปภาพจาก https://dzone.com/articles/how-to-become-a-data-engineer-a-hype-profession-or)

อยากเป็นวิศวกรข้อมูลต้องรู้อะไรบ้าง

การที่จะเป็นวิศวกรข้อมูลนั้นจำเป็นต้องมีความรู้ที่หลากหลายมาก อาจจะไม่จำเป็นต้องรู้ลึกหรือเชี่ยวชาญทุกเรื่อง ทักษะที่จำเป็นต้องรู้คือ

  • Programming Language เป็นสิ่งจำเป็นมากในการเป็นวิศวกรข้อมูล โดยภาษาที่ใช้บ่อย ๆ ในสายนี้คือ Python, R, Scala
  • SQL และ NoSQL เป็นอีกทักษะที่สำคัญ ต้องมีความรู้ในการเขียน Query เช่น SQL หรือ NoSQL ในการเข้าถึงฐานข้อมูล
  • Unix Shell Script เนื่องจากวิศวกรข้อมูล จำเป็นต้องทำงานกับ Server ที่เป็น linux และไม่มี GUI จึงหลีกเลี่ยงไม่ได้ที่ต้องรู้ shell script พื้นฐานในการจัดการกับ Server
  • Software Engineering เช่น การพัฒนาซอฟต์แวร์์ การออกแบบสถาปัตยกรรมของซอฟต์แวร์ การดูแลซอฟต์แวร์์
  • Data Processing และ Algorithm เพื่อให้สามารถจัดการข้อมูลได้อย่างรวดเร็ว และมีประสิทธิภาพในการเตรียมข้อมูล
  • Distribution System เพราะเป็นสิ่งที่วิศวกรข้อมูลหลีกเลี่ยงไม่ได้ที่จะต้องพบ เนื่องจากต้องจัดการกับข้อมูลจำนวนมาก จึงต้องเข้าใจการทำงานของ Distribution System
  • Cloud Computing ปัจจุบันหลายองค์กรเริ่มไปใช้ Cloud เนื่องจากว่ามีความเสถียร และดูแลง่าย การเรียนรู้และออกแบบบน Cloud จึงถือว่าเป็นสิ่งจำเป็นในยุคนี้ โดย Cloud ที่ใช้อยู่มากคือ AWS, Azure, และ Google Cloud Platform

วิศวกรข้อมูลและนักวิทยาศาสตร์ข้อมูลต่างกันไหม

datalake
ภาพจาก https://9gag.com/gag/aBnQKvO

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

อยากเป็นวิศวกรข้อมูลต้องทำอย่างไร

DE

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

  • เรียนจบมาจากสาขาที่เกี่ยวข้อง แทบจะทุกมหาวิทยาลัยมีการเรียนการสอนนี้ และมีหลายคณะที่มีความเกี่ยวข้องกับวิศวกรข้อมูล เช่น วิศวกรรมคอมพิวเตอร์, วิทยาการคอมพิวเตอร์, เทคโนโลยีสารสนเทศ (IT), วิศวกรรมซอฟ์ตแวร์ เป็นต้น
  • เรียนรู้จากแหล่งข้อมูลเพิ่มเติมในอินเทอร์เน็ต หลายคนที่ไม่ได้จบตรงสาย ไม่ได้หมายความว่าจะไม่สามารถเป็นวิศวกรข้อมูล ได้ และถึงเรียนจบตรงก็ไม่เพียงพอสำหรับวิศวกรข้อมูล การหาข้อมูลในอินเตอร์เน็ตเป็นสิ่งสำคัญ เพราะว่าเทคโนโลยีด้าน Big Data นั้นไปไวมาก ในอินเทอร์เน็ตมีทั้งข้อมูลอื่นและคอร์สที่มีทั้งฟรีและเสียเงิน เช่น Coursera, Udemy หรือ GBDi ก็มีเปิดสอนด้วยเช่นเดียวกันนะครับ
  • เริ่มงานระดับ junior ที่เกี่ยวข้องกับ Big Data บางคนที่จบใหม่ หรือจบไม่ตรงสาย อาจจะมองภาพไม่ออก การเริ่มงานที่ทำงานกับข้อมูล ก็ทำให้สามารถมองภาพข้อมูลง่ายขึ้น และส่งผลให้สามารถนำไปต่อยอดง่ายขึ้นในอนาคต
  • สอบ Certification ในปัจจุบันมี Certification ให้สอบได้หลายหลายมาก ซึ่งข้อสอบและแนวทางสามารถหาได้ง่ายผ่านอินเทอร์เน็ตและมีคอร์สเพื่อสำหรับการสอบโดยเฉพาะ การที่มี Certification ก็ถือว่าเป็นใบเบิกทางที่ดีสำหรับในการสมัครงาน

แหล่งอ้างอิง

https://www.techtarget.com/searchdatamanagement/definition/data-engineer

https://www.mastersindatascience.org/careers/data-engineer/

https://www.codecademy.com/resources/blog/what-does-a-data-engineer-do/

https://quanthub.com/what-is-data-engineering/

เนื้อหาโดย กุศะภณ เพชรสุวรรณ

ตรวจทานและปรับปรุงโดย นววิทย์ พงศ์อนันต์

Recommended Posts