พอดีย้ายมาเป็น Data Engineer ได้ 3 เดือนแล้ว รู้สึกว่าเจออะไรเยอะมาก เลยแบ่งปันไว้นิดหน่อยฮะ ต้องขอบคุณ Community นี้ด้วย ที่เป็นแหล่งความรู้ให้ผมหลายอย่างเลย
555 เราอยู่ๆ โดนจับมาทำ data engineer แบบไม่รู้ตัว
ของเราเริ่มจากเป็น IT support / ops / sysadmin, มาจับ programming แล้วโปรเจคแรกตอนจบคือทำ large scale web scraping
หลังจากนั้นก็โดนจับไปทำ data platform ก็คือขึ้นโครง schema, data modeling และ วาด infra
ทำไปนานมาก จนมารู้ตัวตอนหลัง ว่า สิ่งที่ทำอยู่มันเรียกว่า platform engineering
สุดท้าย ตอนนี้เขียน terraform กับ bash บ่อยกว่า python (มัวแต่เย็บ ci/cd ให้งัยยยย)
อ้อ แล้วที่สังเกตุ ส่วนใหญ่ SWE ที่มาจับงาน data จะช็อคน้ำตอนเจอ distributed systems กับ data intuition / data modeling เพราะตอนทำ frontend/backend อาจจะไม่ได้เจอกับ data สเกลที่ยัดลง RAM ไม่ได้ และตอนเขียน backend ส่วนใหญ่ก็ทำผ่าน ORM กัน เลยอาจจะเขียน sql ไม่คล่อง
edit: เขาว่ากันว่า data platform engineer คือลูกผสมระหว่าง software engineer + devops / infra + data
Data Engineer, Platform ตามนั้นเลยครับ นี่นึกภาพไม่ออกเหมือนกันว่าถ้าไม่เคยทำ Ops มาก่อนจะช็อคน้ำขนาดไหน โชคดีที่ผมผ่านยุค VM → Containerize, SOA → microservices มาเลยพอเอาตัวรอดไปได้ 555
เออแต่ผม paradigm shift เหมือนกันนะ ตอนกลับมาเขียน SQL หลังจากอยู่ในโลก ORM แล้ว encourage ให้ทุกคนเขียน ORM มาตลอดชีวิต พอมาเจอ CTEs นี่ เออ SQL มันก็เขียนดีๆ ได้นี่หว่า แต่พอมองย้อนกลับไปมุมฝั่ง application development ฝั่งนั้นก็เริ่มไหลจาก Imperative (OOP) มา Declarative (FP) เหมือนกันครับ เพื่อให้ชีวิตง่ายขึ้น (มั้ยนะ 555)
monolith ก็ง่ายดี แต่ติด scaling เลยกลายเป็น microservices
แล้วเจอกับดักว่า maintain ยาก share lib ลำบาก
วนกลับมาที่ containers
โดนกันถ้วนหน้า 55555
ฝั่ง data เมื่อก่อนก็ data cube ปัจจุบันโนสนโนแคร์ ยัดลง columnar database แล้วจบ
ชีวิตก็คงง่ายขึ้นเพราะมี tooling ใหม่ มันก็คงตอบโจทย์ pain point เดิม แต่ก็ต้องรอดูว่า มันจะเจอ pain point ตัวใหม่มั้ย
โพสต์นี้เพลินดี ได้อ่านประสบการณ์ของแต่ละคน ขอบคุณครับ
ของผมนี่เริ่มด้วยตอนเรียนมาทาง software engineering แล้วต่อ ป.โท + เอก ไปสาย computer vision + machine learning แล้วพอจบออกมาอยากจะลองของทำแนว data science แต่บริษัทแรก (Pronto Marketing) ตอนนั้นยังไม่ได้มีระบบอะไรเลย เลยต้องสร้างขึ้นมาก่อน ถึงจะเริ่มมีข้อมูลต่าง ๆ เอามาทำโมเดล
เวลาผ่านไปสักพัก… ทำไปทำมา ทำไมมันดูยากเหลือเกิน ข้อมูลก็เพี้ยน ๆ ลองทำโมเดลยังไงก็ดูใช้งานไม่ได้เอาซะเลย แล้วก็มาได้เจอหนังสือ Data Engineering Teams ของ Jesse นี่แหละ ประกอบกับเจอ Airflow (ตอนนั้นยังเป็น incubator อยู่) ก็ตาสว่างทันที แล้วก็เริ่มศึกษาของพวกนี้ ลองเล่น ลองสร้างมาตั้งแต่ตอนนั้นเลย