อยากเป็น Data Engineer เริ่มต้นอย่างไร แล้วต้องเรียนรู้อะไรบ้าง?

จากงานของ datastack.tv ครับ เค้าทำ roadmap ไว้ประมาณนี้


(:point_up: กดที่รูปเพื่อขยายนะ)

แล้วก็ด้านล่างนี้เค้าบอกว่า nice to have แหละ

คิดเห็นกันอย่างไรบ้างเอ่ย? เบื้องต้นผมคิดว่าแต่ละคนจะมี learning path ที่แตกต่างกันครับ เราอาจจะไม่ต้องทำตาม roadmap ที่เค้าวางไว้ก็ได้ สามารถดูไว้เป็น guideline ว่ามีเรื่องอะไรบ้างที่เราควรรู้ ซึ่งจริงๆ คนที่เป็น Data Engineer ก็ไม่จำเป็นต้องรู้ทั้งหมดก็สามารถเริ่มงานได้ แล้วอย่างอื่นค่อยเริ่มไปศึกษาเพิ่มเติมก็ยังไม่สาย

จากรูป roadmap รูปแรก มี Technology หนึ่ง ที่ผมคิดว่าน่าจะหยิบเอามาเรียนรู้ตั้งแต่แรกๆ ช่วงต้นๆ เลยคือ Docker ครับ :joy:

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

5 Likes

เรื่อง Docker มีที่ให้ศึกษาเยอะมาก อาจจะลองเริ่มต้นที่นี่ก่อนได้

หรือจะแบบ interactive บนเว็บเลย ลองเล่นที่ Katacoda ได้นะ

หรือถ้าลงทุนยอมเสียเงินเล็กน้อย คอร์สของ Skooldio ก็สอนดีเลยทีเดียวครับ

2 Likes

สวัสดีครับ มาจากงาน What the duck #2 ครับ พวก data pipeline ควรเริ่มจากอะไรดีครับ

1 Like

สวัสดีครับบบ ^^ สำหรับพวก data pipeline ผมอยากแนะนำให้ลองเริ่มดู Airbyte ครับ

อีกตัวหนึ่งที่เค้าบอกว่าเริ่มต้นได้ง่ายคือ Prefect ครับ เค้าพัฒนาขึ้นมาเพราะว่าเค้าเห็นข้อที่สามารถปรับปรุงต่อยอดได้จาก Airflow และพยายามทำให้พัฒนา data pipeline ง่ายกว่า Airflow ครับ

ในกรณีที่เขียนโค้ดเอง มีเครื่องมืออีกตัวหนึ่งที่อาจจะลองดูเพิ่มเติมคือ Singer.io ครับ เอาไว้สำหรับเวลาถ้าเราเขียนโค้ดเพื่อเชื่อมต่อกับ Source หรือ Destination ตรงนี้จะช่วยทำให้ชีวิตเราง่ายขึ้น ไม่ต้องลงแรงมาก

1 Like

ขอบคุณมากๆครับพี่กาน ไงจะไปลองศึกษาดูครับ พอดีเรียน Data science มาจากพี่ทอยแล้วรู้สึกว่าอยากลองเข้าโลก Data Engineer บ้างครับ :sweat_smile: :joy:

1 Like

แจ่มเลยครับ ถ้าสงสัยอะไร อยากเรียนรู้อะไรเพิ่มเติม แวะมาพูดคุยกันได้นะครับ :blush:

ไปเจอ LINE Developers Podcast เล่าประสบการณ์จาก Developer ไปเป็น Data Engineer น่าสนใจมากครับ มี 2 ตอน

1 Like

บทความนี้ก็น่าสนใจนะครับ สำหรับผู้เริ่มต้น

เค้าพูดถึง 10 หัวข้อตามนี้

  1. Programming Language (Python, Java, Scala)
  2. Data Structure
  3. DBMS (SQL)
  4. NoSQL (Cassandra)
  5. ETL (extract, transform, load)
  6. Big Data
  7. Shell Scripting
  8. Data Warehousing
  9. Apache Airflow
  10. Cloud Service

ถึงแม้เค้าจะบอกว่าเป็นปี 2022 นะ ผมคิดว่าในทุกๆ ปีก็จะมีหัวข้อประมาณนี้แหละ ถ้าย้อนกลับไปดู roadmap ด้านบน แล้วก็ส่วนที่สำคัญที่สุดจริงๆ ที่หลายๆ ที่ไม่ค่อยพูดถึงคือเรื่อง software engineering นะครับ ดังนั้นเนี่ยเวลาที่เราเรียนรู้อะไรก็แล้วแต่ ตามหัวข้อด้านบนให้ลองพยายามนึกถึงเรื่อง software engineering ด้วยน้า :wink:

ส่วนข้อ 9 เรื่อง Apache Airflow อันนี้จริงๆ ไม่จำเป็นต้องเป็น Airflow นะครับ :joy: มีเครื่องมืออีกหลายตัวเลย ไม่ว่าจะเป็น Dagster, Prefect หรือ Argo Workflows อะไรแบบนี้เป็นต้น

จริงๆ ต้องแยกกันด้วย ว่า เป็น data engineer แบบไหน
เพราะตอนนี้เหมือน scope มันเริ่มชัดแล้ว ว่า data engineer จริงๆ มีสองแบบ คือ

  1. data platform engineer - อันนี้จะเป็นสเป็กแบบใน roadmap ข้างบน คือ software engineering ต้องได้ infra ต้องเทพ
  2. analytics engineer - เป็น analyst / bi developer ที่ใช้ sql ในการสร้าง data pipelines

แต่เพราะมันเป็นงานสายดาต้า ที่สิบบริษัทก็ job description คนละแบบ เพราะงั้นแล้วแต่เลยว่าแต่บริษัทอยากได้สเปกแบบไหน

แต่ถ้าจะมาสาย data platform engineer ยากสุดคือต้องรู้ infra และ system design เพราะต้องออกแบบ solution ที่มันสเกลได้ อันนี้ก็จะมีเขียนไว้ใน roadmap ข้างบน

concepts หากินก็พวก data modeling, slowly changing dimension, etl/elt, data lake, data warehouse, task orchestrator, distributed system

แล้วก็ ไปอ่านหนังสือของ Jesse Anderson มา เขียนไว้ได้น่าสนใจมาก เกี่ยวกับบทบาทและหน้าที่ของ data engineer ใน data team: Data Teams: A Unified Management Model for Successful Data-Focused Teams: 9781484262276: Computer Science Books @ Amazon.com

แต่ สิ่งที่ยากสุดไม่ใช่การเรียนรู้เครื่องมือ แต่เป็นการออกแบบ solution ให้ตอบโจทย์ users!!!

ผมนี่ลุกขึ้นปรบมือเลยครับ

2 Likes