İçeriğe Atla
Mustafa Erbay
Kariyer · 9 dk okuma · görüntülenme Read in English
100%

Senior'lar Hiç Bu Kadar Değerli Olmamıştı — Ama 'Senior' Artık Yıl

20 yıllık tecrübemle 'senior' kavramının yıllara bağlı olmadığını, sistem, iş akışı ve problem çözme yeteneğiyle yeniden tanımlandığını anlatıyorum.

Modern teknoloji ortamında deneyimli bir profesyonel figürü

Geçenlerde bir mentorship görüşmesinde, genç bir mühendis “5 yıl sonra senior olacağım” dediğinde, aslında seniority’nin artık eskisi gibi sadece yıla bağlı olmadığını bir kez daha anladım. Günümüzün karmaşık teknoloji dünyasında “senior” unvanı, sadece geçirilen zamana değil; problem çözme yeteneği, sistemin tamamına hakimiyet, iş akışını anlama ve sürekli öğrenme motivasyonuna dayanıyor. Yani, bir pozisyonda ne kadar oturduğun değil, o pozisyonda ne kadar değer ürettiğin önemli hale geldi.

Bu değişim, özellikle son 5-10 yılda hızlandı. Artık bir senior’dan beklentiler sadece kod yazmak veya bir ekibe liderlik etmekle sınırlı değil; sistemin omurgasını kurmak, kritik altyapı kararlarını vermek ve operasyonel sorunları çözmek gibi çok daha geniş bir yelpazeyi kapsıyor.

”Senior” Kavramı Neden Değişti?

Birkaç yıl önce bir müşterimin e-ticaret altyapısında gördüğüm bir durum, bu değişimi çok net özetliyor: Yeni mezun bir ekip, hızlıca frontend ve backend kodlarını yazmış, ürün canlıya alınmıştı. Ancak ilk büyük kampanya başladığında, sistemin %70’i anlamsız 503 Service Unavailable hataları fırlatmaya başladı. Sebebini anlamak günler sürdü.

Sorun, aslında basitti: Genç ekip, PostgreSQL connection pool’unu yeterince önemsememiş, her HTTP isteği için yeni bir veritabanı bağlantısı açıp kapatmıştı. Bu durum, anlık 5000 request/saniye yük altında veritabanı sunucusunu tamamen tıkamış, yeni bağlantı isteklerini reddetmesine yol açmıştı. Oradaki “senior” görünen ekip lideri bile, sadece kod yazmaya odaklandığı için bu tip bir operasyonel detayı gözden kaçırmıştı. Bu olay, bana bir senior’ın sadece kod yazmakla kalmayıp, dağıtık sistemler, veritabanı bağlantı yönetimi, ağ gecikmeleri ve hatta işletim sistemi limitleri gibi konularda da bilgi sahibi olması gerektiğini gösterdi.

Bu örnekteki gibi, modern sistemler o kadar katmanlı ve karmaşık ki, sadece kendi uzmanlık alanında derinleşmek yeterli değil. Artık bir geliştirici, yazdığı kodun altyapıda nasıl çalıştığını, network’ten nasıl geçtiğini, veritabanını nasıl etkilediğini ve sonunda kullanıcıya nasıl ulaştığını anlamak zorunda. Monolith’lerden microservice’lere geçiş, container’ların yaygınlaşması ve bulut altyapılarının yükselişi, bu karmaşıklığı daha da artırdı. Bir senior, bu karmaşık yapılar arasında köprü kurabilen, farklı katmanlardaki sorunları tespit edip çözebilen kişi olmalı. Aksi takdirde, sadece kod yazan bir mühendis, karmaşık bir sistemde kolayca kaybolabilir ve kritik sorunlara yol açabilir.

Yıllar Yetmez: Gerçek Kıdem Nedir?

Bir mühendisin “senior” etiketi alması için kaç yıl çalışması gerektiği sorusu, uzun zamandır sektörde tartışılan bir konuydu. Eskiden 5 yıl, 7 yıl gibi belirli sayılar telaffuz edilirdi. Ancak artık bu tamamen değişti. Gerçek kıdem, deneyim yıllarından ziyade, problemleri ne kadar bağımsız çözebildiğin, ne kadar geniş bir etki alanına sahip olduğun ve ne kadar derinlemesine anlayışa sahip olduğunla ölçülüyor.

Örneğin, kendi yan ürünümün birinde, Redis’in hafıza kullanımı sürekli artıyordu. İlk başta basit bir maxmemory-policy değişikliğiyle çözebileceğimi düşündüm. Ancak gerçek sorun, uygulamanın belirli bir bölümünde Redis’e gereksiz yere büyük JSON objeleri yazmasıydı. 3 yıllık deneyime sahip bir junior, bu durumu sadece “Redis doluyor” diye rapor ederken, 7 yıllık deneyime sahip, sadece kod yazmaya odaklanmış bir “senior” da aynı hatayı yapmıştı. Ancak 4 yıllık deneyime sahip, ancak sistemin tamamını düşünen bir mühendis, Redis INFO çıktılarını inceleyip, redis-cli monitor ile giden komutları takip ederek sorunun uygulamanın hangi kısmından kaynaklandığını 2 saat içinde buldu. Bu örnek, yılların tek başına bir anlam ifade etmediğini, önemli olanın problem çözme metodolojisi ve sistemin geneline hakimiyet olduğunu gösteriyor.

Gerçek kıdem, bir sorunun semptomlarını değil, kök nedenini bulabilme becerisidir. Bu, sadece bir hata mesajını okumaktan öteye geçerek, logları incelemek, metrikleri karşılaştırmak, ağ paketlerini yakalamak ve hatta kernel seviyesindeki olayları anlamaya çalışmak demektir. Bir mühendisin bu yetkinlikleri kazanması, sadece zamanla değil, karşılaştığı sorunlardan çıkardığı derslerle ve kendini sürekli geliştirme azmiyle mümkün oluyor.

Tecrübe, Sadece Kod Yazmak Değildir: Sistem Perspektifi

Benim 20 yıllık tecrübemde gördüğüm en büyük yanılgılardan biri, yazılım mühendisliğinin sadece kod yazmakla sınırlı olduğu düşüncesiydi. Özellikle bir üretim ERP’si üzerinde çalışırken, yazılım mimarisinin aslında organizasyonel akışın bir yansıması olduğunu fark ettim. Bir “geç sevkiyat raporu”nun eksik gelmesi, sadece SQL sorgusundaki bir hatadan kaynaklanmayıp, üretim bandındaki sensör verisinin yanlış entegre edilmesinden, iSCSI tedarik zinciri entegrasyonundaki bir gecikmeye kadar birçok farklı katmandan etkilenebiliyordu.

Böyle durumlarda, sadece kod yazmayı bilen bir mühendis çaresiz kalır. Gerçek bir senior, network topolojisini (VLAN segmentasyonu, routing), sunucu altyapısını (Linux servisleri, systemd unit’leri, cgroup limit’leri), veritabanı ayarlarını (PostgreSQL WAL bloat, index stratejileri) ve hatta güvenlik politikalarını (firewall kuralları, fail2ban paternleri) anlamak zorundadır. Örneğin, bir uygulamadaki performans sorununun nedeninin, aslında yanlış yapılandırılmış bir Nginx reverse proxy ayarı veya bir DNS negative caching problemi olabileceğini fark edebilmek, yılların getirdiği sistem perspektifiyle mümkündür.

Geçen yıl bir müşteri projesinde, uygulamanın belirli saatlerde yavaşlaması şikayeti gelmişti. Uygulama loglarında bir anormallik yoktu, veritabanı metrikleri normal görünüyordu. Ancak network trafiğini incelediğimde, belirli bir zaman diliminde WAN bağlantısındaki DSCP marking’in yanlış yapıldığını ve ses paketlerinin önceliğinin, uygulama trafiğinin önüne geçtiğini gördüm. Bu durum, sadece network bilgisi olan veya sadece yazılım bilgisi olan birinin tek başına çözebileceği bir problem değildi. İşte bu noktada, sistemin her katmanına hakim olan senior mühendislerin değeri ortaya çıkıyor.

Hata Yapmaktan Korkmamak ve Öğrenme Kültürü

Tecrübe kazanmanın en hızlı yolu, hata yapmaktan ve bu hatalardan ders çıkarmaktan geçer. Ben kendi kariyerimde sayısız hata yaptım ve her birinden önemli dersler çıkardım. Geçen ay kendi yan ürünümün backend’inde bir sleep 360 komutunu yanlışlıkla bir döngü içine koyup, bir container’ı OOM-killed (Out Of Memory) duruma düşürdüğümde, polling-wait mekanizmasını daha doğru bir şekilde nasıl implemente etmem gerektiğini bir kez daha öğrendim. Bu tür olaylar, bir senior’ın sadece doğru çözümleri bilmekle kalmayıp, aynı zamanda yanlış yolları da deneyimlemesi gerektiğini gösterir.

Hata yapmak, aynı zamanda bir öğrenme kültürünün de temelidir. Bir sorun ortaya çıktığında, “kimin hatasıydı?” diye parmak sallamak yerine, “bu durum neden yaşandı ve bir daha olmaması için ne yapmalıyız?” sorusuna odaklanmak gerekir. Bir senior, bu tür post-mortem analizlerini yönetebilen, hatanın kök nedenini bulmak için farklı ekipleri bir araya getirebilen ve çıkarılan dersleri organizasyona yayabilen kişi olmalıdır. Örneğin, bir WAL bloat problemi yaşadığımızda, sadece vacuum ayarlarını değiştirmekle kalmayıp, neden bu hale geldiğini (örneğin, uzun süren transaction’lar veya yanlış index kullanımı) araştırıp, bir daha olmaması için CI/CD pipeline’ına otomatik kontroller eklemek, senior bir yaklaşımın göstergesidir.

Bu süreçte, journald loglarını analiz etmek, cgroup limitlerini ayarlamak veya auditd ile sistem çağrılarını izlemek gibi araçlara hakim olmak da kritik öneme sahiptir. Bir hatanın izini sürerken, hangi tool’u ne zaman kullanacağını bilmek, sorunu çözme süresini (MTTR - Mean Time To Resolution) önemli ölçüde kısaltır. Benim tecrübelerime göre, bu tip bir yetkinlik, “X yıl tecrübeli” etiketinden çok daha değerlidir.

Organizasyonel Akışı Anlamak ve İş Odaklılık

Yazılım geliştirme, nihayetinde bir iş problemini çözmek içindir. Bir senior mühendisin en önemli özelliklerinden biri de, yazdığı kodun veya tasarladığı sistemin, iş akışını nasıl etkilediğini, şirket hedeflerine nasıl hizmet ettiğini anlamaktır. Bir üretim ERP’sinde, AI ile üretim planlama modülü geliştirirken, sadece algoritmaları ve kodları düşünmekle kalmayıp, operatör ekranlarının nasıl kullanılacağını, iSCSI entegrasyonunun tedarik zinciri üzerindeki etkisini ve finansal raporlamaya (örneğin IFRS entegrasyonu) nasıl yansıyacağını da düşünmek zorundaydım.

Bu iş odaklılık, teknik kararların doğru verilmesi için hayati öneme sahiptir. Monolith mi microservice mi kullanacağız? Event-sourcing mi CQRS mi uygulayacağız? Bu tür mimari kararlar, sadece teknik avantajlara göre değil, aynı zamanda organizasyonun büyüklüğüne, iş süreçlerinin karmaşıklığına ve geliştirme ekibinin yapısına göre verilmelidir. Örneğin, küçük bir startup için microservice mimarisi gereksiz bir overhead yaratırken, büyük bir bankanın iç platformu için vazgeçilmez olabilir.

Bir senior, sadece teknik yetenekleriyle değil, aynı zamanda “bu özellik işe ne katacak?”, “bu değişiklik müşteriye nasıl bir fayda sağlayacak?” gibi soruları sorarak değer yaratır. Bir mobil uygulamamda Play Store’a update gönderirken, metadata reject’i yüzünden 2 hafta gecikme yaşadığımda, sadece teknik süreci değil, aynı zamanda ürünün pazara çıkış takvimini ve bunun iş üzerindeki etkisini de düşünmek zorunda kalmıştım. Bu bütünsel bakış açısı, senior bir mühendisi diğerlerinden ayırır ve onu sadece bir kod yazıcıdan, bir iş ortağına dönüştürür.

AI Devrimi ve Senior Rolünün Geleceği

Son birkaç yıldır yaşadığımız AI devrimi, “senior” kavramını yeniden şekillendiriyor. Artık temel kod parçacıklarını, testleri veya basit algoritmaları AI araçları (ChatGPT, Gemini Flash gibi) saniyeler içinde üretebiliyor. Bu durum, junior seviyedeki görevlerin otomatize olmasını hızlandırırken, senior mühendislerin rolünü daha da kritik hale getiriyor. Senior’lar artık sadece kod yazmak yerine, AI’ı doğru yönlendiren, karmaşık sistemleri tasarlayan ve AI çıktılarının güvenilirliğini sağlayan kişiler olmak zorunda.

Ben kendi AI uygulama mimarilerimde, prompt engineering’in ne kadar önemli olduğunu gördüm. Bir RAG (retrieval-augmented generation) sistemi tasarlarken, doğru dokümanları doğru bağlamda AI’a sunmak, basit bir prompt yazmaktan çok daha fazlasını gerektiriyor. Bu, veri modellemesi, veri entegrasyonu ve AI’ın output’unu validate etme gibi senior seviye yetkinlikler ister. Örneğin, kendi anonim Türkiye veri platformum için AI destekli analizler yaparken, farklı provider’lar (Groq, Cerebras, OpenRouter) arasında fallback mekanizmaları kurmak ve her birinin çıktılarını karşılaştırarak en doğru sonucu elde etmek, ciddi bir mimari ve operasyonel bilgi gerektiriyor.

AI, ayrıca observability ve operasyonel süreçlerde de büyük potansiyel taşıyor. Bir sistemdeki anormallikleri otomatik tespit eden, potansiyel sorunları tahmin eden ve hatta otomatik olarak düzeltme önerileri sunan AI destekli araçlar, senior’ların zamanını daha stratejik görevlere ayırmasına olanak tanıyor. Ancak bu araçları kurmak, eğitmek ve doğru çalıştığından emin olmak yine senior mühendislerin görevi olacak. Bu yeni dönemde, AI’ı sadece bir araç olarak görmek yerine, onu kendi yetkinliklerini artıran bir “yardımcı pilot” olarak kullanabilen senior’lar çok daha değerli olacak.

Peki, Ben Kendi Kıdemimi Nasıl Ölçüyorum?

Benim için kıdem, asla sadece yıllarla ölçülmedi. Kendi kariyerimde ve birlikte çalıştığım insanlarda gördüğüm kadarıyla, beni “senior” yapan birkaç temel kriter var. Bunlar, herhangi bir pozisyonda ne kadar süre geçirdiğimden çok, nasıl bir etki yarattığım ve ne kadar geniş bir yelpazede sorun çözebildiğimle ilgili.

Birincisi, bağımsız problem çözme yeteneği: Bir sorunla karşılaştığımda, onu A’dan Z’ye kendim çözebilme kapasitem. Bu, bir log satırından başlayıp, network paketlerini incelemeye, veritabanı performansını optimize etmeye ve sonunda uygulama kodundaki hatayı düzeltmeye kadar gidebilir. Örneğin, bir VPS’i açtıktan 7 dakika sonra başlayan SSH brute-force saldırılarını fail2ban paternleriyle otomatik engellemek ve bu paterni kendi güvenlik politikalarıma eklemek gibi somut adımlar atmak.

İkincisi, sistem bütünlüğüne hakimiyet: Yazdığım kodun veya yaptığım değişikliğin, sistemin diğer katmanlarını nasıl etkileyeceğini öngörebilmek. Bir PostgreSQL partition stratejisi belirlerken, bunun replikasyon gecikmelerine veya read replica routing’ine nasıl yansıyacağını hesaba katmak. Ya da bir kernel module blacklist değişikliğinin (örneğin CVE-2026-31431’i mitigate ederken algif_aead’ı karalisteye almak gibi), sistemin genel güvenliği ve performansı üzerindeki etkisini değerlendirmek.

Üçüncüsü, mentorluk ve bilgi paylaşımı: Edindiğim tecrübeleri, daha genç mühendislerle paylaşabilmek ve onların gelişimine katkıda bulunmak. Bu, sadece teknik konularda değil, aynı zamanda trade-off analizi yapma, hata yönetimi ve iş odaklı düşünme gibi konularda da rehberlik etmek anlamına geliyor. Haftalık olarak ekibimle yaptığım “Haftanın En İlginç Bug’ı” seanslarında, karşılaştığım bir MTU/MSS mismatch problemini ve bunu nasıl debug ettiğimi anlatıyorum.

Dördüncüsü, sürekli öğrenme ve uyum sağlama: Teknoloji o kadar hızlı değişiyor ki, sabit kalmak gerilemek demektir. Yeni teknolojileri (örneğin Zero-Trust mimarileri, WebAssembly) hızlıca öğrenip, mevcut sistemlere entegre edebilmek. Kendi Android spam blocker uygulamamda Flutter ile native paket entegrasyonu yaparken karşılaştığım sorunları çözmek ve Play Store yayınlama süreçlerindeki değişikliklere adapte olmak gibi.

Bu kriterler, bana göre gerçek kıdemin temel taşlarıdır. Yıllar, sadece bu yetkinlikleri kazanmak için bir zemin hazırlar, ancak asıl olan bu zeminde ne inşa ettiğinizdir.

Sonuç: Kıdem, Sadece Yıl Değil, Değer Üretme Sanatıdır

Kariyerimin bu noktasında, “senior” unvanının artık eskisi gibi sadece bir zaman çizelgesi olmadığını çok net görüyorum. Bir zamanlar 5-7 yıl deneyimle kazanılan bu etiket, şimdi çok daha kapsamlı bir dizi yetkinliği temsil ediyor. Sistem mimarisinden network güvenliğine, kurumsal yazılım akışlarından AI destekli çözümlere kadar geniş bir yelpazede problem çözme ve değer üretme kapasitesi, günümüzün gerçek senior mühendislerini tanımlıyor.

Bu değişim, hem mühendisler için hem de şirketler için önemli fırsatlar sunuyor. Genç mühendisler için, sadece kod yazmakla kalmayıp, sistemin bütününe hakim olmaya ve iş süreçlerini anlamaya odaklanmak, kariyerlerinde çok daha hızlı ilerlemelerini sağlayacak. Şirketler için ise, “senior” unvanını sadece yıllara göre vermek yerine, gerçek yetkinliklere ve problem çözme becerilerine dayalı bir değerlendirme sistemi kurmak, daha verimli ve dayanıklı ekipler oluşturmanın anahtarı olacak. Unutmayalım, teknoloji ne kadar gelişirse gelişsin, karmaşık sorunları çözebilen, farklı katmanlar arasında köprü kurabilen ve işe değer katabilen insan zekası her zaman en değerli varlık olmaya devam edecek.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

Sıkça Sorulanlar

Bu makale ile ilgili okurların sorduğu yaygın sorular.

Senior kavramının değişimi nedir ve bunun nedeni nedir?
Benim 20 yıllık tecrübemle gördüğüm, senior kavramının artık sadece yıllara bağlı olmadığını, sistem, iş akışı ve problem çözme yeteneğiyle yeniden tanımlandığını söyleyebilirim. Bunun nedeni, günümüzün karmaşık teknoloji dünyasında beklentilerin değişmesi ve seniorlardan sadece kod yazmak veya liderlik etmek yerine, sistemin omurgasını kurmak, kritik altyapı kararlarını vermek ve operasyonel sorunları çözmek gibi daha geniş bir yelpazeyi kapsayan beceriler beklenmesidir.
Bir geliştiricinin senior olması için hangi becerilere sahip olması gerekir?
Benim deneyimime göre, bir geliştiricinin senior olması için problem çözme yeteneği, sistem mimarisi bilgisi ve iş akışına hakimiyet gibi becerilere sahip olması gerekir. Ayrıca, teknik derinliği, operasyonel zekayı ve stratejik düşünmeyi de gerektirir. Bir geliştiricinin bu becerileri kazanması için sürekli öğrenme motivasyonuna sahip olması ve kendini geliştirmeye açık olması önemlidir.
Senior geliştiricilerin karşılaştığı en büyük zorluklar nelerdir?
Benim tecrübemle gördüğüm, senior geliştiricilerin karşılaştığı en büyük zorluklar, kompleks sistemleri yönetmek, kritik altyapı kararlarını vermek ve operasyonel sorunları çözmektir. Ayrıca, sürekli değişen teknoloji dünyasında kendini güncellemek ve yeni beceriler kazanmak da bir başka zorluktur. Bir senior geliştiricinin bu zorlukları aşmak için mạnh bir Problem çözme yeteneğine ve işbirliği ruhu sahip olması gerekir.
Bir junior geliştiricinin senior olması için nasıl bir yol izlemelidir?
Benim önerim, bir junior geliştiricinin senior olması içinまず problem çözme yeteneğini geliştirmesine odaklanmalıdır. Bunun için, farklı projelerde çalışarak deneyim kazanması, sürekli öğrenme motivasyonuna sahip olması ve kendini geliştirmeye açık olması önemlidir. Ayrıca, senior geliştiricilerle işbirliği yaparak onların deneyimlerinden yararlanabilir ve mentorluk alabilir. Bir junior geliştiricinin senior olması için sabır, azim ve sürekli öğrenme gereklidir.
ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Haftalık özet — AI değil, bizzat ben seçiyorum

Haftada bir mail: o haftanın en önemli yazısı, perde arkası notları, ve "bu hafta gerçekten kullandığım araç" bölümü. Az gürültü, çok sinyal.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar