Data Engineering Roadmap
เส้นทางสู่สายอาชีพทางด้านวิศวกรรมข้อมูล
ความรู้พื้นฐานที่จำเป็น
- Software Engineering
 - Linux
 - Docker
 - Cloud
 - Security
 
ความรู้ต่อยอดที่สำคัญ
- Distributed Systems
 - Processing Frameworks
 - Big Data Platforms
 - Batch Processing
 - Real-Time Processing
 
Overview
Software Engineering
อาชีพวิศวกรซอฟแวร์เป็นอีกหนึ่งอาชีพที่มีความใกล้ชิดกับอาชีพวิศวกรข้อมูลเป็นอย่างมาก เพราะหนึ่งในสกิลที่เชื่อมโยงทั้งสองอาชีพอยู่เรียกว่า วิศวกรรมซอฟแวร์ (Software Engineering) หรือสกิลการเขียนโปรแกรมซึ่งเป็นอีกหนึ่งสกิลที่ Data Engineer ควรมีติดตัวไว้ เนื่องจากเป็นอาชีพที่ต้องจัดการกับข้อมูลขนาดใหญ่จึงต้องศึกษาเกี่ยวกับประสิทธิภาพในการออกแบบฐานข้อมูล และแพลตฟอร์มต่าง ๆ ด้วย
จากหัวข้อ Data Engineer Archtypes ได้มีการพูดถึงประเภทของ Data Engineer ซึ่งแบ่งตามประสบการณ์ และสกิลที่ใช้ในการทำงานในแต่ละองค์กร เช่น Data Engineer ที่ใช้ SQL ในการออกแบบ database และวิเคราะห์ข้อมูล หรือแม้แต่ตำแหน่ง GUI-based solutions ที่ใช้เครื่องมือประเภท No-code ในการจัดการกับข้อมูลก็อาจได้ใช้สกิลด้านโปรแกรมมิ่งน้อยกว่า Data Engineer ในสายอื่น ๆ ดังนั้น สกิลโปรแกรมมิ่งจึงจำเป็นกับสายงาน Data Engineer แต่ควรเลือกเรียนรู้ตามบริบทในแต่ละองค์กรนั่นเอง
ภาษาไพธอน (Python) เป็นภาษาโปรแกรมมิ่งที่ได้รับความนิยมอย่างมากในงานด้านวิทยาศาสตร์ข้อมูล (Data Science) เพราะเป็นภาษาระดับสูง (High Level Language) ที่มนุษย์สามารถเข้าใจได้ง่าย ไพธอนจึงเป็นภาษาเหมาะกับมือใหม่ที่ต้องการย้ายอาชีพเข้ามาในสายงานวิศวกรข้อมูล (Data Engineer) ในหัวข้อนี้เราจะมาพูดถึงองค์ประกอบต่าง ๆ ที่เป็นพื้นฐานของภาษาไพธอน ดังนี้
- Variable
 - Data Type
 - Data Structure
 - Function
 - Control Flow
 - OOP(Object Oriented Programming)
 
Variable
ตัวแปร (Variable) คือ กล่องที่ใช้เก็บค่าของข้อมูลต่าง ๆ ไม่ว่าจะเป็นค่าที่เป็นตัวเลข ตัวอักษร หรือค่าบูลีน การประกาศตัวแปรในภาษาไพธอนทำได้โดยใช้เครื่องหมาย "=" ในการบันทึกค่าใส่ในตัวแปร โดยวิธีการตั้งชื่อตัวแปรจะประกอบด้วยตัวอักษร ตัวเลข หรือเครื่องหมายขีดเส้นใต้ (Underscore) ตัวอักษรใหญ่
- Numeric Variable คือ ตัวแปรที่รับค่าเป็นตัวเลข
 
a = 23
a = b = 48
- String Variable คือ ตัวแปรที่รับค่าเป็นตัวอักษร
 
my_name = 'marry'
my_dog = "mootoo"
- Boolean Variable คือ ตัวแปรที่รับค่าเป็นบูลีน
 
movie_lover = True
popcorn_lover = False
นอกจากนี้ยังสามารถใช้ตัวดำเนินการ (Operator) ในการคำนวณได้อีกด้วย
apple = 500
orange = 200
total_fruit = apple + orange
print(total_fruit) # 500 + 200 = 700
Data Type
ประเภทของข้อมูลชนิดต่าง ๆ ที่อยู่ในภาษาไพธอนแบ่งออกเป็น 3 ประเภทใหญ่ ดังนี้
- Number Types : int, float
 - Text Type : string
 - Boolean Types : bool
 
Data Structure
- List
 - Dictionary
 - Set
 
Function
ฟังก์ชัน คือ การนำโค้ดเดิมมาใช้ซ้ำในส่วนที่เราต้องการ
วิธีการเขียนฟังก์ชันจะเริ่มต้นด้วย def ย่อมาจากคำว่า define ตามด้วยการเคาะช่องว่างหนึ่งช่อง และตามด้วยชื่อฟังก์ชันที่เปิดวงเล็บอยู่ซึ่งสามารถมีพารามิเตอร์ (parameter) หรือไม่มีก็ได้ จากนั้นปิดท้ายด้วยเครื่องหมายทวิภาค (Colon)
การประกาศฟังก์ชันแบบไม่มีพารามิเตอร์
def greeting():
    print("Hello World")
การประกาศฟังก์ชันแบบมีพารามิเตอร์ 1 ตัว
def greeting(name):
    print(f"Hello {name}")
การประกาศฟังก์ชันแบบมีพารามิเตอร์ 2 ตัว
def sum(a, b):
    total = a + b
    print(f"total number is {total}")
Control Flow
- if
 - for
 - while
 
