Serimizin son bölümüne ulaştık.
Zaten meslekteki ilk adımlardan konuştuk.
Gerçekte neyi öğrenmenin değerli olduğundan. Code Review, Clean Code ve ekip içindeki günlük çalışmadan.
Tek bir soru kaldı: Aslında ne zaman Junior olmaktan çıkıp Senior olursun?
Bu soru çok sık ortaya çıkar.
Bir yılda mı? İki yılda mı? Beş yılda mı? Ya da belki başka bir framework öğrendiğinde mi?
Cevap seni şaşırtabilir. - Doğru bir sayı diye bir şey yoktur.
On yıllık deneyime sahip olup hâlâ daha karmaşık projelerde yönlendirmeye ihtiyaç duyan geliştiriciler gördük. Aynı zamanda üç yıllık tecrübesi olup bağımsız çözümler tasarlayan, daha genç meslektaşlarını destekleyen ve tüm modüllerden sorumluluk alan kişiler de gördük.
İşte bu yüzden BT'de deneyim yılları yalnızca bir parçadır.
Senior her şeyi bilmez
Sanırım bu sektördeki en büyük mitlerden biri.
Birçok Junior, Senior Developer'ı her soruya cevap bilen kişi olarak hayal eder. Gerçek tamamen farklıdır.
İyi bir Senior sık sık der ki: "Bilmiyorum."
Ama hemen ekler: "Bakalım."
Bu büyük bir farktır.
Senior tüm dokümantasyonu ezberlemek zorunda değildir. Her kütüphaneyi bilmek zorunda değildir. Her şeyi hafızadan yazmak zorunda değildir.
Ama bilir:
- bilgiyi nerede arayacağını,
- çözümü nasıl doğrulayacağını,
- bir kararın hangi riskleri taşıdığını,
- tahmin etmek yerine ne zaman "bilmiyorum" demesi gerektiğini.
Bu olgun bir geliştiricinin en önemli özelliklerinden biridir.
Geliştirici mi yoksa mühendis mi?
Kariyerin başında çoğu kişi koda odaklanır.
Fonksiyon nasıl yazılır? API nasıl yapılır? Veritabanı nasıl bağlanır?
Zamanla kodun sadece bir araç olduğunu fark etmeye başlıyorsun.
Gerçek görev iş problemini çözmektir.
Müşteri uygulamayı belirli bir dilde yazıldığı için satın almaz. Problemin çözümünü satın alır.
İşte bu, geliştiricinin mühendis gibi düşünmeye başladığı andır.
En iyi özellik bazen yazmayacağın o özelliktir
Garip mi geliyor? Ama gerçek.
Diyelim ki müşteri yeni bir modül istek bildiriyor. Hemen çözüm tasarlamaya başlayabilirsin. Aynı zamanda birkaç soru sormak istersin.
Bu işlev neden gerekli?
Ne sıklıkla kullanılacak?
Benzer bir çözüm zaten var mı?
Aynı etki daha basit bir şekilde elde edilebilir mi?
Çoğu zaman sorun yüzlerce yeni satır kod yazmadan çözülebilir. Ve işte müşteri bu tür kararlar için ödeme yapar. Commit sayısı için değil.
Sorumluluk kodun bittiği yerde başlar
Senior yalnızca kendi parçasından sorumlu değildir. Daha geniş bir perspektifle bakar.
Düşünür:
- değişiklik diğer modülleri nasıl etkileyecek,
- çözüm ölçeklenebilir mi,
- yeni özellik bakım açısından kolay mı olacak,
- uygulamaya alınmasının hangi riskleri var,
- kullanıcılar gerçekten fayda sağlayacak mı.
Bu tamamen farklı bir düşünme biçimidir.
İyi bir Senior yeni Seniorlar yetiştirir
Bu sektördeki en güzel şeylerden biridir.
Karşılaştığımız en iyi geliştiriciler bilgilerini paylaşmaktan hiç çekinmediler. Tam tersine, bunu memnuniyetle yaptılar.
Ekipten birinin daha hızlı gelişmesinden sevinç duydular. Çünkü güçlü bir ekip her zaman tek bir kahramandan daha iyi işler.
Yirmi yılı aşkın sürede stajla başlayan kişilerin nasıl tam ekip üyelerine dönüştüklerini gözlemleme fırsatımız oldu. Bu hikâyelerden birini serinin ilk bölümünde anlattık.
Bugün o kişi bağımsız olarak zorlu görevleri yürütüyor, çözümler tasarlıyor ve daha genç geliştiricileri destekliyor.
Bu bir gecede mi oldu? Elbette hayır. Yüzlerce saatlik öğrenmenin; onlarca Code Review’in; sayısız sorunun; yapılan hataların; ve büyük bir merakın sonucudur.
AI iyi bir geliştiricinin yerini almaz
Bu konu olmadan geçemezdik. Yapay zeka sektörümüzü değiştiriyor mu? - Evet. Çok fazla.
Peki geliştiricilere artık ihtiyaç kalmadı mı? - Tam tersine.
İşin karakteri değişiyor. Tekrarlayan kod yazmaya daha az zaman harcıyoruz.
Artık daha çok:
- problem analizi,
- mimari tasarım,
- çözümlerin doğrulanması,
- müşterilerle konuşmalar,
- karar verme.
AI mükemmel bir asistan. Ama projenin sorumluluğunu hâlâ insan taşıyor. Ve uzun süre böyle olacak.
CV'ye yazamayacakların
CV şunları gösterir:
- programlama dilleri,
- frameworkler,
- sertifikalar,
- deneyim.
Ancak başarıyı sıklıkla belirleyen şeyleri göstermez.
Hata yaptığını itiraf edebiliyor musun?
Yardım istemesini biliyor musun?
Başkalarının zamanına saygı gösteriyor musun?
Anlaşmalara sadık kalıyor musun?
Sakin bir şekilde çatışmaları çözebiliyor musun?
Kararlarının sorumluluğunu alıyor musun?
İşte bu özellikler sayesinde ekip seninle çalışmak ister.
Sana yalnızca bir tavsiye verebilseydik...
Yirmi yılı aşkın yazılım geliştirme deneyimimizle teknolojilerden bahsedebilirdik.
Mimari. Frameworkler. Yapay zeka.
Ama sana yalnızca tek bir tavsiye verecek olsaydık, şöyle olurdu: Meraklı olmaktan asla vazgeçme.
Teknolojiler değişecek. Programlama dilleri evrilecek. Frameworkler ortaya çıkıp kaybolacak.
Ama merak, alçakgönüllülük, öğrenme isteği, soru sorma yeteneği—bunlar her zaman gerekli olacak yetkinliklerdir.
Terimler sözlüğü
Senior Developer
Yalnızca kaliteli kod yazmakla kalmayıp aynı zamanda çözümler tasarlayan, teknik kararlar alan, ekibi destekleyen ve yürütülen projelerden sorumluluk alan deneyimli geliştirici.
Yazılım mimarisi
Uygulamanın ve onun bileşenleri arasındaki ilişkilerin tasarım biçimi; sistemin gelişimini, performansını ve bakım kolaylığını etkiler.
Ölçeklenebilirlik
Sistemin kullanıcı, veri veya süreç sayısı arttığında performans kaybı yaşamadan hizmet verebilme yeteneği.
Commit
Git gibi sürüm kontrol sisteminde yapılan değişiklik kaydı; projenin gelişim geçmişinin izlenmesini sağlar.
Mentorluk
Daha az deneyimli ekip üyelerine bilgi ve tecrübe aktarımı süreci; onların mesleki gelişimini destekler.
Serinin özeti
Eğer dört bölümü de okuduysan belki de fark etmişsindir ki çok nadiren belirli frameworklerden bahsettik.
Bilerek.
Çünkü teknolojiler her zamankinden daha hızlı değişiyor.
Bugün en popüler olan, birkaç yıl içinde sadece bir merak konusu olabilir.
Oysa iyi bir geliştiricinin düşünme biçimi değişmez; Analiz. Sorumluluk. İletişim. Takım çalışması. Merak.
İşte bunlar sayesinde Junior'dan Mid Developer'a, zamanla da Senior'a dönüşüyorsun.
Web24'te 20 yılı aşkın süredir farklı sektörlerden müşteriler için yazılım geliştiriyoruz. Bu süre zarfında bir şeye ikna olduk: en iyi geliştiricileri kaç programlama dili bildikleriyle değil; problemlere nasıl yaklaştıkları, insanlarla nasıl iş birliği yaptıkları ve ürettiklerinin kalitesine ne kadar önem verdikleriyle tanıyorsun.
Eğer henüz IT yolculuğuna yeni başladıysan, merakını asla kaybetmemenizi dileriz.
Çünkü her iyi kariyer ona merakla başlar.
