Anantaya Pornwichianwong

Anantaya Pornwichianwong|6th July 2023

เปิด Roadmap สู่การเป็น Data Engineer ขั้นเทพภายใน 1 ปี

เปิด Roadmap สู่การเป็น Data Engineer ขั้นเทพภายใน 1 ปี


Data Engineer คือหนึ่งในอาชีพสายดาต้าอนาคตไกล ที่ใคร ๆ ก็อยากเป็น วันนี้เซอร์ทิสชวนมาเปิด Roadmap ที่จะช่วยให้คุณเป็น Data Engineer ได้ในหนึ่งปี


ก่อนอื่นเรามาทำความเข้าใจคร่าว ๆ กันก่อนว่า Data Engineer ทำงานอะไร? Data Engineer หรือ ‘วิศวกรข้อมูล’ คือผู้คอยดูแลจัดการการนำเข้าข้อมูลจากต้นทางให้ไปเก็บในปลายทางได้อย่างถูกต้อง ในรูปแบบที่เหมาะสม ให้คนอื่น ๆ ในทีมเอาไปทำงานต่อได้ เรียกได้ว่า สำหรับองค์กรที่ต้องทำงานกับข้อมูล Data Engineer ถือเป็นตำแหน่งที่ขาดไม่ได้เลยทีเดียว


แล้วถ้าเราอยากเป็น Data Engineer ให้ได้ภายใน 1 ปีพอจะเป็นไปได้มั้ย? บอกเลยว่าเป็นไปได้ครับ ขอแค่อาศัยการฝึกฝนอย่างมุ่งมั่น เพิ่มทักษะให้ตรงจุด ก็จะสามารถก้าวเข้าไปในโลกของ Data Engineer ได้


สำหรับ Roadmap ที่เราพามาดูกันในวันนี้มีทั้งหมด 12 ขั้นตอน แต่ละขั้นตอนใช้เวลาฝึกฝนประมาณ 1 เดือน ฝึกอย่างตั้งใจ ทำครบทุกขั้นตอนและครบ 1 ปีเมื่อไร อนาคตด้าน Data Engineer ก็เรียกได้ว่าสดใสแน่นอนครับ


1. เริ่มเรียนพื้นฐานด้านการเขียนโปรแกรม


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


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


2. ฝึกฝนความรู้พื้นฐานด้าน Computing


ขั้นตอนต่อมาหลังจากเรียน Python แล้ว การฝึกฝนพื้นฐานด้าน Computing ก็เป็นอีกขั้นตอนที่สำคัญของการเป็น Data Engineer โดยเน้นโฟกัสไปที่การฝึกใช้ Shell Script บน Linux เพื่อฝึกทำ Cron Jobs หรือทำการเซ็ต Environment หรือเพื่อทำงานกับ Distributed Environment นอกจากนี้ควรฝึกฝนการทำงานกับ APIs ต่าง ๆ เช่น GET, PUT และ POST การทำ Web Scraping เพื่อดึงข้อมูลจากหน้าเว็บไซต์ และการใช้เครื่องมือ Version Control อย่าง Git และ GitHub เพื่อทำงานร่วมกับทีมอื่น ๆ ด้วยเช่นกัน


3. ฝึกฝนการทำงานกับ Relational Database


ทุกโปรเจกต์ของ Data Engineer ต้องมีการทำงานกับ Database ที่ใช้จัดเก็บข้อมูล และ Relational Database ก็ถือเป็นอีก Database สำคัญที่ใช้งานในโปรเจกต์กันอย่างแพร่หลาย เนื่องจากมีคุณสมบัติ ACID (Atomicity, Consistency, Isolation และ Durability) ครบถ้วนและน่าเชื่อถือ ความสามารถและความเข้าใจการทำงานกับข้อมูลใน Database เหล่านี้จึงเป็นทักษะสำคัญที่ Data Engineer ขาดไม่ได้เลย ซึ่งการจะทำงานกับ Relational Database ได้นั้น Data Engineer ต้องฝึกฝนภาษา SQL (Structured Query Language) ด้วยเช่นกัน


4. ฝึกฝนพื้นฐานด้าน Cloud Computing


ขั้นตอนต่อมาคือการฝึกฝนการทำงานกับระบบ Cloud Computing เนื่องจาก Data Engineer จะต้องทำงานกับ Big Data อยู่ตลอดเวลา และระบบ Cloud ก็เป็นหนึ่งในระบบที่จัดเก็บและทำงานกับ Big Data ได้ดี โดยการเรียนรู้การทำงานกับ Cloud Computing จะช่วยให้ Data Engineer ทำงานกับข้อมูลได้อย่างไม่มีข้อจำกัดด้านทรัพยากร นอกจากนี้เทคโนโลยี Cloud Computing ยังช่วยให้ Data Engineer จัดการกับข้อมูลและทำขั้นตอนต่าง ๆ ที่ซับซ้อนทั้งหมดได้อย่างสะดวกสบายและสมบูรณ์ครบจบบน Cloud ได้เลย


5. ฝึกฝนการใช้เครื่องมือประมวลผลข้อมูล


ขั้นตอนต่อมาคือการฝึกประมวลผลข้อมูล Big Data ซึ่ง Big Data จะแบ่งเป็นสองแบบ ได้แก่ Batch และ Streaming ในขั้นตอนนี้เราจะฝึกฝนการจัดการกับข้อมูลประเภท Batch ก่อน ซึ่งข้อมูลแบบ Batch หมายถึงกลุ่มข้อมูลที่ถูกเก็บไว้ในช่วงระยะเวลาหนึ่ง เช่น การประมวลผลในรอบสัปดาห์ หรือรอบหนึ่งเดือน โดยใช้ Apache Spark และในขั้นตอนนี้ ควรเรียนรู้เกี่ยวกับคอนเซ็ปต์ของ ETL Pipeline ไปพร้อม ๆ กัน ซึ่งเป็น Pipeline ของการ Extract หรือดึงข้อมูลจากฐานข้อมูล Transform หรือเปลี่ยนข้อมูลให้เป็นรูปแบบที่กำหนด และ Load คือการจัดเก็บข้อมูลที่ปลายทาง เป็นคอนเซ็ปต์สำคัญที่ใช้ในทุกโปรเจ็กต์ของ Data Engineer


6. ฝึกฝนการใช้ Distributed Framework


การใช้ Hadoop Distributed Framework เป็นอีกส่วนสำคัญของโปรเจกต์ Data Engineer แทบทุกโปรเจกต์​ ซึ่ง Framework แบบ Distributed หรือแบบกระจาย จะช่วยให้ Data Engineer กระจายงานไปที่อุปกรณ์หลายเครื่องในเครือข่ายได้ โดยไม่ต้องพึ่งพาคอมพิวเตอร์แค่เพียงเครื่องเดียว ทำให้สามารถขยายการทำงานได้ดี และทนทานต่อความเสียหาย (Fault Tolerance)



7. ฝึกฝนการทำ Data Warehousing


ตอนนี้เรามาถึงครึ่งทางแล้ว และพร้อมที่จะเรียนรู้ความท้าทายที่แท้จริงในการรวบรวมและจัดเก็บข้อมูลใน Central Repository ซึ่งเป็นศูนย์กลางที่ให้คนในองค์กรสามารถค้นหาข้อมูลได้อย่างมีประสิทธิภาพ ในขั้นตอนนี้ เราจะได้เรียนรู้ความแตกต่างของ Database, Data Warehouse และ Data Lake รวมถึงเข้าใจความต่างระหว่างระบบการประมวลผลแบบ OLTP และ OLAP ด้วย ต่อมาในขั้นตอนนี้ Data Engineer จะต้องเรียนรู้ Star Schema และ Snowflake Schema ที่ใช้ออกแบบ Data Warehouse และการใช้เครื่องมือ Apache Hive ในการจัดการกับข้อมูลใน Data Warehouse อีกด้วย


8. เรียนรู้การจัดเก็บข้อมูลแบบ Streaming


ในขั้นตอนที่แล้ว เราได้เรียนรู้การจัดการกับข้อมูลแบบ Batch กันไปแล้ว ในขั้นตอนนี้เราก็จะมาเรียนรู้เกี่ยวกับข้อมูลแบบ Streaming กัน ข้อมูลแบบ Streaming เป็นข้อมูลที่จัดเก็บแบบเรียลไทม์ ซึ่งความท้าทายของการจัดการกับข้อมูลเรียลไทม์แบบนี้คือการทำให้มั่นใจว่าข้อมูลที่เกิดใหม่ในแต่ละวินาทีนั้น ได้รับการ Ingest หรือจัดเก็บใน Data Lake เรียบร้อยไม่สูญหาย ซึ่ง Apache Kafka คือเครื่องมือตัวกลางที่ช่วยให้การทำงานกับข้อมูลแบบ Streaming สมูทและน่าเชื่อถือ


9. เรียนรู้การประมวลผลข้อมูลแบบ Streaming


หลังจากเรียนรู้การ Ingest ข้อมูลแบบ Streaming แล้ว ขั้นตอนต่อมาคือการเรียนรู้การประมวลผลข้อมูลแบบเรียลไทม์ ซึ่งเดิมที Apache Kafka ก็เป็นเครื่องมือที่จัดการในส่วนนี้ได้เช่นกัน แต่การใช้เครื่องมืออย่าง Spark Streaming มาช่วยประมวลผลนั้นจะยืดหยุ่นมากกว่าสำหรับการทำ ETL ซึ่งระหว่างการฝึกฝน ทริคสำคัญคือการโฟกัสที่ DStreams, Stateless vs. Stateful transformations, Checkpointing และ Structured Streaming


10. ฝึกฝนการเขียนโปรแกรมขั้นสูง


ใกล้จะถึงจุดหมายของ Roadmap ของเราแล้วนะครับ ในขั้นตอนนี้เป็นการฝึกอีกทักษะที่จะเพิ่มแต้มต่อให้กับการเป็น Data Engineer ซึ่งเป็นทักษะการเขียนโปรแกรมแบบขั้นสูง เพื่อให้สามารถทำงานในโปรเจกต์ใหญ่ ๆ ได้ โดยในช่วงนี้ให้เน้นฝึกการเขียนโปรแกรมแบบ OOP (Object Oriented Programming) การทำความเข้าใจฟังก์ชันแบบ Recursive Function และการทำ Unit test และ Integration test


11. ฝึกฝนการใช้งาน NoSQL Database


ในการใช้งานฐานข้อมูลแบบ Relational Database ที่เราเรียนไปในตอนต้น หลายคนอาจเจอข้อจำกัด เช่น การที่เราจำเป็นต้องแปลงข้อมูลให้เป็น Structured Data อยู่เสมอ และการค้นหาข้อมูลขนาดใหญ่อาจทำได้ไม่เร็วพอ ซึ่ง NoSQL Database คือฐานข้อมูลรูปแบบที่จะมาแก้ไขปัญหานี้ได้ โดยเป็นฐานข้อมูลที่ใช้ได้กับทั้งข้อมูลแบบ Structured และ Unstructured ค้นหาข้อมูลได้เร็ว และเป็นที่นิยมใช้งานกันอย่างแพร่หลายมากขึ้นเรื่อย ๆ


โดยหัวข้อที่เราต้องโฟกัสคือการทำความเข้าใจความต่างระหว่าง SQL และ NoSQL Database และเรียนรู้เกี่ยวกับ NoSQL Database แบบต่าง ๆ รวมถึงอาจเลือกโฟกัสไปที่การฝึกฝนใช้ NoSQL Database สักอัน เช่น MongoDB ก็เป็นทางเลือกที่น่าสนใจ และเป็นฐานข้อมูลที่ใช้งานกันอย่างแพร่หลาย


12. เรียนรู้การจัดระเบียบ Workflow


Data Engineer มีหน้าที่ในการดูแลจัดการ Pipeline ที่ซับซ้อน ซึ่ง Pipeline แต่ละอันก็ทำงานกับข้อมูลที่ต่างกัน และต้องการการดูแลแยกกัน การเรียนรู้การใช้เครื่องมือ Workflow Management ที่มีประสิทธิภาพจึงถือเป็นอีกทักษะสำคัญที่ Data Engineer ต้องมี หนึ่งในเครื่องมือที่ใช้งานกันอย่างแพร่หลายนั้นได้แก่ Apache Airflow ที่จะมาช่วยควบคุมการไหลของ Workflow และการจัดการ Task ต่าง ๆ โดยหัวข้อที่ต้องโฟกัสในการฝึกใช้ Apache Airflow นั้นได้แก่ DAGs, Task dependencies, Operators, Scheduling และ Branching


เดินตาม Roadmap 12 ขั้นตอนนี้ เตรียมพร้อมกับการเป็น Data Engineer ที่อนาคตสดใสได้เลย


สำหรับใครที่กำลังสนใจงานด้าน Data Engineer รวมถึงตำแหน่งงานด้านข้อมูลอื่น ๆ เช่น Data Analyst หรือ Data Scientist สามารถเข้าไปดูตำแหน่งที่เปิดรับและรายละเอียดเพิ่มเติมได้ที่: https://www.careers.sertiscorp.com/jobs


มาร่วมเป็นส่วนหนึ่งของ Sertizens เพื่อพัฒนาและเติบโตไปด้วยกันนะครับ


Written By

Anantaya Pornwichianwong

Anantaya Pornwichianwong

Loading...
Turn your business into an AI-driven world

Solution

Big Data Transformation

Business Insight Analytics and Consultancy

Computer Vision Solutions

Custom AI-Driven Solutions

Address
Sertis Co., Ltd.
597/5 Sukhumvit Road, Khlong Tan Nuea,
Wattana, Bangkok, Thailand 10110
Tel
(66) 2-001-1893
Fax
(66) 2-001-1894
Work with us

We are a unified community with the same passion and goal

Copyright © 2024 Sertis Co.,Ltd. - All rights reserved.