Kurs
Veri mühendisliğinin yeni veri bilimi olduğunu duymuş olabilirsiniz; veri mühendisliği alanındaki muazzam büyüme de bunu kanıtlıyor. Şirketler artık, veri bilimi ve analitiğin başarılı olmasını sağlayacak mimariyi tasarlamak, kurmak ve sürdürmek için veri mühendisleri işe almanın değerini kabul ediyor. Veri mühendisleri ile veri bilimciler arasındaki farkları ayrı bir yazımızda okuyabilirsiniz.
Ancak yine de bir veri mühendisinin aslında ne yaptığını merak ediyor olabilirsiniz. Bu yazıda, farklı veri mühendisi rol ve sorumluluklarını ve bir veri mühendisinin izleyebileceği kariyer yolunu parçalara ayırıyoruz. Son olarak, bir kuruluşta karşınıza çıkabilecek tipik bir veri mühendisliği projesinin perde arkasına kısa bir bakış atıyoruz. Nasıl veri mühendisi olunur hakkında bilgi arıyorsanız, ilgili yazımızı faydalı bulacaksınız. Bu rol için birini işe almak istiyorsanız, veri mühendisi iş tanımı nasıl yazılır yazımızı da okuyabilirsiniz.
Veri Mühendisliği Rolleri
Veri mühendisliği; çok çeşitli beceri, araç ve sistemleri kapsar. Dört temel veri mühendisi rol grubu vardır ve bu grupların her biri, işlerini etkin şekilde yapmak için bir dizi beceri ve araca hâkim olmalıdır.
- Genelistler. Verinin toplanması, depolanması, analiz edilmesi ve aktarılmasına ilişkin tüm yönlerde görev alırlar. Geniş bir araç ve beceri yelpazesini bilmek ve kullanabilmek zorundadırlar.
- Veri depolama uzmanları. İlişkisel ve ilişkisel olmayan veritabanlarını (SQL, NoSQL ve PostgreSQL gibi), veri ambarlarını (Redshift ve Panoply gibi) ve büyük veri sistemlerini (Hadoop ve Spark gibi) kurmaktan ve yönetmekten sorumludurlar.
- Programlama ve veri hattı uzmanları. Betikler ve veri hatları aracılığıyla veri akışını oluşturup yönetirler. Python, Java ve C++ gibi birkaç programlama diline aşina olmaları gerekir.
- Analitik uzmanları. Kurum içindeki veri bilimciler ve diğer analitik profesyonellerle yakın çalışırlar. Analitik araçlara (Power BI ve Tableau gibi), makine öğrenmesi kütüphanelerine (Tensorflow ve PyTorch gibi) ve analitik projeleri destekleyen diğer araçlara (ETL araçları ve büyük veri sistemleri gibi) aşina olmalıdırlar.
Bir Veri Mühendisi Ne Yapar? Veri Mühendisi Kariyer Yolu
Bir veri mühendisinin kariyer yolu, şirketin büyüklüğüne ve veri ekiplerinin olgunluğuna göre değişebilir. Ancak, çoğu veri mühendisi genellikle şu yolu izler:
- Junior veri mühendisi
- Orta seviye veri mühendisi
- Kıdemli veri mühendisi
- Kıdemli yönetsel roller
Junior Veri Mühendisi
Kariyerlerinin başında, junior veri mühendisleri genellikle mevcut sistemleri sürdürüp destekleyen küçük görevler üstlenirler. Bu, sistemleri test etmek ve hataları arayıp düzeltmekten, mevcut bir sisteme özellik eklemeye kadar değişebilir. Bu erken aşamalarda, bir junior genellikle kendi başına bir proje almaz; bunun yerine kıdemli meslektaşlarına destek rolü üstlenir.
Junior veri mühendisi olarak ilk birkaç yılın en önemli kısmı, ileride kariyerlerinde kullanacakları araçları öğrenmek ve onlarla uygulamalı deneyim kazanmaktır. Ayrıca, farklı ekip ve departmanların ortaya çıkan sorun ve sorulara çözüm bulmak için nasıl birlikte çalıştığını da öğrenirler.
Orta Seviye Veri Mühendisi
Bir veri mühendisi yaklaşık 1 ila 3 yıl sonra orta seviyeye terfi edebilir. Bu dönemde işin proje yönetimi yönlerine daha fazla maruz kalabilir ve diğer ekip ve departmanlarla daha çok işbirliği yapması istenebilir.
Genellikle veri bilimcileri ve diğer analitik ekip üyelerini destekleyen sistemleri tasarlayıp inşa etme sorumluluğu verilir. Bu aşamada hâlâ kıdemli bir veri mühendisinin bir miktar gözetimi altında olabilirler. Bu işi etkin şekilde yapabilmek için iyi iletişim becerileri geliştirmeleri ve diğer ekiplerle uyumlu çalışabilmeleri gerekir.
Veri mühendisleri bu seviyede yaklaşık 3 ila 5 yıl kalabilir. Bu süre zarfında programlama becerilerini geliştirir ve kurumda kullanılan tüm araç ve sistemlere aşina olurlar. Ortaya çıkan hataları veya sorunları tespit edip düzeltebilir ve ekip içinde ve ekipler arasında iyi işbirliği yaparlar.
Kıdemli Veri Mühendisi
Veri mühendisleri kıdemli seviyeye ulaştıklarında daha fazla yönetsel sorumluluk üstlenirler. Kendilerine bağlı bir veya daha fazla veri mühendisini denetlemeleri, onlara öğretmeleri ve projeler atamaları gerekebilir.
Bu aşamada veri mühendisi, rolünün teknik yönlerinde yetkindir ve sistemler kurup sorunları nispeten kolaylıkla çözebilir. Ancak artık işin ticari tarafına daha yakından dâhildir ve veri projelerinin yönü ile sistemlerinin uzun vadeli etkinliği ve optimizasyonu hakkında stratejik düşünmesi gerekir.
Bu, veri mühendisinin düşünme biçiminde bir değişim gerektirir ve zorlayıcı olabilir. Birçok veri mühendisi stratejik ve iş odaklı sorumluluklara tutkuyla yaklaşmayabilir; bu nedenle şirkette daha ileri gitmeyi tercih etmeyebilirler.
Kıdemli Yönetsel Roller
Veri mühendisleri yaklaşık altı yıl veya daha fazla deneyim kazandıktan sonra isterlerse şu gibi daha yönetsel rollere geçebilirler:
- Veri mühendisliği yöneticisi
- Veri mühendisliği direktörü
- Chief data officer
Alt seviyelerde edinilen teknik becerilerde yüksek düzeyde yetkin olmanın yanı sıra, bu roller veri mühendisinin güçlü veri altyapısı ve veri mimarisi becerilerine sahip olmasını ve analitik ekipleri yönetip ölçeklendirebilmesini gerektirir. Ayrıca yüksek performanslı sistemler geliştirme süreçlerini tanımlayabilmeleri, yeni projelerin kapsamını belirleyebilmeleri ve yeni ile mevcut sistemler için SLA’leri tanımlayıp yönetebilmeleri gerekir.
Bir Veri Mühendisi Ne Yapar? Tipik Bir Veri Mühendisliği Projesi
Biraz veri mühendisi rol ve sorumluluklarına bakalım. Diyelim ki müşterilere bir mobil uygulama üzerinden yemek teslimatı hizmeti sunan büyük bir şirkette çalışıyorsunuz. Uygulama, restoran ile sürücü arasında aracı görevi görür. Müşteriler siparişlerini uygulamadan verir ve restoran bilgilendirilir. Yemek hazır olduğunda bir sürücü atanır ve yemek müşteriye teslim edilir.
Tahmin edebileceğiniz gibi, bu tür bir uygulama her gün çok fazla veri üretebilir. Restoranlar, sürücüler ve müşterilere ilişkin verilerden, uygulamadaki her etkileşimin günlüklerine kadar. Ayrıca şikâyet, övgü veya itirazlar için yapılan müşteri hizmetleri aramalarında toplanan verileri de düşünün. Hatta uygulamada meydana gelen hataların günlüklerini bile.
Şirketinizdeki bir veri bilimci veya veri analistine, siparişlerdeki eğilimleri belirleme ve bunu bir makine öğrenmesi modeli kurmak için kullanma görevi veriliyor. Bunu yapmak için, size gelip siparişlere ilişkin verileri gün bazında toplayıp hazırlamanızı istiyorlar. Ayrıca verinin ilk kez sipariş veren müşteriler ile tekrar sipariş veren müşteriler arasında ayrılabilmesi gerekiyor.
Netlik Sağlama
Bu sorunu çözmek için veri mühendisi öncelikle şu adımlardan geçerek konuya netlik kazandırmalıdır:
- Granülariteyi belirleyin, sipariş başına, gün, hafta, ay, yıl bazında. Yukarıdaki talebe göre, sipariş verisi müşteri türüne (ilk kez veya tekrar) göre ayrılarak gün bazında toplanmalıdır.
- Veriye herhangi bir filtre uygulanıp uygulanmayacağını belirleyin; örneğin ülke veya telefon modeli gibi.
- Verinin zaman aralığını belirleyin. Örneğin, tüm zamanları mı yoksa sadece son yılı mı kapsıyor?
- Bu verinin kaynaklarını ve/veya tablolarını belirleyin. Bu veri merkezi bir veri ambarında tutulur ve veri mühendisinin orders tablosu ile customer tablosuna erişmesi gerekir. Ek filtreler gerekiyorsa daha fazla tabloya erişmek gerekebilir.
Veri Çıkarma
Veri mühendisi soruna daha fazla netlik kazandıktan sonra, şu adımlardan geçerek veri çıkarma ve keşfine geçebilir:
- Orders ve customers tabloları arasında hangi join’lerin kullanılacağını ve bu tablolar arasındaki ilişkilerin ne olduğunu belirleyin (tabloları birleştirmek için hangi anahtarların kullanılması gerektiği gibi). Bu, SQL ve veri modelleme konusunda sağlam bir anlayış gerektirir.
- Her müşterinin verdiği sipariş sayısına göre müşteri türü için kategorik bir özellik oluşturun. Bu özellik 'ilk kez sipariş veren müşteri' ve 'tekrar sipariş veren müşteri' kategorilerini içermelidir.
- Veri kalitesini değerlendirin. Eksik veya anormal verilerin düzeltilmesi gerekip gerekmediğini belirleyin.
Veri mühendisi, veri bilimcinin veya veri analistinin ihtiyaç duyduğu veriyi hazırladıktan sonra, verinin çıkarılması için sorgulanabilecek bir API uç noktası oluşturması gerekir. Verinin hacmine ve karmaşıklığına bağlı olarak bu projenin tamamı birkaç günden birkaç aya kadar sürebilir.
Bu süreç boyunca, veri mühendisi verinin nerede depolandığına ve veriye ek bir işlem gerekip gerekmediğine bağlı olarak birçok farklı sistemle çalışmak zorunda kalabilir.
Bu problemde karşılaşılabilecek bazı sistem örnekleri; veri depolama için SQL Server, Hadoop veya Redshift; veriyi sorgulamak için SQL; veriyi işleyen betikleri yazmak için ise Python’dur.
Son Düşünceler
Görüldüğü gibi, tipik bir veri mühendisliği projesi, veri hatları oluşturma gibi veri mühendisliği için kritik olan birkaç temel beceriyi içerir. Öğreniminizi hızlandırmak ve veri mühendisliği rolüne hazırlanmak için DataCamp’teki Python for Data Engineering beceri yolunu deneyin. Bulut veri ambarlarında ilk uygulamalı deneyiminizi kazanmak için Londra’nın Ulaşım Ağı Projesini Keşfetme çalışmamızı deneyin. Bu proje, doğrudan tarayıcınızda Amazon Redshift, Google BigQuery ve Snowflake ile çalışma fırsatı sunar. Son olarak, veri mühendisi olarak yetkinliğinizi kanıtlamak için veri mühendisi sertifikamıza katılın.
Umarız bu makale, veri mühendislerinin rolüne ve gerçekte ne yaptıklarına dair size bazı içgörüler sunmuştur. Veri mühendisliğinde bir kariyere başlamayı düşünüyorsanız, karşılaşmayı bekleyebileceğiniz kariyer yoluna da daha aşina olmuşsunuzdur.
