ชวนมาดูหนึ่งวันของธี Data Engineer ที่เซอร์ทิสกัน
Data Engineer คือตำแหน่งที่ถ้าเทียบกับตำแหน่งอื่น ๆ อย่าง Data Analyst หรือ Data Scientist แล้ว หลายคนก็อาจจะยังไม่คุ้นเคยมากเท่าไหร่ แต่ขอบอกเลยว่า Data Engineer เป็นตำแหน่งที่สำคัญไม่แพ้ใคร และคือส่วนสำคัญที่ช่วยให้งานด้านข้อมูลต่าง ๆ เดินหน้าไปได้
วันนี้เราชวนทุกคนมารู้จักกับธี Data Engineer คนเก่งของเรา ซึ่งเป็นหนึ่งในทีม Data Engineer เล็ก ๆ ที่เซอร์ทิส แต่อยู่เบื้องหลังการสร้างระบบด้านข้อมูลที่ขับเคลื่อนความสำเร็จของโปรเจกต์ใหญ่ ๆ จำนวนมาก
ไปดูกันว่างานของธี ในฐานะ Data Engineer มีอะไรบ้าง ชีวิตการทำงานในแต่ละวันเป็นอย่างไร รวมไปถึงเครื่องมือที่ใช้ และสิ่งที่จุดประกายความชอบในสายงาน Data Engineer ของธี
งานที่ Data Engineer ต้องทำในแต่ละวันมีอะไรบ้าง?
“ผมอยากพูดก่อนว่า Data Engineering คืออะไร ซึ่ง ‘Data’ คือข้อมูล ส่วนคำว่า ‘Engineering’ คือการ ‘Design and Build’ ดังนั้นถ้าเอา 2 คำมาประกบกัน Data Engineering จะหมายถึง การออกแบบและสร้างระบบที่จัดการกับข้อมูลครับ
โดยทั่วไปแล้ว งานของ Data Engineer จะเป็นที่เข้าใจกันว่าเกี่ยวกับ ETL ซึ่งย่อมาจาก
‘Extract’ คือการดึงข้อมูลมาจากแหล่งต่าง ๆ
‘Transform’ คือการจัดการข้อมูลให้เป็นระเบียบ สวยงาม และพร้อมใช้งาน
‘Load’ คือการจัดเก็บข้อมูลในรูปแบบต่าง ๆ เช่น ใน Database เพื่อให้ Data Analyst, Data Scientist หรือผู้ใช้ทั่วไป สามารถเอาไปต่อยอดได้
เพราะฉะนั้นงานในแต่ละวันของ Data Engineer ก็จะเกี่ยวข้องกับขั้นตอน ETL เหล่านี้ครับ ซึ่งส่วนมากทีม Data Engineer ก็จะได้ทำงานกับแทบจะทุกทีมเลย แต่หลัก ๆ ก็จะเป็นทีม Consulting & Delivery ที่จะคอยวางแผนและติดตามโปรเจกต์ต่าง ๆ ให้เรา และทีม Data Analyst ซึ่งจะเป็นคนที่คอยให้ Requirement ในเชิง Data Modeling ว่าเขาอยากได้แบบไหน แล้วเราก็จะมีหน้าที่ต้องออกแบบให้ตอบโจทย์สิ่งที่เขาต้องการ”
ชีวิตการทำงานในแต่ละวันของ Data Engineer เป็นอย่างไรบ้าง?
9:00 AM - 10:00 AM - Breakfast and Coffee
ผมขอเรียกช่วงเวลานี้ว่าเป็นช่วงเวลาเตรียมความพร้อมก่อนทำงานครับ กินข้าวเช้า กินกาแฟ เหมือนกับเติมน้ำมันให้รถก่อนออกเดินทาง
10:00 AM - 11:00 AM - Project-based Daily Stand-up Meeting
ช่วง 10-11 โมง ก็จะเป็น Daily Stand-up Meeting ตามโปรเจกต์ครับ ซึ่งเราจะอัปเดตความคืบหน้าของงานที่ทำอยู่ให้คนอื่นในโปรเจกต์ได้รู้ Stand-up อันหนึ่งก็จะใช้เวลาตั้งแต่ 15-30 นาที ซึ่งถ้าผมอยู่ 3 โปรเจกต์ ก็อาจจะใช้ตั้งแต่ 30 นาทีถึง 1 ชั่วโมงต่อวัน ถือเป็นส่วนที่สำคัญครับ
1:00 PM - 7:00 PM - Project-based Tasks, Team Meetings, and more
หลังจากกินข้าวเที่ยงเสร็จก็จะเข้ามาทำงานในแต่ละโปรเจกต์ ซึ่งก็มีตั้งแต่ประชุมภายใน ประชุมกับลูกค้า รวมถึงงาน Development ส่วนตัว หรืออาจจะมี Meeting ของทีม Data Engineer เพื่ออัปเดตเรื่องต่าง ๆ ในทีม รวมไปถึงบางวันก็อาจจะมี One-on-One Meeting กับ Senior หรือ Manager เพื่ออัปเดตทั้งเรื่องงานของเรา เรื่อง Well-being และ Career Path ต่าง ๆ เช่น เราอยากเรียนรู้เพิ่มเติมอีกมั้ย และเขามีความคาดหวังแบบไหนในตัวเราครับ
เครื่องมือที่ใช้ในการทำงานของ Data Engineer มีอะไรบ้าง?
เครื่องมือที่ Data Engineer ต้องใช้ ผมขอแบ่งเป็น 2 แขนงครับ อันแรกได้แก่
Programming Languages หลัก ๆ เราก็จะใช้ Python กับ SQL โดย Python เป็น General Purpose Language ที่เป็นที่นิยมมากในการทำ Data Engineering เพราะว่ามีเครื่องมือ และ Library ต่าง ๆ ที่พร้อมใช้งานและเหมาะกับการวิเคราะห์ข้อมูล เช่น Pandas และ NumPy ส่วน SQL จะเป็นภาษาที่เราใช้ Query ข้อมูล เหมือนใช้คุยกับข้อมูล ถามคำถาม และหาคำตอบที่เราอยากได้จากข้อมูลนั้น
ส่วนอีกกลุ่มคือเครื่องมือที่ใช้ในเรื่องการจัดการข้อมูล ก็จะแบ่งย่อยได้ตามนี้ครับ
Database Management System (DBMS) สำหรับ DBMS ที่เป็น SQL ก็จะมี PostgreSQL ส่วน NoSQL ก็จะเป็น MongoDB หรือถ้าที่เราใช้ที่เซอร์ทิสก็จะเป็นเครื่องมือที่อยู่บน Cloud เป็นหลักครับ เช่น Google Cloud SQL ซึ่งจะเป็น DBMS ขนาดเล็ก หรือ Google Cloud BigQuery ที่เป็นเหมือน Data Warehouse Tool เลย ใช้จัดเก็บข้อมูลขนาดใหญ่ Query ข้อมูลเพื่อนำมาวิเคราะห์ และสามารถรันโมเดล Machine Learning ต่าง ๆ ได้
Orchestration ซึ่งก็คือเครื่องมือในการกำกับควบคุมระบบทั้งหมด อันที่ใช้เป็นหลักที่สุดก็คือ Apache Airflow ซึ่งเป็น Open-source Workflow Management Platform ที่ให้เราสามารถวาดกราฟเพื่อกำหนดสเต็ปต่าง ๆ ใน Data Pipeline ของเราว่าจะทำอะไรก่อนหลัง ส่วนบน Cloud ก็จะใช้ Cloud Composer ครับ
Data Processing มาถึงเรื่องของการจัดการข้อมูล ประมวลผล เช่น การจัดระเบียบ หรือการแปลงข้อมูล เราก็จะใช้ Apache Spark ซึ่งเป็น Open-source Cluster Computing Framework ที่ไว้ประมวลผล Big Data โดยกระจาย Workload ไปตาม Node ต่าง ๆ ใน Cluster ซึ่งบน Cloud ก็จะใช้ Dataproc เป็นหลักครับ
ชอบอะไรในความเป็น Data Engineer?
“สิ่งที่ผมชอบเกี่ยวกับ Data Engineer คือมันมักจะเป็นงานที่ถูกมองข้าม อย่างเวลามีคนถามว่าทุกวันนี้ทำงานอะไร เราก็ต้องอธิบายประมาณว่า เราคือคนที่ทำให้มันมีข้อมูล งานของเราอาจจะไม่ได้เด่นเท่ากับ Data Analyst หรือ Data Scientist ที่เอาข้อมูลไปหา Insight มาพรีเซนต์ แต่ Data Engineer จะเป็นเหมือนคนหลังบ้าน ที่ช่วยให้มันมีผลลัพธ์หรือ Insight ทั้งหมดนี้ออกมาได้
Data Engineer เป็นเหมือนกาวที่เชื่อมหลาย ๆ ทีม และหลาย ๆ ส่วนในระบบเข้าด้วยกัน ให้ทุกส่วนทำงานร่วมกันได้ ผมก็จะได้ไปร่วมงานกับทีมอื่นค่อนข้างเยอะ ซึ่งด้วยทีมเล็ก ๆ แค่ 4-5 คนของเรา มันสามารถสร้างและดูแลระบบที่ขับเคลื่อนธุรกิจขนาดใหญ่ได้เลย
การเป็น Data Engineer ยังได้รู้ในเชิงธุรกิจด้วย เราได้รู้ความต้องการของลูกค้าว่าเขาอยากได้อะไรจากข้อมูลนี้ เพราะฉะนั้นในขั้นตอนการออกแบบและการตัดสินใจเรื่องต่าง ๆ ในการทำงานของเรา ก็จะทำโดยมี Business Requirement อยู่ในใจด้วย”
มองว่าตัวเองในอีก 2 ปีข้างหน้าจะเป็นอย่างไร?
“คิดว่าก็ยังคงเป็น Data Engineer อยู่ครับ อยากจะพัฒนาทักษะ เพิ่มประสบการณ์ ให้มีความมั่นใจมากขึ้น ให้สามารถ Lead โปรเจกต์เองได้ แล้วก็หวังว่าจะได้มีส่วนร่วมกับโปรเจกต์ใหญ่ ๆ ที่ส่งผลกับโลก เช่น โปรเจกต์เกี่ยวกับสิ่งแวดล้อม หรือการช่วยให้ธุรกิจขนาดใหญ่สามารถหา Insight ที่มีประโยชน์กับเขาได้
และเราก็หวังว่าอีก 2 ปีเราก็ยังจะมีความสุขไปกับการเป็น Data Engineer ยังเรียนรู้จากคนอื่นอยู่เรื่อย ๆ มีทักษะและประสบการณ์พอที่จะสามารถสอนรุ่นน้อง และแชร์ประสบการณ์กับคนที่ทำงานด้วยกันได้ เท่านี้ก็โอเคแล้วครับ”
ทำความรู้จักกับ Life at Sertis ไม่ว่าจะเป็นทีม วัฒนธรรม และชีวิตที่เซอร์ทิสในแง่ต่าง ๆ พร้อมดูตำแหน่งที่เปิดรับสมัครได้ที่: https://www.careers.sertiscorp.com/
Comments