Yazılımcı kariyeri, sabit ve öngörülebilir bir çizelgeye göre değil, alınan sorumluluğa göre ilerler: stajyer, junior, mid-level, senior, teknik lider ve mimar. Şirketten şirkete unvan isimleri değişse de sorumluluk artışı hep aynı yönde ilerler — bir sonraki seviyeye geçişi belirleyen şey süre değil, o seviyenin sorumluluğunu fiilen üstlenmiş olmak. Bu yazıda her seviyede gerçekte ne beklendiğini, seviyeler arası geçişte yapılan yaygın hataları ve terfi sürecinin pratikte nasıl işlediğini anlatıyoruz.
| Seviye | Ne bekleniyor | Gözetim düzeyi |
|---|---|---|
| Stajyer | Rehberlikle küçük görevleri tamamlamak | Sürekli gözetim |
| Junior | Tanımlanmış görevi bağımsız bitirmek | Yakın gözetim |
| Mid-level | Bir özelliği baştan sona tasarlayıp teslim etmek | Kod incelemesiyle |
| Senior | Mimari karar vermek, riskleri öngörmek | Kendi kararını verir |
| Teknik lider | Ekibi yönlendirmek, teknik strateji belirlemek | Başkalarını yönlendirir |
| Mimar | Sistemin bütününü tasarlamak, uzun vadeli kararlar almak | Organizasyon çapında etki |
Stajyer ve junior: temel atma dönemi
Stajyerlik, üniversite öğrencilerinin veya yeni mezunların iş hayatını ilk kez deneyimlediği dönem — burada beklenen üretkenlik değil, öğrenme hızı. Junior seviyesine geçince beklenti değişir: artık rehberlikle değil, tanımlanmış bir görevi bağımsız tamamlaması istenir. Junior'ın en büyük kazanımı kod yazmak değil, bir görevi ne kadar süreceğini doğru tahmin etmeyi öğrenmektir. Bu dönemde yapılan hatalar genelde ucuza mal olur; asıl değerli olan, hatayı fark edip aynısını tekrar etmemektir.
Mid-level: bağımsızlığın başladığı yer
Mid-level yazılımcı, bir özelliği uçtan uca (tasarımdan teste) kendi başına teslim edebilen kişidir. Genelde birkaç yıllık proje deneyiminden sonra bu seviyeye ulaşılır — ama süreden çok, kaç farklı türde problem çözüldüğü belirleyici. Bu seviyedeki en büyük risk, aynı tür işi tekrar ederek konfor alanında sıkışıp kalmak; ilerlemek isteyen bir mid-level, bilinçli olarak farklı zorlukta işler almalı. Örneğin yalnız arayüz geliştiren biri, bir sonraki adımda veritabanı tasarımı gerektiren bir işi de üstlenerek eforunu genişletebilir.
Senior: kararların sahibi olmak
Senior yazılımcı, yalnızca kod yazan değil; bir problemi hangi mimariyle çözeceğine karar veren ve bu kararın sonuçlarını üstlenen kişidir. Bir önceki yazımızda kıdemli yazılım uzmanlığını detaylı ele aldık — kısaca özetlemek gerekirse, senior seviyesi yıl sayısıyla değil, alınan mimari kararların sayısı ve kalitesiyle ölçülür.
Teknik lider ve mimar: bireysel işten ekip/sistem etkisine
Teknik lider, bir ekibin teknik yönünü belirler: hangi teknolojinin kullanılacağına, kod standartlarının ne olacağına karar verir ve ekip üyelerinin gelişimini takip eder. Mimar ise daha geniş bir kapsamda çalışır — genelde tek bir ekibin değil, birden fazla sistemin veya ekibin ortak kullandığı altyapının tasarımından sorumludur. İkisi arasındaki fark ölçek: teknik lider bir ekibi, mimar bir sistemi düşünür. Bazı şirketlerde bu iki rol ayrı kişilerde, bazılarında ise aynı kişide birleşir; ekip ve organizasyon büyüklüğüne göre değişir.
AppFellas
Fikrinizi konuşalım.
Ücretsiz keşif görüşmesinde projenizi, bütçenizi ve zaman çizelgenizi netleştirelim.
Unvan enflasyonuna dikkat
Aynı unvan farklı şirketlerde farklı sorumluluk ölçeğine denk gelebiliyor; bir şirketteki "senior" unvanı başka bir şirkette "mid-level" karşılığı olabilir. Bu yüzden iş değiştirirken unvana değil, iş ilanındaki görev tanımına bakmak daha güvenilir. Mülakatta da kendinizi tanıtırken unvan tekrarlamak yerine hangi kararları tek başına verdiğinizi somut örneklerle anlatmak, karşı tarafa gerçek seviyenizi çok daha net gösterir. Küçük şirketlerde ve ajanslarda unvanlar genelde daha hızlı verilir çünkü ekip küçüktür ve herkes birden fazla sorumluluk üstlenir; büyük kurumsal yapılarda ise aynı sorumluluğa ulaşmak daha uzun sürebilir. Bu farkı bilmeden unvanları kıyaslamak yanıltıcı sonuçlar verir.
Seviye Değerlendirmesinde Sık Yapılan Hatalar
Kendi seviyenizi ya da bir adayın seviyesini değerlendirirken düşülen birkaç yaygın tuzak var:
- Süreyi sorumlulukla karıştırmak. "5 yıldır yazılım yazıyorum, demek ki senior'ım" doğru bir çıkarım değil. Aynı türde işi 5 yıl tekrarlamak, farklı zorlukta 2 yıl çalışmaktan daha az ilerleme sağlar.
- Teknoloji bilgisini seviyeyle eş tutmak. Yeni bir framework'ü hızlı öğrenmek junior bir yazılımcının da yapabileceği bir şey; senior'ı ayıran, o framework'ü ne zaman kullanmaması gerektiğini bilmesidir.
- Unvanı CV'ye göre değil, iş tanımına göre değerlendirmemek. Bir önceki şirketteki unvan, yeni şirketteki sorumluluk düzeyini garanti etmez; mülakatta somut proje örnekleri unvandan daha güvenilir bir sinyaldir.
- Mimar/teknik lider olmayı tek doğru hedef saymak. Yönetime geçmek istemeyen, derinlemesine teknik uzmanlaşmayı tercih eden bir senior yazılımcı da kariyerinin zirvesinde olabilir.
Örnek: Bir Terfi Süreci Nasıl İşler?
Bir junior yazılımcıyı düşünelim: görevleri genelde tanımlanmış ve küçük — bir formun doğrulama mantığını yazmak, mevcut bir ekrana yeni bir alan eklemek gibi. Bir noktada, ekibindeki bir özelliğin uçtan uca tasarımını (veritabanı şemasından arayüze kadar) kendi başına üstlenmeyi teklif eder ve başarıyla teslim eder. Bu, mid-level'a geçişin somut kanıtıdır — unvan değişikliği genelde bu kanıttan sonra, bazen aylar sonra resmileşir.
Mid-level'dan senior'a geçiş benzer şekilde işler ama ölçek büyür: artık tek bir özellik değil, birden fazla özelliğin birbirini nasıl etkilediğine dair mimari bir karar vermek gerekir — örneğin yeni bir özelliğin mevcut veritabanı yapısını nasıl etkileyeceğini öngörüp riski azaltacak bir tasarım önermek. Bu kararı verip sonucuna katlanan kişi, unvanı ne olursa olsun fiilen senior seviyesinde çalışıyor demektir.
Bir sonraki seviyeye nasıl geçilir?
Terfi genelde iki şekilde gerçekleşir: ya mevcut rolünüzün ötesinde bir sorumluluk üstlenip bunu başarıyla tamamlarsınız, ya da bu sorumluluğu talep edip size verilmesini beklersiniz. Birincisi daha güvenilir bir yol çünkü kanıt zaten elinizde oluyor. Pratik bir yöntem: bir sonraki seviyenin görev tanımını okuyun, o sorumluluklardan birini mevcut projenizde gönüllü olarak üstlenin ve sonucu görünür kılın.
Seviyeler arası geçiş çizgisel de olmayabilir — bazı yazılımcılar teknik yolda ilerlerken bazıları ekip yönetimine geçer, bazıları da kariyerinin farklı dönemlerinde ikisi arasında geçiş yapar. Doğru olan tek bir yol yok; önemli olan hangi tür sorumluluktan enerji aldığınızı zamanla fark edip kariyerinizi buna göre yönlendirmektir.
Sık sorulan sorular
Junior'dan mid-level'a geçiş ne kadar sürer?
Sabit bir süre yok. Belirleyici olan bir özelliği baştan sona bağımsız teslim edebilmek. Bazı yazılımcılar bir-iki yılda bu noktaya gelirken bazıları daha uzun sürede ulaşır; süre projelerin çeşitliliğine bağlı.
Teknik lider ile mimar arasındaki fark nedir?
Teknik lider bir ekibin teknik yönünü belirler ve ekip üyelerini yönlendirir. Mimar ise genelde birden fazla ekip veya sistemin ortak kullandığı altyapıyı tasarlar — fark, etkinin kapsamındadır.
Yazılımcı seviyelerini terfi ile hızlandırmak mümkün mü?
Evet, bir sonraki seviyenin sorumluluklarından birini mevcut projenizde gönüllü olarak üstlenip sonucunu görünür kılmak, terfi talep etmekten daha güvenilir bir yoldur çünkü kanıt elinizde olur.
Her yazılımcı mimar seviyesine ulaşmak zorunda mı?
Hayır. Kariyer çizgisel ilerlemek zorunda değil; bazı yazılımcılar senior seviyesinde derinleşmeyi, bazıları ekip yönetimine geçmeyi tercih eder. Doğru yol, hangi tür sorumluluktan motivasyon aldığınıza bağlıdır.
Freelance çalışan bir yazılımcı bu seviyelere nasıl uyar?
Freelancer'da unvan yerine teslim edilen projelerin karmaşıklığı ölçüt olur. Tek başına uçtan uca teslim edilen, mimari karar gerektiren projeler senior seviyesine işaret eder; rehberlikle veya şablon üzerinden yapılan işler junior-mid arasına denk gelir.



