- Yapay zeka araçları geliştirici üretkenliğini ve ekip kapasitesini artırdı, ancak yazılım kalitesi ve kararlılığı aynı ölçüde iyileşmedi; kullanıcılar artık bir güncellemeden sonra önce daha kötü bir deneyim bekliyor
- Banka uygulamalarında tekrarlanan FaceID doğrulamaları, Slack’in odağı çalması, LG garanti başvurusunun başarısız olması, otomobil bilgi-eğlence sistemi hataları gibi gündelik bug’lar finans, iş, müşteri desteği ve sürüş deneyimini genel olarak aksatıyor
- Geçmişin daha basit yapısından farklı olarak yeni soyutlamalar, frontend framework’leri ve altyapı karmaşıklığı birikti; yükselen kullanıcı deneyimi standartlarıyla birleşince sistemler giderek kırılganlaşıyor
- En yeni modeller ve yeterli token bütçesi olsa bile kararlılık iyileştirmeleri KPI’larda veya sunum materyallerinde öne çıkmakta zorlandığı için şirketler bug düzeltmek yerine yeni özellikleri ve yeniden tasarımları önceliklendiriyor
- Şirketler yapay zeka borcu biriktirirken bireysel geliştiriciler geçmişte yapması zor olan yazılımlara girişebiliyor; macOS ve Windows’a yönelik tepkinin gündelik yazılımı iyileştirmeye yayılma ihtimali var
Yapay zeka çağında bile kötüleşen kullanıcı deneyimi
- Yapay zeka furyası içinde insanlar, her şey otomatikleşmeden önce piyasa değerlerini güvenceye almak için aşırı miktarda token tüketiyor
- Model performansındaki iyileşmeler, peş peşe gelen programcı işten çıkarmaları ve yıl sonuna kadar kodun %100’ünü yapay zekanın yazacağı öngörüleri kaygıyı artırıyor
- Ajan çağı daha yüksek üretkenlik ve kalite vaat ediyor
- Yeni araçlar yazılımı üretme ve kullanma biçimimizi şimdiden değiştirdi
- Yöneticilerin ekiplerden istediği çıktı miktarı arttı; yazılım ekiplerinin ortalama yetkinliği de eskisinden farklı bir seviyeye çıkmış olabilir
- Ancak gerçek ürünler çoğu zaman temel kararlılığı bile sağlayamıyor
- Banka uygulaması, 3D Secure doğrulama ekranı görünene kadar ortalama üç kez FaceID girişi istiyor
- macOS için Slack geç açılıp Ghostty’nin odağını çalıyor ve terminale yazılan
git pullkomutunu grup sohbetine gönderiyor - LG buzdolabı garanti başvurusu, çok sayıda alan içeren çok adımlı formun son gönderim aşamasında başarısız oldu; hatayı anlamak için JavaScript konsoluna bakmak gerekti
- Otomobil bilgi-eğlence sistemi güncellemeden sonra her sürüşte yeniden başlatıldı; sinyal sesi kayboldu veya Google Maps yerine radyo açıldı, ekran girişleri de 1–2 saniye gecikti
- Otomobil hataları basit bir UX rahatsızlığının ötesine geçip sürüş odağını bile azaltıyor
- Otomobil OS yeniden tasarım ekibinin PM’i LinkedIn’de sonucu kutladı, ancak gerçek kullanıcılar ürünle boğuşmaya devam etmek zorunda kaldı
- Bu ekiplerin en yeni modelleri ve geniş token bütçelerini kullanma ihtimali var; LLM’ler de fırsat verildiğinde bug düzeltmede yüksek performans gösterebilir
Karmaşıklık ve KPI’ların kaliteyi geri plana ittiği yapı
- Yazılımda her zaman bug vardı; macOS Snow Leopard döneminin tamamen kararlı olduğuna dair nostaljide seçici hafıza payı bulunuyor
- Geçmişte yazılım daha iyiyse bunun başlıca nedeni bugüne kıyasla çok daha basit olmasıydı
- Sonrasında yeni soyutlamalar, frontend framework’leri ve daha fazla altyapı karmaşıklığı eklendi
- Kullanıcı deneyimi çıtası sürekli yükseldi, ancak tüm sistem tersine daha da kırılgan hale geldi
- macOS ve ona bağımlı uygulamaların güncellemeleri beklentiden çok endişe konusu oldu; kullanıcılar yeni sürümün eskisinden kötü olma ihtimalini önce düşünür hale geldi
- Sorun yapay zekanın kendisinden çok, yapay zekanın nerede önceliklendirildiğinde yatıyor
- GPU altyapısı geliştiricilere güçlü yetenekler sağladı, ancak daha iyi yazılım üretmek için yeterince kullanılmıyor
- Yazılım şirketleri uzun zamandır KPI odaklı hareket ediyor ve kararlılık artışı sayılara doğrudan yansımayabilir
- Bir çeyrek boyunca yeni özellikleri ve yeniden tasarımları durdurup yalnızca bug düzeltmeye odaklanma planı sunumlarda öne çıkmakta zorlanır
- Bu öncelikler değişmezse yazılım kalitesindeki düşüş de kaçınılmaz olarak sürecek
Bireysel geliştiricilere açılan fırsat
- Şirketler topluca yapay zeka borcuna saplanırken bireysel geliştiriciler, geçmişte kapasitelerinin dışında kalacak yazılımları yapma fırsatı elde ediyor
- Otomobil Android Auto’su veya LG web sitesine yönelik beklentiler düşük, ancak mevcut duruma biriken hoşnutsuzluk gündelik yazılımı iyileştiren bir itici güç olabilir
- macOS ve Windows’un mevcut durumuna karşı tepki hareketleri şimdiden ortaya çıkıyor
- Bu akımın yazılım yığınının tamamına yayılma ihtimaline umut bağlanıyor
1 yorum
Hacker News yorumları
Eskiden ücretsiz olarak hangi yeni özelliğin geleceğini merak ederek güncelleme yapar, Fedora Workstation 45’teki değişikliklere de bakardım; ama artık telefon, TV, otomobil ve Linux dışı işletim sistemlerinin güncellemeleri önce korku uyandırıyor
İstenmeyen özellikler ve dış bağlantılar yine eklenecek mi diye endişeleniyorum; macOS da pencere boyutunu değiştirmek için küçük şeffaf sınırı bulmaya zorlaması gibi şeylerle zaten uzun zaman önce beklentimi söndürmüştü
Windows 11 ise güvenlik güncellemesinden sonra istenmeyen bağlantı özelliklerini ya da AI özelliklerini yeniden önermek gibi dark pattern’lar kullanıyor gibi görünüyordu
Video oyunları dışında neredeyse tüm yazılım güncellemelerinden nefret ediyorum; Dead By Daylight’ta bile tek teselli, geliştirici Behaviour’ın beceriksizliğinin oyunun içinde hapsolmuş olması
Tescilli yazılımlar artık kullanıcılar için yapılmıyor, ancak bazı FOSS projeleri hâlâ kullanıcıyı önceliklendiriyor
Bunun yerine otomatik güncellenen Store/AppX paketleriyle “bağlantılı deneyimler” dağıtılıyor ve yama sonrası yeniden başlatmada OOBE çalıştırılarak özellikler tekrar öneriliyor ya da etkinleştiriliyor
Teknik olarak güvenlik güncellemesine bağlanmış değil, ama kullanıcıyı hiçe sayan bir dark pattern olması değişmiyor
Bu tür araçlar ve Silicon Valley’nin “hızlı hareket et ve bir şeyleri kır” kültürü birleşerek ekip üretkenliğine dair yönetici beklentilerini yükseltti; en can sıkıcı olan da bu beklentiyi karşılamaya çalışmak
Yazılım hızlı geliştirilebilir, ancak doğru olduğundan emin olmak için daha fazla zamana ihtiyaç vardır
AI ile kod üretimi sayesinde deneyimli bir mühendis geçmişte bir hafta süren işi bir saatte çıkarabilir; ama bu, doğruluğu doğrulama süresini de azaltmaz
Pek çok geliştirici yalnızca üretim hızının avantajını alıp kararlılık, performans ve hatasızlığı kontrol etmenin maliyetini görmezden geliyor; bununla birlikte tüketiciye yönelik yazılımlardaki kalite düşüşü AI’dan önce de sürüyordu
Etki işe göre büyük ölçüde değişir, uzun vadeli projelerde doğrusal biçimde ölçeklenmez ve bazen AI tam tersine daha büyük gecikme yaratır
Kaliteyi yok sayarsanız muazzam hızlara ulaşabilirsiniz; ama kaliteyi umursamazsanız AI olmadan da çok daha hızlı olursunuz
Ne kadar uzun geliştirilirse geliştirilsin, sahada 3 ay düzgün çalışmış olması daha güvenilirdir; bu yüzden erken ve sık yayınlamak gerekir
Yazılım kalitesi her zaman piyasa teşviklerine bağlı olmuştur; AI, sağlam yazılım üretme motivasyonunu kendiliğinden sağlamaz
Piyasa, her güncellemede bozulmayan uygulamalar ya da birden fazla bağımsız çözümün birleşimi yerine Microsoft’un tek durak ürününü seçmeyi ödüllendirir
Geçmişte bunu yapamamamızın nedeni yalnızca bilgisayar gücü ve bilginin yetersiz olmasıydı; artık sektör, yazılımın zar zor ayakta kalması için gereken asgari koşulları ve kullanıcıların katlanacağı küçük rahatsızlıkların sınırını bulmuş durumda
Tam ve doğru yazılım ancak kusurlardan doğan yasal sorumluluk riski büyük olduğunda üretilir
KDE Plasma’nın Wayland’inde hangi pencerenin odağı çalabileceğini kontrol eden genel bir ayar var ve çok iyi çalışıyor
İş için Mac ya da Windows PC kullandığım her sefer bu özelliği özlüyorum; belgelerde “Focus stealing prevention” bölümünde görülebilir: https://docs.kde.org/trunk_kf6/en/kwin/kcontrol/windowbehavi...
Windows 7’nin yavaş yavaş iyileşmeye devam edip kullanışlı bir olgunluk kazandığı bir ortam gibi
NixOS’ta kitaplık yüklemenin n² olması nedeniyle GUI programlarının açılışını yavaşlatan eski bir sorun var; ancak N100 mini PC’de bile hepsi yaklaşık 1 saniye içinde açılıyor ve 4K 240Hz HDR monitörü de akıcı biçimde idare ediyor
En önemlisi, bilgisayar yalnızca komut verdiğiniz şeyleri yapıyor
Kullanıcı beklerken başka bir giriş yaparsa bu, artık odağın o uygulamaya verilmesini istemediğine dair bir işaret olabilir; ama tasarım yalnızca uygulamanın anında açıldığı iyimser durumu varsayıyor gibi
Dokunmatik klavyenin önerdiği kelime parmak değmeden hemen önce değişiyor; iOS Liquid Glass’ta ya da kararsız web uygulamalarında düğmeler bile hareket ediyor
Pop-up’lar ve “Bu uygulamayı beğendiniz mi?” gibi etkileşim çağrıları da her yerde
Windows’ta odak çalma 1995’te de sorundu; 100 ms düzeyinde tekrarlanan ani değişimler kasların irkilme tepkisini ve limbik sistemi sürekli uyarıyor, birkaç saat sonra vücut titreyecek hâle geliyor
Slot makinesi benzeri uyarıları ve tıklama sayısını hedefleyen etkileşim metriklerini durdurup işe odaklanmayı mümkün kılmak gerekiyor
Kullanıcı yazı yazarken veya arayüzle etkileşimdeyken başka hiçbir uygulamanın odağı almasına izin vermeyen odak çalma debounce’u varsayılan olmalı
Pop-up, ses ya da ikon yanıp sönmesi kullanılsa bile, o anda yapılan işle ilgisiz bir uygulamanın girdiyi ele geçirmesine izin verilmemeli
Cisco AnyConnect’te bağlantı düğmesine bastıktan sonra bağlandı diye istisna talep edilmesi gereken bir durum da değil; terminal uygulamalarının STDIN’i kapmasına nasıl izin vermiyorsak GUI’de de buna izin vermemeliyiz
Bir hata olabilir, ama uygulama açılışı tamamlanmadan kullanıcı başka bir pencereye tıkladıysa aslında uygun bir özellik de olabilir
X11’de olduğu gibi yeni pencereye odak vermemek mümkün, ancak kullanıcıların çoğunun istediği davranış bu olmayabilir
Sorun en başından beri kod yazma eylemi değil, bir şeyi özenli ve titiz biçimde üretme süreciydi
Yazılım geliştirme uzun süre boyunca alışkanlıklar, güvenlik mekanizmaları ve doğrulanmış yapılar biriktirerek ilerledi; ama artık yalnızca problemi tarif edip aşırı hızlı üretilen sonucu doğru dürüst incelemeden, neyi dağıtıma çıkardığımızı bile bilmez hâle geldik
El yapımı mobilyanın fabrika ürününe dönüşmesiyle kimin hangi parçayı yaptığının bilinmemesi ve uzun ömürlü olmaması gibi, yazılım da anlamadan birleştirme ve dağıtma aşamasına geldi
Kötü işçilik birikecek, ama bu aynı zamanda yeniden iyi yapmanın yollarını ciddiyetle düşünme döngüsünün başlangıcı da olabilir
Kod incelemesi yapmıyorsanız, kodu yapay zekaya bırakmak
PIPya daNPM installkomutlarını incelemeden çalıştırmaktan özellikle daha kötü değildirYazılımın sürekli kötüleşmesinin nedeni, kodlama çözüldü önermesinin baştan yanlış olması
Kodlama uzun zamandır ucuzdu ve şirketler en ucuz iş gücüne dış kaynak veriyordu; ancak problemi tanımlama ve çözümü tasarlama becerisi ayrı bir şey
Kod bir varlıktan çok borçtur; bu yüzden gerçek problemi çözecek asgari miktarda yazılmalıdır ve bunun için mühendislere ihtiyaç vardır
Yapay zeka çıktısını inceleyip hataları düzelttikten sonra harcanan süre doğrudan yazmaya benzer hâle geldiğinden işe pek faydası olmuyor
Yazılımın kötüleştiğine katılıyorum ama yalnızca yapay zekayı suçlayamayız
Streaming’in TV’ye aktarımda başarısız olması, tarayıcıda 500 hataları, kamusal dokunmatik ekranlarda mavi ekran zaten önceden de vardı
Programcı sayısının geometrik olarak artması ve yarısının yalnızca birkaç yıl veya daha az deneyime sahip olması bir yana, tek iş parçacıklı algoritma alıştırmaları dağıtık sistemleri, CQRS’yi, event sourcing’i, denetlenebilirliği ve idempotency’yi ele almaya yetmez
Ayrıca teknik olmayan ürün sahipleri (PO) yaşam döngüsünü ele geçirip yalnızca MVP’nin mutlu yolunu uygulatırsa hatalar ve gelecekte yeniden yazım kaçınılmaz olur
Diller C++’tan Java, JavaScript ve Python’a geçerek yeni başlayanlara daha dost hâle geldi, ancak işler şirketler arası dağıtık sistemler, 7/24 çalışma, milyonlarca kullanıcı, güvenlik ve makine öğrenmesi gibi alanlarla daha karmaşıklaştı
Yönetici terfileri ve departman birleşmeleri “heyecan verici haberler” diye paketlenirken ürün iyileştirmenin sürekliliği kayboluyor
Agile’ı harfi harfine ve aptalca uygulamak zorunda değiliz; altyapı ya da kullanıcıya dönük uygulamalarda da önceki ürünlere, rakiplere ve ekibin deneyimine dayanarak 3, 6, 12 ay sonra gerekecek özellikler planlanabilir
GPS’i takip ederken bile tüm rotayı ve sonraki üç adımı kontrol ettiğimiz gibi, Agile da bir adımı bitirdikten sonra ancak o zaman bir sonraki adımı ilk kez düşünmek demek değildir
Bir makine yatağı %150 daha hızlı yapıyor ama hata oranı %70 ise hatalı ürünlerin artması, marangozluk uzmanlığının yok olması ve ustaların motivasyon ve faydasının düşmesi aynı anda yaşanır
Makine bir gün iyileşse bile, o süre boyunca sayısız insanın berbat yataklarda uyumak zorunda kalmasına benzer
LLM’ler tüm kod tabanını tek seferde okuyup anladıktan sonra bu anlayışa dayanarak karar veremez
Programlamanın zor kısmı tek bir fonksiyon ya da sınıf değil, devasa bir sistem içinde bunların birbiriyle nasıl etkileştiğidir; yazılımın ölçeği LLM bağlam penceresinden temelde daha büyüktür
Bağlam penceresi büyüse bile insan gibi anlayış biriktirmez; bu yüzden yapay zekanın kodlamayı çözdüğü söylenemez
Yeni projelerde faydalıdır, ama yeni yazılımı hızlıca yapmak zaten eski kod üzerinde çalışmaktan her zaman daha kolaydı