Yazılım sektörü, muhtemelen dünyada enflasyonun en hızlı yaşandığı ama kimsenin sesini çıkarmadığı tek yerdir. Paranın değerinden bahsetmiyorum, unvanların enflasyonundan bahsediyorum. Bugünlerde LinkedIn'de şöyle bir tur attığınızda, üniversiteden mezun olalı henüz üç yıl bile olmamış ama isminin başına parıltılı bir "Senior Software Engineer" eklemiş binlerce insan görebilirsiniz.

Peki ne oldu da yılların tecrübesi, sabahlara kadar süren debug seansları, yanlış verilen mimari kararların bedelini aylar süren refactorlerle ödeme acısı bir anda "iki tane React projesi ayağa kaldırmak" ile eşdeğer hale geldi?

10 Bin Saat Kuralı vs. 10 Bin Satır Kod

Malcolm Gladwell'in meşhur 10 bin saat kuralı yazılım dünyasında fena halde yanlış anlaşıldı. İnsanlar 10 bin saat boyunca aynı basit CRUD (Create, Read, Update, Delete) işlemini yaptıklarında ustalaştıklarını zannediyorlar. Oysa bir işi 10 bin saat yapmak sizi o işin uzmanı yapmaz; sizi sadece o rutinin kölesi yapar. Gerçek ustalık, o 10 bin saatin içinde kaç farklı krizle yüzleştiğiniz, kaç tane yıkılmış mimariyi ayağa kaldırdığınız ve en önemlisi kaç kez "Bunu böyle yapmamalıyız" diyebildiğinizle ölçülür.

Günümüz start-up kültüründe "Senior" kelimesi artık bir yetkinlik belirtisi değil, bir elde tutma (retention) stratejisi. Şirketler, çalışanlarına hak ettikleri maaş zamlarını veremediklerinde onlara bol keseden unvan dağıtmaya başladılar. "Maaşına %10 zam yapabiliyoruz ama seni Senior yapıyoruz!" Bu cümlenin sektördeki karşılığı aslında şudur: "Sana daha fazla para veremiyoruz ama egonu okşayabiliriz."

Framework Bağımlılığı ve Mühendislik Kaybı

Bugün "Senior" olarak işe alınan pek çok kişi, aslında sadece belirli bir çerçevenin (framework) yetenekli bir kullanıcısıdır. Next.js'in son sürümündeki tüm özellikleri ezbere bilebilirler, ancak işin temeline indiklerinde, tarayıcının belleği nasıl yönettiği veya sunucu tarafındaki bir TCP darboğazının uygulamanın geri kalanını nasıl felç edeceği konusunda hiçbir fikirleri yoktur.

Bir çerçevenin kurallarını ezberlemek sizi o çerçevenin Senior'ı yapabilir, ancak bu sizi Senior bir Mühendis yapmaz. Mühendislik, elinizdeki çekiçle her şeyi çivi olarak görmek değil, o çekicin hangi metallerle dövüldüğünü, sapının hangi ağaçtan yapıldığını ve o çekicin kullanılmaması gereken yerleri bilmektir.

Gerçek Senior'ı Nasıl Tanırız?

Peki, unvanların içinin bu kadar boşaldığı bir ekosistemde masanın karşısında oturan kişinin gerçekten "Senior" olduğunu nasıl anlarız?

  1. "Hayır" diyebilme yetisi: Gerçek bir Senior, ürün yöneticisi mantıksız bir taleple geldiğinde sadece kafasını sallayıp kodu yazan kişi değildir. O özelliğin neden yapılmaması gerektiğini, uzun vadede teknik borcu (technical debt) nasıl artıracağını verilerle açıklayabilen kişidir.
  2. Kriz anındaki nabız: Production (canlı ortam) çöktüğünde elleri titreyerek Stack Overflow'da çözüm arayan kişi henüz yolun başındadır. Gerçek Senior, logları sükunetle okuyan, sorunun kök nedenine odaklanan ve ekibin geri kalanını paniğe sürüklemeden süreci yöneten kişidir.
  3. Kod silme sevgisi: Junior'lar kod yazmaktan keyif alır, Mid-level'lar karmaşık algoritmalar kurmaktan... Senior'lar ise kod silmekten keyif alır. En iyi kod, hiç yazılmamış koddur prensibini iliklerine kadar hissetmişlerdir.
  4. Teknoloji agnostikliği: "React mı Vue mu?" tartışmasına giren bir Senior göremezsiniz. Çünkü onun için ikisi de günün sonunda JavaScript'e dönüşen ve beş yıl sonra muhtemelen yerini başka bir şeye bırakacak olan geçici araçlardır. O, aracın kendisine değil, çözdüğü probleme odaklanır.

Sonuç olarak, ismimizin başındaki unvanlar bizim kim olduğumuzu belirlemez. Kodumuz çöktüğünde Google'da sadece hatanın mesajını değil, o hatanın arkasındaki mimari kusuru da arıyorsak; yazdığımız kodun bir hafta sonraki teslim tarihini değil, iki yıl sonra o kodu okuyacak olan yeni mezun geliştiriciyi düşünebiliyorsak... İşte o zaman, kartvizitimizde ne yazdığının hiçbir önemi kalmaz. Tebrikler, artık unvanınızın değil, deneyiminizin bir anlamı var.