ทักษะและความรับผิดชอบต่างๆของ data engineer

Image placeholder
แวะมาทักทายกันได้



ช่วงนี้ คงจะโพสวนเวียนอยู่กับหนังสือเล่มนี้ จริงๆแล้ว source file แบบฟรีก็มีนะ แต่ไม่ได้เปิดอ่านเลย แต่พอเป็นหนังสือ มันรู้สึกหยิบจับ ขีดเขียนง่ายกว่า

.

จากโพสที่แล้ว สรุปไปในหัวข้อของ maturity ระดับความเชี่ยวชาญของการนำข้อมูลไปใช้ ส่วนโพสนี้ก็จะสรุปต่อเนื่องจาก โพสที่แล้วนี้แหละ อ่านจบไปแล้ว 1 บท ในบทแรก ก็จะมีอยู่ 4 หัวข้อหลัก ซึ่ง maturity ก็เป็น 1 ในหัวข้อของบทแรก

.

สำหรับโพสนี้ จะสรุปในหัวข้อของ ทักษะและความรับผิดชอบต่างๆของ data engineer ในหนังสือกล่าวว่า

.

มีคำถามมากมาย เกี่ยวกับการจะมาเป็น data engineer หลายๆคนอาจจะจะทำงานสายงานอื่นๆ มาแล้วเกิดสนใจที่จะมาเป็น data engineer อาจจะคิดว่าเป็น สายงานที่น่าสนใจ หรือ อาจจะเป็นเพราะตามสถาบันการศึกษาไม่ได้เน้นงานด้านนี้มากนัก ไม่มี learning path ที่ชัดเจน

.

หลังจากที่ได้อ่านหนังสือ Data Engineer Foundation ก็ทำให้เข้าใจมากขึ้นกับสิ่งที่ Data engineer ควรรู้และจำเป็นในการทำงาน

.

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

.

นอกจากจะต้องเข้าใจเรื่องที่กล่าวมาข้างต้น แล้ว ในเรื่องของ เทคโนโลยี เครื่องมือที่จะช่วยในการทำงานเพื่อให้เกิด best practice ในการจัดการข้อมูล วิธีการเลือกเครื่องมือ และ ความเข้าใจในเรื่องของ การพัฒนาซอฟต์แวร์, การดูแลระบบ และ โครงสร้างของระบบที่ควบคุมการไหลของข้อมูล ไม่ต่างอะไรกับระบบไฟฟ้า หรือ ระบบท่อน้ำประปา

.

และสิ่งสุดท้าย คือ เก็บข้อมูลความต้องการของเหล่า User ที่ใช้ข้อมูลอยู่บ่อยๆ อย่าง นักวิเคราะห์ข้อมูล Data analyst และ นักวิทยาศาสตร์ข้อมูล Data scientist

.

จะเห็นว่า Data Engineer ไม่ได้ทำหน้าที่เพียงแค่ นั่งหน้าคอม เขียน code เพียงอย่างเดียวเท่านั้น ถ้าจะให้แบ่งบทบาทก็จะแบ่งได้ 2 หน้าที่ที่ต้องรับผิดชอบหลักๆ อยู่ 2 อย่าง คือ ความผิดชอบทางด้าน business และ ความรับผิดชอบทางด้าน Technical

.

ความผิดชอบทางด้าน business (Business Responsibilities)

สิ่งที่ต้องรู้และต้องทำความรับผิดชอบในส่วนนี้ เลยก็คือ

  1. ต้องมีวิธีการสื่อสาร ให้กับคนทั่วไป หรือ ชาวไอที เข้าใจ ในเรื่องที่เราพยายามจะสื่อสาร
  2. ต้องรู้วิธีในการ จำกัดขอบเขต และ รวบรวมความต้องการต่างๆ จาก user
  3. เข้าใจในเรื่องการ การพัฒนาซอฟต์แวร การดูแลระบบ
  4. เข้าใจในเรื่องของ Project Management ไม่ว่าจะเรื่อง ควบคุมค่าใช้จ่าย ควบคุมเวลา และ ความเสี่ยง
  5. เรียนรู้อยู่ตลอดเวลา เพราะ สายงานด้านข้อมูล มีการเปลี่ยนแปลงอยู่ตลอดเวลา

โดยสรุปแล้ว ต้องเข้าใจภาพใหญ่ ของธุรกิจตามทั้ง 5 ข้อ

ความรับผิดชอบทางด้าน technical (Technical Responsibilities)

สิ่งที่รู้ในด้านนี้ แน่นอนว่าจะต้อง รู้วิธีการสร้างระบบ รวบถึงวิธีการพัฒนาปรับปรุงให้ดีขึ้นด้วย ตามในรูปภาพปก


จะเห็นว่า flow ตามในรูปภาพ จะถูกแบ่งออกเป็น 2 ส่วน คือส่วนที่ จะต้องในเครื่องมือทางซอฟต์แวร์ในการสร้างขึ้นมา ตั้งแต่ต้นทาง ไปยัง ปลายทาง หรือ เรียกสั้นๆว่า ETL (Extract - Transform - Load) น่าจะคุ้นตากันอยู่บ้าง และในส่วนด้านล่าง อาจจะพอรู้ก็ได้แต่เป็นสิ่งที่ควรจะรู้เอาเป็นพิเศษ เพราะจะทำให้ Data Engineer จะโดดเด่นกว่าคนอื่นๆ เป็นพิเศษ

เครื่องมือทางซอฟต์แวร ที่จะขาดไปไม่ได้เลย ก็คือ การเขียนโปรแกรม เพื่อที่จะสร้าง pipeline ตามภาพขึ้นมาได้ ยังถูกแบ่งออกเป็น ภาษาหลักและภาษารอง ในการทำงานด้านนี้

ภาษาหลักก็ควรจะรู้ในภาษาดังต่อไปนี้

  1. SQL - เป็นภาษาพื้นฐานที่สุด ของงานด้าน Data เพราะเกี่ยวข้องการ ฐานข้อมูลโดยตรง
  2. Python - เป็นภาษาขั้นสูง ที่นำมาประยุกต์ใช้งานได้หลายอย่าง ไม่ว่าจะงานทางด้าน data science เขียนเว็บไซต์ และ data tools ต่างๆ
  3. JVM เช่น Java และ Scala ซึ่งจะมีประสิทธิภาพในเรื่องของ low-level feature กว่าภาษา python
  4. bash - เป็นภาษาที่ต้องใช้ในการทำงานบน server และ จะใช้บ่อยมากๆในการทำ data pipeline เพราะเกี่ยวข้องกับ server

ภาษารอง ที่ควรจะรู้ ถ้ามีโอกาสและเวลาที่มากพอ อย่างเช่น

  • R
  • Javascript
  • Go
  • Rust
  • C++
  • C#

เพราะว่า เครื่องมือต่างๆ ถูกแบ่งไปตาม องค์กรธุรกิจใหญ่ อย่าง Microsoft ก็จะใช้ C# เป็นต้น

ซึ่งทักษะเหล่านี้ก็จะนำไปใช้ กับ ในโพสถัดไป คือ Data Engineer ทำงานกับใครบ้าง


ส่วนใครอยากอ่านโพสถัดไปต่อ กด Ads เลยยย

แวะมาทักทายกันได้
donate