Geçen gün ofiste rafları toplarken bu iki yığın çıktı ortaya. Visual Basic Pro 5.0, C# ile ASP.NET 2.0 “Herkes İçin”, Dreamweaver 8, Photoshop CS2… Yanlarında da biraz daha yeni olanlar: Clean Architecture, Site Reliability Engineering, Tasarım Desenleri ve Mimarileri. Hepsini masaya dizdim, fotoğrafını çektim, sonra bir süre öyle baktım 🙂

Baktıkça şunu düşündüm: eskiden yazılımcının iki derdi vardı.
Birinci dert: teknik
Visual Basic Pro 5.0’ı kitaptan, altını kalemle çizerek öğreniyorduk. ASP.NET’te sayfa neden iki kere post ediyor diye gece ikiye kadar oturuyorduk. Dreamweaver’da tablonun içine tablo koyup site yapıyorduk, sonra o tabloyu ortalamak için bir akşam daha harcıyorduk. Stack Overflow’a soru sormadan önce üç gün cesaret topluyorduk.
İkinci dert: ürünü anlamak
Müşteri “rapor yavaş” diyordu ama aslında derdi raporun yanlış kişiye gitmesiydi. Bunu anlamak için toplantıda yüzüne bakmak, bir iki soru daha sormak, bazen de onun masasına gidip ekranı nasıl kullandığını görmek gerekiyordu.
Şimdi ne değişti?
Birinci dert neredeyse kalktı. Yapay zekaya bu fotoğrafı gösterdim, “bu kitapların hepsini okudum, teknik kısmı ben hallederim” dedi. Haklı da 🙂
Ama kimsenin pek konuşmadığı bir yan etkisi var. O teknik dert bize sadece syntax öğretmiyordu. Bir verinin neden orada durduğunu, bir hatanın gerçekte nereden geldiğini, sistemin nasıl düşündüğünü, yani işin matematiğini zorla öğretiyordu. Kimse bunu bize ders olarak anlatmadı, o geceler anlattı.
Yeni nesil yazılımcılar çok hızlı, bunu takdir ediyorum. Bizim bir haftada yazdığımızı bir öğleden sonra yazıyorlar. Ama o acıyı yaşamadan geçiyorlar. Kod çalışıyor, fakat neden çalıştığını bilen yok. Çalışmadığında da ilk refleks yine yapay zekaya “çalışmıyor, düzelt” yazmak oluyor.
Sonra yapay zekaya ikinci derdi de sordum: “Müşterinin ne istediğini sen anlar mısın?”
Cevap: “Prompt’ta yazıyorsa anlarım.”
Yazmıyor tabii 🙂
Geriye kalan tek iş
Yani geriye tek bir iş kaldı ve o iş eskisinden çok daha önemli: ürünü anlamak. Bu ekranı kim kullanacak, ne zaman kullanacak, hangi sorununu çözecek? Yazdığımız şey bir gün birinin faturasını, maaş bordrosunu ya da stok sayımını etkileyecek. Bunu düşünen yazılımcı yapay zekayı çok iyi kullanır. Düşünmeyen ise sadece daha hızlı yanlış şey üretir.
Teknik kısmı yapay zekaya bırakın, sorun yok. Ama işin matematiğini öğrenmeyi ve ürünü düşünmeyi bırakmayın. O kitaplar rafta dursun, ama içindeki merak sizde kalsın.