2024 Veri Mühendisliğine Giriş Yol Haritası
(blog.dataengineer.io)- Veri mühendisliği alanında iş bulmak, karmaşık teknoloji ekosistemi (ör. Spark, Flink, Iceberg, BigQuery vb.) nedeniyle zor görünebilir
- Yalnızca Python ve SQL öğrenmek yeterli değildir; sistematik bir strateji ve uygulamalı çalışma gerekir
Veri mühendisliği alanında işe girmek için gerekenler
-
Teknik yetkinlikler:
- SQL ve Python'a hakimiyet
- Dağıtık hesaplama teknolojileri (Snowflake, Spark, BigQuery'den en az biri)
- Orkestrasyon araçlarını (Airflow, Mage, Databricks Workflows vb.) anlama
- Veri modelleme ve veri kalitesi yönetimi becerisi
-
Portföy projeleri:
- Gerçek teknik becerileri gösterebilecek projeler üretmek
-
Kişisel markalaşma:
- LinkedIn profilini yöneterek ve mülakatlara hazırlanarak uzmanlığı vurgulamak
SQL öğrenimi ve uzmanlaşma
- SQL, veri mühendisliğinin vazgeçilmez dilidir:
- Önerilen öğrenme kaynakları:
- Temel kavramlar:
- JOIN türleri: INNER, LEFT, FULL OUTER (RIGHT JOIN neredeyse hiç kullanılmaz)
- GROUP BY ile toplulaştırma ve DISTINCT kullanımı
- Window function'lar ile RANK, DENSE_RANK, ROW_NUMBER arasındaki farkları anlamak
- SQL'in dağıtık ortamlarda anahtar kelimeleri ve shuffle'ı (ör. JOIN, GROUP BY, ORDER BY) nasıl etkilediğini anlamak
- CTE(Common Table Expression), Temp Table ve View kullanımı
Python ve Scala öğrenimi
- Dil seçimi:
- Yeni başlayanlara Python, deneyimlilere Scala önerilir.
- Önemli kavramlar:
- Veri yapıları: liste, sözlük, stack vb.
- Algoritmalar: döngüler, ikili arama, Big O gösterimini anlamak
- Python'ın başlıca kullanım alanları:
- Airflow DAG yazımı
- REST API ile etkileşim
- Spark UDF yazımı ve performans optimizasyonu
Dağıtık hesaplama kavramları
- Dağıtık hesaplamanın özü:
- Veri işleme yükünü dağıtan Hadoop/Spark tabanlı mimarileri anlamak
- Shuffle ve skew sorunlarını yönetmek:
- Broadcast JOIN, Bucket JOIN, partitioning kullanımı
- Spark 3+ içindeki adaptive execution'dan yararlanmak
- Çıktı verisinin yönetimi:
- Parquet dosyalarında run length encoding kullanarak dosya boyutunu optimize etmek
Veri kalitesi ve kullanılabilirliğin sağlanması
-
Veri kalitesi:
- Yinelenen kayıtları kaldırma, NULL değerleri kontrol etme, uygun formatı ve veri miktarını doğrulama
- Veri pipeline'ına Great Expectations gibi araçlarla kalite doğrulaması eklemek
-
Kullanılabilirlik:
- Uygun dokümantasyon ve önceden spesifikasyon üzerinde mutabakat
- Veri modelleme yaklaşımları:
- İlişkisel, Dimensional(Kimball), One Big Table modellerinin her birinin artılarını ve eksilerini anlamak
-
Kişisel veri uyumluluğu:
- Kişisel tanımlayıcı bilgilerin (PII) anonimleştirilmesi ve veri saklama süresinin en aza indirilmesi
Portföy projeleri oluşturma
- Etkili projelerin özellikleri:
- Kişisel olarak ilgi duyulan bir konu seçmek
- Frontend ile bağlantılı projeler geliştirmek (ör. Tableau, Power BI)
- Güncel teknolojileri (Spark, Snowflake, Delta Lake vb.) uygulamak
- Prodüksiyon ortamında çalışan pipeline'lar kurmak
Kişisel markalaşma ve mülakat hazırlığı
-
LinkedIn kullanımı:
- İşe alım yöneticileri ve meslektaşlarla ağ kurmak
- Öğrenme yolculuğunu paylaşarak görünürlüğü artırmak
-
Mülakat hazırlığı:
- Mülakat yapan kişiyi ve şirket geçmişini araştırmak
- Sorulara sakin ve olumlu şekilde yanıt vermek
- Teknolojiye ve role yönelik merak ile tutkuyu göstermek
Sonuç
- 2024'te veri mühendisliği alanında iş bulmak, zorlu piyasa koşullarına rağmen sistematik bir stratejiyle mümkündür
- Bu yol haritasını izlerseniz, hedeflediğiniz veri mühendisliği kariyerine daha da yaklaşabilirsiniz
1 yorum
Scala gerçekten çok iyi bir dil, ama giderek Spark dışında kullanım alanını kaybediyor gibi göründüğü için üzülüyorum.