Yapay Zekâ Çağında Junior Geliştirici Olmak

Yapay Zekâ Çağında Junior Geliştirici Olmak

Asistanlar temel kodu saniyeler içinde yazınca "junior'a gerek kalmayacak" denildi. Sahada olan bu değil: değerli olan şeyin tanımı değişti. Neyin değerini koruduğuna bakalım.

Junior geliştirici olarak işe başlamanın zorlaştığı doğru; ama sebebi çoğu zaman yanlış anlatılıyor. "Yapay zekâ kod yazıyor, artık junior'a gerek yok" cümlesi sahadaki tabloyu yansıtmıyor. Değişen şey, bir junior'dan beklenen katkının ne olduğu.

Junior geliştirici için öne çıkan yetkinlikler
Ortak nokta: hepsi bağlam gerektiriyor ve hiçbiri tek bir istemle üretilemiyor.

Ucuzlayan iş, ucuzlamayan iş

Bir asistan şunları saniyeler içinde yapıyor: bilinen bir kalıbı uygulamak, veri dönüştürmek, boilerplate üretmek, bilinen bir dilden diğerine çevirmek. Bunlar bir zamanlar junior'ın ilk altı ayını dolduran işlerdi.

Şunları ise yapamıyor: sistemin geçmişini bilmek, hangi kararın hangi kısıt yüzünden alındığını hatırlamak, üretimdeki garip davranışın hangi veriyle tetiklendiğini bulmak, müşterinin söylediğiyle kastettiği arasındaki farkı sezmek. Bunların hepsi bağlam gerektiriyor ve bağlam istemle aktarılmıyor.

Yani öğrenme eğrisinin alt basamağı kısaldı, üst basamakları aynı yerinde duruyor. Fark, artık ikinci gruba daha erken geçmeniz bekleniyor.

Değerini koruyan beş beceri

1. Kod okumak

Yazmaktan daha önemli hâle geldi. Bir asistanın ürettiği kodu değerlendirebilmek için okuyabilmek gerekiyor; var olan bir sistemde çalışmak için de öyle. Buna rağmen kod okuma neredeyse hiç öğretilmiyor.

Pratik yöntem: kullandığınız bir kütüphanenin kaynağından tek bir fonksiyon seçin ve onun ne yaptığını, neden o şekilde yazıldığını anlayana kadar okuyun. Haftada bir fonksiyon, altı ayda ciddi bir fark yaratıyor. Yazılım öğrenme yöntemleri yazısındaki aktif hatırlama yaklaşımı burada da işliyor.

2. Hatayı daraltmak

"Çalışmıyor" ile "bu koşulda, bu veriyle, şu adımda yanlış sonuç veriyor" arasındaki fark, junior ile mid arasındaki farkın büyük kısmını açıklıyor. Asistanlar bu daraltmayı sizin yerinize yapamıyor, çünkü üretim verisini ve kullanıcı davranışını görmüyorlar.

Öğrenmenin yolu tekrar: her hatada, düzeltmeden önce "bunu nasıl kesin olarak tekrar üretebilirim" sorusunu cevaplayın. Tekrar üretemediğiniz bir hatayı düzelttiğinizi sanmak, en sık yapılan hata.

3. Gereksinimi netleştirmek

"Kullanıcılar raporu indirebilsin" cümlesi bir gereksinim değil. Hangi kullanıcılar, hangi tarih aralığı, hangi biçim, kaç satıra kadar, yetkisi olmayan alanlar ne olacak? Bu soruları sormak deneyim gerektirmiyor, alışkanlık gerektiriyor — ve sorduğunuzda ekipteki algınız hızla değişiyor.

4. Kendi kodunuzu savunabilmek

Asistan çağında en ayırt edici beceri bu. Gönderdiğiniz değişiklikteki her satırın neden orada olduğunu açıklayabiliyorsanız, o kodun kim tarafından yazıldığının önemi kalmıyor. Açıklayamıyorsanız, kodu siz yazmış olsanız bile sorumluluğu üstlenmemişsiniz demektir.

5. Ne zaman soracağını bilmek

Hem çok erken hem çok geç sormak maliyetli. İşleyen bir denge: kırk beş dakika kendiniz uğraşın; ilerleme yoksa, o ana kadar denediklerinizi ve elediğiniz ihtimalleri yazıp sorun. Bu biçimde sorulan soru, hem daha hızlı cevap alıyor hem de sorduğunuz kişiye ne kadar ilerlediğinizi gösteriyor.

Asistanı öğrenmeyi hızlandıracak şekilde kullanmak

Aynı araç, kullanım biçimine göre ya öğrenmeyi hızlandırıyor ya da tamamen engelliyor.

Engelleyen kullanımHızlandıran kullanım
Sorunu okuyup doğrudan asistana yapıştırmakÖnce kendi çözümünü yazıp sonra karşılaştırmak
Üretilen kodu anlamadan göndermekHer satırı açıklatıp gerekçesini sorgulamak
Hata mesajını yapıştırıp düzeltmeyi almakHatanın neden oluştuğunu açıklatmak
Testleri de asistana yazdırmakEn az bir testi gereksinimden yola çıkarak kendi yazmak

Basit ve işe yarayan kural: kendiniz denemeden sormayın, anlamadan göndermeyin. Bu iki cümle, aracın öğrenmenizi baltalamasını engelliyor.

İlk iki yılın gerçekçi planı

0-3. ay: Kod tabanını anlayın. Küçük hataları çözerek sistemi gezin. Kapatılmış hata kayıtlarını okuyun — bir sistemin gerçek dokümantasyonu genellikle oradadır.

3-9. ay: Uçtan uca küçük özellikler üstlenin. Veritabanı değişikliğinden arayüze kadar tüm katmanlara dokunun. Bu dönemde tek bir katmanda uzmanlaşmaya çalışmayın.

9-18. ay: Başkalarının kodunu incelemeye başlayın. İnceleme yapmak, kod yazmaktan daha hızlı öğretiyor çünkü aynı sürede çok daha fazla farklı yaklaşım görüyorsunuz. Mülakat hazırlığı tarafında da bu dönemde biriktirdiğiniz örnekler işe yarıyor.

18-24. ay: Bir işi baştan sona sahiplenin: gereksinimi netleştirmekten yayına almaya ve sonrasını izlemeye kadar. Bu, mid seviyenin fiilî tanımı.

Portföy: nicelik değil gerekçe

Eğitim videolarından çıkmış on proje, işe alanlar için ayırt edici değil; aynı projeyi yüzlerce kişi gönderiyor. Ayırt edici olan: gerçekten kullanılan tek bir proje ve kararlarınızın yazılı gerekçesi. Neden bu veritabanını seçtiniz, neden bu kütüphaneyi kullanmadınız, hangi kısıt yüzünden basit çözümü tercih ettiniz? Bu paragrafları README'ye yazmak, kod kalitesinden daha fazla konuşuyor. Açık kaynağa katkı da benzer bir kanıt sağlıyor; nereden başlanacağı için ilk adımlar rehberine bakabilirsiniz.

Sonuç

Junior geliştirici olmanın zorlaştığı doğru, ama imkânsızlaştığı doğru değil. Ucuzlayan şey kod üretmek; ucuzlamayan şey bağlamı anlamak, hatayı daraltmak, isteği netleştirmek ve verdiğiniz kararı savunmak. Bu dördüne yatırım yapan biri, aracın ne kadar geliştiğinden bağımsız olarak değerini koruyor. İlk iki yılda hedefiniz çok kod yazmak değil, çok sistem anlamak olsun.

Yol haritası ve kaynak seçimi için: roadmap.sh — Öğrenme yol haritaları.

Beğeniniz benzer içerikleri öne çıkarmamıza yardımcı olur.

Sık Sorulan Sorular

Sayıdan çok tanım değişti. Yalnızca tarif edilen fonksiyonu yazan bir rolün karşılığı daralıyor; buna karşılık var olan sistemi anlayabilen, hatayı daraltabilen ve gereksinimi netleştirebilen kişiye talep sürüyor. Bu beceriler zaten kıymetliydi, artık ayırt edici hâle geldi.

Nasıl kullandığınıza bağlı. Cevabı alıp geçerseniz engeller. Önce kendiniz deneyip sonra karşılaştırırsanız hızlandırır — çünkü kendi çözümünüzle bir alternatifi yan yana görmek, tek başına kod yazmaktan daha öğretici. Basit kural: kendiniz denemeden asistana sormayın.

Kod tabanını anlamaya. İlk üç ayda kaç özellik yazdığınız değil, sistemin hangi parçasının neden orada olduğunu ne kadar kavradığınız belirleyici oluyor. Bunu hızlandırmanın en iyi yolu, kapatılmış hataları okuyup neyin nasıl çözüldüğünü izlemek.

Bitirilmiş, yayında ve kullanılan tek bir proje, yarım kalmış on projeden değerli. Deponun README'sinde hangi kararı neden verdiğinizi yazın; işe alanlar kodun kendisinden çok bu gerekçeleri okuyor. Kopyalanmış eğitim projelerinin ayırt ediciliği ise neredeyse kalmadı.

S
superadmin

Bu yazıyı hazırladı. Sorularınız için iletişim sayfasından ulaşabilirsiniz.

Yorumlar (0)

Bu yazıya henüz yorum yapılmamış. İlk yorumu siz yazın!

Yorum Yaz

Yorumunuz onaylandıktan sonra yayınlanır. Ekibimiz gerekirse konuyla ilgili bir yanıt da paylaşır.

En az 10 karakter.