Blockchain teknolojisini hatirlayalim. Her derde deva olacak diye pazarlandi. Aslinda bulduklari cözüm icin cok uzun bir zaman sorun aradilar. O arayis hala devam ediyor…
Okumaya devam etKategori arşivi: Yazılım Hakkında Genel Düşünceler
Junior Yazılımcı Olsam Nasıl İş Bulurdum?
Yapay zekanin yayginlasmasi ile junior yazilimcilarin artik sektöre girmeleri hemen hemen imkansiz hale geldi.
Bugün üniversiteyi bitirmis bir junior yazilimci olsaydim, nasil is bulurdum?
Okumaya devam etRefactoring Artik bir Zihin Aktivitesidir
Neden kodu yeniden yapilandirmak (refactoring) artik sadece bir zihin aktivitesidir?
Eskiden bir yazilim ürünü icin gelistirilecek özelliklerin bir maliyeti vardi. Buna göre de yer yer öncelik siralamasi yapilirdi. Simdi bu maliyet hemen hemen ortadan kalkmis durumda.
Okumaya devam etÜrün ve MVP Ötesi
Ürün ya da mvp cikarmak sorun degil, asil mevzu onu müsterisi ile bulusturmak. Kod yazip, ürün olusturmak baska bir sey, o ürünü canliya alip, calistirmak cok baska birsey. Bu yüzden her yazilimicinin yazilim haricinde hakim olmasi gereken teknik konulari basliklar olarak yaziyorum. Gerisini bilenler tamamlayabilir:
Okumaya devam etJunior Yazilimcilar ve Vide Coding
“Vibe coding” terimi mevcut durumu tanimlamak icin artik yetersizdir.
Genc yazilimcilar artik vibe coding yapmiyorlar, usta cirak iliskisi icinde gerekli tüm temel ve üst bilgiyi hocalarindan (AI) ögreniyorlar.
Okumaya devam etAnalog Yazilimdan Dijital Yazilima Gecis
Yazilim camiasindaki güncel gelismeler Alice harikarlar diyarinda gibi hissettiriyor.
Artik iki dünya olustu: analog yazilim, dijital yazilim.
Okumaya devam etMindshift
Benim 20 sene imperatif program kod yazdiktan sonra fonksiyonel proglamaya gecisim cok zor olmustu. Beynimin en son hücresi bile imperatif düsünmeyi yeglerken, artik bunu baska türlü yapiyoruz demek yeterli olmuyor. Insanin bu kemiklesmis düsünce sablonlarini asmasi cok zor.
Okumaya devam et
Code Generation ve Generative AI
Code generation konusunda nereden nereye geldik…
- Üniversite yillarinda CASE araclari ile UML modelleri hazirlar ve tüm interface, dto ve entity gibi siniflarin otomatik olarak olusturulmasini saglardik. Okumaya devam et
Yazilimcilar Icin Yapay Zeka Kullanma Klavuzu
Ben günlük islerimde IntelliJ / Android Studio ve Copilot Claude Sonnet 4.5 yapay zeka modelini kullaniyorum.
Zaman icinde kendim icin yapay zeka öncesinden cok farkli bir calisma modeli gelistirdim. Bu bir nevi yapay zeka kullanim klavuzu. Yapay zeka araclari gelistirildi lakin bunlarla nasil programci olarak calismamiz gerektigine dair bize bir kullanim klavuzu verilmedi. Herkes kendi basina bunlari kesfetmek zorunda. Bu konuya katki amaciyla kendi tecrübelerimi paylasmak istedim. Hep birlikte belki genel kapsamli bir calisma ve kullanim klavuvuzu gelistirebiliriz. Bu yazim benim icin bir nevi “programming best practices with ai” görevini görecek.
Okumaya devam etBindikleri Dalı Kesiyorlar
Yazılımcılar İçin Yeni Dönem Başlıyor
Sadece mevcut bilgi ve tecrübe seviyesini ölçmeye yönelik yazılımcı mülakatları sona erecek.
Artık adaylardan copilot gibi yapay zeka araçları ile sunulan bir fikir için çok hızlı ve çalışır bir protip (MVP) oluşturmaları istenecek. Birkaç saatlik bir zaman diliminde fikirden, çalışan ürüne kadar tüm yazılım yelpazesi ve adayın bu süreçte nelere hakim olduğu kontrol edilecek.
Okumaya devam etYapay Zeka İle Çevik Olma
Yazılımda çevik olmanın tek yöntemi test yazmaktır. Yazılım projelerinin zaman içinde yeniden yapılandırılamayarak telef olmalarının tek sebebi test eksikliğidir.
Okumaya devam et
Statükocu Zihniyet
Yazılımcı olarak bazı gerçeklerle yüzleşmemiz gerekiyor.
Copilotu sadece bir sefer Claude Sonet 4.5 ya da türevleri ile deneyimleyen bir yazılımcı, anti yapay zeka savlarının birçoğunun gerçek dışı olduğunu görecektir. Nedir bu anti yapay zeka savları?
Okumaya devam etİyi Bir Fikrim Var!
Iyi bir fikim var baslikli yazim.
Sekiz Milyar Değişik İşletim Sistemi
Son zamanlarda alışkanlıkların oluşumu, etkileri ve yapıları hakkında bilgi edinme ve uygulama fırsatım oldu. Bir yazılımcı olarak insan vücudunu donanım, kişiliğini oluşturan tüm davranış biçimlerini ve diğer yetilerini yazılım olarak gördüğüm için alışkanlıkları da bu pencereden incelediğim bu yazıyı kaleme almaya çalıştım.
Gitflow ve Verdiği Zararlar
Artık git ile çalışmayan kalmadı sanırım. Bilindiği üzere gitflow isminde bir çalışma modeli var. Bu modelde uzun ömürlü feature branchlar ve ihtiva ettikleri daha geniş kapsamlı commitler ile çalışılmakta. Bu yazımda sizlerle bu modelin dejavantajları ve sebep olduğu sorunlar ve zorunlulukklar hakkındaki fikirlerimi paylaşmak istiyorum.
Çevik Süreçler Neden Dikiş Tutturamadı
Çevik süreçlerin tam olarak ne olduğunu kavramamış, çevik süreçler ile bir proje uygulamamış, scrum yaparak çevik olduğunu ve çevik süreçlerin bir işe yaramadığını zanneden şahısların “agile is dead” naralarını unutmadık. Ben de çevik süreçler öldü diyorum, lakin ekliyorum: “yaşasın çevik süreçler”. Çevik süreçlerin yıldızlarının bundan sonra nasıl parlayacaklarını ve tam anlamıyla yazılım geliştirme süreçlerine hakim olacaklarını kendi yazılımcı perspektifimden sizinle paylaşmaya çalışacağım.
Bilginin Evrimi
Yazılımda bilginin yarı ömrü ne yazık ki altı ayın altına düşmüş durumda. Yazılımcılar eskiye nazaran daha çok bilgi edinmek zorundalar. Bunda yazılımda soyutlamanın hızlanmasının büyük bir rolü mevcut. Soyutlama ve geldiğimiz noktayı bu yazımda kaleme almaya çalışmıştım.
Soyutlama işlemi bilginin evrimi için gerekli bir süreç. Evrimin olmadığı yerde gelişme olmaz. Evrim süreci bilginin geçerliliğini ispat etmekle mükellefken, soyutlama süreci de bilginin kullanıldığı anlamına gelmekte. İnsanlık var olduğu sürece, bu ilişki bilginin bir balon gibi şişip, sonsuzluğa doğru büyüyeceği anlamına geliyor, çünkü insanoğlu doğası gereği soyutlamadan yapamaz. Bu yüzden soyutlama işlemini bilgisel evrimin akaryakıtı olarak görebiliriz. Okumaya devam et
Yazılım Dünyasının Hızlı Çözüm Üretmek İle Olan İmtihanı
Yazılım neden vardır sorusu sorulduğunda, benim aklıma gelen ve benim için en anlamlı cevap yazılımın müşterinin gereksinimlerini tatmin etmek için var olduğudur. Müşteri piyasa ihtiyaçlarından doğan gereksinimlerini tatmin etmek ya da piyasa rekabetinde avantaj sağlamak için yazılıma yönelir. Yazılım müşterinin piyasa şartlarında ayakta kalkmak için kullanacağı en kıymetli araç haline gelebilir. Sektörüne göre yazılım olmadan bir firmanın piyasa işlevini yerine getiremediğini, rakiplerine yenik düştüğünü ve yök olduğunu ya da yetersiz yazılım yüzünden yok olma riski ile karşılaştığına tanık olmak mümkündür.
