39 poin oleh xguru 2024-11-25 | 1 komentar | Bagikan ke WhatsApp
  • 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

  1. 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
  2. Proyek portofolio:

    • Membuat proyek yang dapat menunjukkan kemampuan teknis nyata
  3. 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

  1. 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
  2. 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
  3. 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

  1. Memanfaatkan LinkedIn:

    • Membangun networking dengan hiring manager dan rekan seprofesi
    • Meningkatkan visibilitas dengan membagikan perjalanan belajar
  2. 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

 
joon14 2024-11-25

Scala sebenarnya bahasa yang sangat bagus, tetapi sayang rasanya kegunaannya makin menyusut selain untuk Spark.