Yapay zeka ile yazılım geliştirme üzerine konuşurken çoğunlukla hızdan söz ediyoruz. Daha kısa sürede kod yazmak, hataları bulmak ve çalışan bir uygulama ortaya çıkarmak artık günlük işlerin parçası. Bu gelişmelerin yanında, üzerinde düşünmemiz gereken bir soru var: Junior çalışanlar deneyimlerini nasıl kazanacak?
Küçük geliştirmeler, basit hata düzeltmeleri ve mevcut kodu anlamaya yönelik çalışmalar, mesleğin ilk yıllarında önemli öğrenme alanlarıydı. Bir hatanın nedenini araştırmak, farklı çözümleri denemek ve deneyimli bir çalışma arkadaşından geri bildirim almak, zamanla teknik muhakemeyi geliştiriyordu.
Bu işlerin giderek daha fazlasını AI araçlarına devrederken, aynı öğrenme fırsatlarının kendiliğinden devam edeceğini varsayabilir miyiz?
AI desteğiyle çalışan bir uygulama hazırlamak, kullanılan kavramların öğrenildiğini tek başına göstermiyor. Öğrenci görevi tamamlamış olabilir; ancak çözümün neden çalıştığını veya bir hata oluştuğunda ne yapacağını henüz bilmiyor olabilir.
Bu nedenle, stajyerlerin gelişimini değerlendirirken teslim ettikleri sonucun yanında çözümü nasıl açıkladıklarına da bakmamız gerekiyor. Hangi varsayımlarla ilerlediklerini, nerede zorlandıklarını ve bir gereksinim değiştiğinde nasıl uyarlama yapacaklarını konuşmak, öğrenmelerini daha görünür hale getirir.
Son altı ayda Bilgisayar Mühendisliği, Yazılım Mühendisliği ve Yönetim Bilişim Sistemleri (MIS) bölümlerinden stajyer öğrencileri projelerimize dahil ettik. Amacımız, AI araçlarını kullanmayı öğrenmeleriyle birlikte mesleki yetkinliklerini geliştirmeleri ve iş hayatına geçişte karşılaşacakları boşluğu daraltmaları.
Bu çalışmaları kıdemli bir ekip arkadaşımızın takibiyle yürütüyoruz. Öğrenciler görev üstlenirken yaklaşımlarını tartışabilecekleri, soru sorabilecekleri ve geri bildirim alabilecekleri bir destek mekanizması içinde ilerliyor.
Olası veri sızıntısı riskini azaltmak için öğrencileri hassas veri içermeyen, kurumsal sistemlerden bağımsız çalışan çözümler üzerinde görevlendiriyoruz. Böylece gerçek proje deneyimi kazanabilecekleri, sınırları belirlenmiş bir çalışma alanı oluşturuyoruz.
Bu deneyimde teknik çıktının yanında ihtiyacı anlamak, eksik bilgiyi fark etmek, doğru soruları sormak ve verilen kararları açıklayabilmek de önemli. Her görevde teslimat hedefiyle birlikte öğrencinin hangi beceriyi geliştireceğini de düşünmek gerekiyor.
Örneğin bir API entegrasyonu hazırlamak teslimat hedefi olabilir. Kimlik doğrulama mantığını açıklamak, hata durumlarını öngörmek ve aynı verinin iki kez işlenmesini önleyecek yaklaşımı tartışmak ise öğrenme hedefleri olabilir.
Bunun için üzerinde çalışmaya değer bir yaklaşım, öğrencinin önce kendi çözüm taslağını oluşturması. Problemi nasıl anladığını, hangi yöntemi düşündüğünü ve nerede takıldığını ortaya koyduktan sonra AI desteği alması.
Buradaki amaç, öğrenciyi uzun süre çözümsüz bırakmak değil. Kendi düşüncesini geliştirebileceği alanı açmak ve ardından uygun desteği sunmak.
Sinha ve Kapur’un meta-analizi, problem çözme denemesinin ardından öğretim verilmesinin, incelenen koşullarda öğrenmeye katkı sağlayabildiğini gösteriyor. Sonuçlar bağlama göre değişse de bu yaklaşım, ilk denemenin ve sonrasındaki geri bildirimin birlikte tasarlanması gerektiğini destekliyor.[1]
AI’nın verdiği yardımın biçimi de önemli. Doğrudan çözüm istemek yerine kavramsal açıklama, ipucu veya denemedeki hatalı varsayım hakkında geri bildirim almak, öğrenciyi sürecin içinde tutabilir.
Bastani ve arkadaşlarının matematik öğrenimi üzerine yaptığı araştırmada, doğrudan cevap vermekten kaçınan ve öğretmenlerin hazırladığı yönlendirmeleri kullanan AI desteği, standart kullanımdaki öğrenme kaybını büyük ölçüde azaltmıştı. Bu bulgu doğrudan yazılım ekiplerine genellenemez; ancak yardımın tasarımının neden önemli olduğunu gösteriyor.[2]
Bu araştırmalar, kendi çalışma biçimimizi geliştirmek için bir başlangıç sunuyor. Öğrencinin önce denediği, ardından destek aldığı ve çözümünü değerlendirdiği bir akış, projelerde öğrenmeye daha fazla yer açabilir.
Bir başka adım, tamamlanan işin öğrenci tarafından açıklanması. “Kod çalışıyor mu?” sorusunun yanında şu sorulara da yer vermek gerekiyor:
Burada beklenen, AI’nın açıklamasını tekrar etmek değil; öğrencinin kavramlar arasında kendi bağlantılarını kurması.
Kişinin çözümün nedenlerini kendi sözleriyle açıklamasını isteyen yönlendirmelerin öğrenmeye katkısı, Bisra ve arkadaşlarının meta-analizinde de destekleniyor.[3]
Bu açıklamayı birkaç gün sonra benzer ama farklı bir görevle tamamlamak da yararlı olabilir. İlk çözümün aynısını yeniden üretmek yerine, değişen koşullarda bilgiyi nasıl kullandığını görmek, gelişimi daha anlamlı biçimde değerlendirmemizi sağlar.
Kıdemli ekip arkadaşının rolü burada önem kazanıyor. Geri bildirim, öğrencinin düşünme biçimini anlamak ve eksik kalan noktaları birlikte ele almak için bir fırsat sunuyor.
Yazılım ekiplerinde teslimat baskısı gerçek. Öğrenme için ayrılan zamanın planın içinde yeri olmadığında, kısa vadede işi hızlandıran seçenekler kolayca baskın hale gelebilir.
Bu yüzden ekip liderleri olarak iki sonucu birlikte takip etmemiz gerektiğini düşünüyorum: Ortaya çıkan işin kalitesi ve o işi yapan kişinin gelişimi.
Teslimat tarafında süreye, hatalara ve yeniden çalışma ihtiyacına bakabiliriz. Yetkinlik tarafında ise kişinin çözümü açıklayabilmesini, hatayı teşhis edebilmesini ve öğrendiğini farklı bir duruma uygulayabilmesini izleyebiliriz.
Junior çalışanların geleceğine ilişkin endişeyi tek bir uygulamayla çözmek mümkün değil. Ancak kendi projelerimizde gençlerin sorumluluk alabileceği, geri bildirim görebileceği ve düşünme becerilerini geliştirebileceği alanlar oluşturabiliriz.
Stajyerleri projelere dahil ederken hedeflediğimiz de bu. AI ile üretim yapabilen, üretileni anlayabilen ve zamanla kendi kararlarının sorumluluğunu üstlenebilen çalışma arkadaşlarının yetişmesine katkıda bulunmak.
Kapak fotoğrafı: Alicia Christin Gerald - Unsplash.