Roadmap Memasuki Data Engineering 2024
(blog.dataengineer.io)- Mendapat pekerjaan di bidang data engineering bisa terasa sulit karena ekosistem teknologinya yang kompleks (misalnya Spark, Flink, Iceberg, BigQuery, dll.)
- Hanya belajar Python dan SQL saja tidak cukup; dibutuhkan strategi yang sistematis dan praktik langsung
Elemen yang Dibutuhkan untuk Mendapat Pekerjaan Data Engineering
-
Kemampuan teknis:
- Mahir SQL dan Python
- Teknologi komputasi terdistribusi (setidaknya salah satu dari Snowflake, Spark, BigQuery)
- Memahami alat orkestrasi (Airflow, Mage, Databricks Workflows, dll.)
- Kemampuan data modeling dan pengelolaan kualitas data
-
Proyek portofolio:
- Membuat proyek yang dapat menunjukkan kemampuan teknis nyata
-
Personal branding:
- Menonjolkan profesionalisme melalui pengelolaan profil LinkedIn dan persiapan wawancara
Mempelajari dan Menguasai SQL
- SQL adalah bahasa wajib dalam data engineering:
- Rekomendasi sumber belajar:
- Konsep inti:
- Jenis JOIN: INNER, LEFT, FULL OUTER (RIGHT JOIN hampir tidak pernah digunakan)
- Agregasi dengan GROUP BY dan penggunaan DISTINCT
- Memahami window function dan perbedaan RANK, DENSE_RANK, ROW_NUMBER
- Memahami keyword dan shuffle dalam lingkungan SQL terdistribusi (misalnya JOIN, GROUP BY, ORDER BY)
- Pemanfaatan CTE(Common Table Expression), Temp Table, dan View
Mempelajari Python dan Scala
- Pemilihan bahasa:
- Pemula disarankan Python, yang sudah berpengalaman disarankan Scala.
- Konsep penting:
- Struktur data: list, dictionary, stack, dll.
- Algoritma: loop, binary search, memahami notasi Big O
- Penggunaan utama Python:
- Menulis Airflow DAG
- Berinteraksi dengan REST API
- Menulis Spark UDF dan mengoptimalkan performa
Konsep Komputasi Terdistribusi
- Inti komputasi terdistribusi:
- Memahami arsitektur berbasis Hadoop/Spark yang mendistribusikan beban pemrosesan data
- Mengelola masalah shuffle dan skew:
- Menggunakan Broadcast JOIN, Bucket JOIN, dan partisi
- Menggunakan adaptive execution di Spark 3+
- Pengelolaan data output:
- Mengoptimalkan ukuran file dengan memanfaatkan run length encoding pada file Parquet
Menjamin Kualitas dan Kegunaan Data
-
Kualitas data:
- Menghapus duplikasi, memeriksa nilai NULL, serta memastikan format dan volume data sudah sesuai
- Menambahkan validasi kualitas ke pipeline data dengan alat seperti Great Expectations
-
Kegunaan:
- Dokumentasi yang memadai dan penyelarasan spesifikasi sejak awal
- Pendekatan data modeling:
- Memahami kelebihan dan kekurangan masing-masing dari relational, Dimensional(Kimball), dan One Big Table
-
Kepatuhan privasi:
- Menganonimkan informasi identitas pribadi (PII) dan meminimalkan masa retensi data
Membuat Proyek Portofolio
- Ciri proyek yang efektif:
- Memilih topik yang benar-benar diminati secara pribadi
- Membuat proyek yang terhubung dengan frontend (misalnya Tableau, Power BI)
- Menerapkan teknologi terbaru (Spark, Snowflake, Delta Lake, dll.)
- Mengimplementasikan pipeline yang berjalan di lingkungan production
Personal Branding dan Persiapan Wawancara
-
Memanfaatkan LinkedIn:
- Membangun networking dengan hiring manager dan rekan seprofesi
- Meningkatkan visibilitas dengan membagikan perjalanan belajar
-
Persiapan wawancara:
- Meneliti latar belakang pewawancara dan perusahaan
- Menanggapi pertanyaan dengan tenang dan positif
- Menunjukkan rasa ingin tahu dan antusiasme terhadap teknologi serta peran yang dilamar
Kesimpulan
- Mendapat pekerjaan data engineering pada 2024 tetap memungkinkan dengan pendekatan strategis meski kondisi pasar sedang sulit
- Mengikuti roadmap di atas akan membawa Anda lebih dekat ke karier data engineering yang dituju
1 komentar
Scala sebenarnya bahasa yang sangat bagus, tetapi sayang rasanya kegunaannya makin menyusut selain untuk Spark.