Dokümantasyon

Yıllarca bize “Yazdığın kod için dokümantasyon da yaz!” dediler. İlk patlayan her daim kodun içine gömülü Javadoc vari dokümantasyonlar oldu. Çünkü üvey evlat muamelesi gördüler. Kod yazmak daha zevkliydi. Genel olarak yazılım dokümantasyonunu kod ile güncel tutmak her zaman büyük bir problem olmuştur. Artık kod yazmıyoruz. Dokümantasyon da yazmamıza gerek yok. Bunun için bir yapay […]

Araç Kullanımı

Yapay zeka ile birlikte bir de araç enflasyonu oluşmuş durumda. Her şey için yeni bir araç tavsiye ediliyor. Araç olmayan yerde bir skill devreye giriyor. Bunların büyük bir kısmına gerek yok. Bizim yapay zeka ile yaptığımız kontratları, doğal dilde ifade ettiğimiz istekler oluşturuyor. Bunun için yapmak istediğimiz işleri belirli kalıplara sokan daha fazla araca ihtiyacımız […]

Holakratik Yönetimin Yaşayan Hali

Şirket yönetim kültürü olarak holakrasiyi benimsediğimizi daha önce paylaşmıştım. Bu yönetim modelinde doğrudan yöneticiler bulunmuyor. Şirket, canlı bir organizma gibi hücrelerden ve onları kapsayan çemberlerden oluşuyor. Klasik yönetim anlayışında yönetim kültürünü oturtmak için eli sopalı yöneticilere ihtiyaç duyarsınız. Günün sonunda yöneticiler neyin nasıl yapılacağına karar verir, çoğu zaman sorumluluk almadan çalışanları ellerindeki sopayla hizaya sokarlar. […]

Soru Cevap

Soru: Neden yapay zeka araçlarını kullanırız? Cevap: Bizim yerimize iş yaptırmak için. Soru: Ne zaman yapay zeka ajanlarını kullanırız? Cevap: Ortadan kaldırmak istediğimiz her türlü işi organize etmek ve yürütmek için. Soru: Ajanlara neyi devrederiz? Cevap: İşin nasıl yapılacağını ve uygulanmasını. Soru: Peki bize ne kalır? Cevap: Neyi, neden istediğimizi ve ortaya nasıl bir sonuç […]

Yapay Zeka İle Yemek Yapma Arasındaki İlişki

Hiç hamur işi yapıp fırına verdiyseniz iyi bilirsiniz. Arada bir fırının kapağından içeri bakıp hamurun nasıl kabardığını, şekil aldığını görmek çok zevklidir. İnsan emeklerinin karşılığını canlı canlı görür. İşte yapay zeka ile ürün geliştirmek de artık fırına yemek vermek gibi bir şey. En azından bana böyle hissettiriyor. Üstelik yemeği de artık kendiniz hazırlamıyorsunuz. Star Trek […]

Sektör Ne İsterse O Olur

Yapay zeka ile çalışan bir yazılımcıdan bütün ekibin işini yapmasını beklemenin doğru olmadığı fikri savunuluyor. Galiba siz sektörü tanımıyorsunuz! Eskiden fullstack developer diye bir rol vardı, hatırlarsınız belki. Neden böyle bir rol ortaya çıktı? Çünkü iki kişinin işini bir kişiye yaptırmak istediler. Üstelik o zaman yapay zeka falan da yoktu. Sektörün temel eğilimi hep aynıdır: […]

Nereden Nereye

Kurduğum setup içerisinde şu an tek darboğaz GPT. Oluşturduğum Software Factory bünyesinde, Loop Engineering yaklaşımıyla projelerin nasıl otonom bir şekilde geliştirildiğinden daha önce birçok kez bahsettim. Loop Engineering için GPT + Opus ikilisini kullanıyorum. İş bölümü oldukça net: Opus: Implementasyon ve kod geliştirme GPT: Analiz, mimari değerlendirme ve code review Opus Max 20x üyeliğiyle bu […]

Çocuk Oyuncağı

Gerçekler artık şu şekilde: Software Engineer ünvanı artık sadece yazılım geliştirme yetkinliğini ifade etmiyor. Bir Software Engineer’ın aşağıdaki rolleri de üstlenebilecek yetkinliğe sahip olması gerekiyor: – Requirements Engineer – Software Architect – Test / QA Engineer – Security Engineer – Release and Deployment Engineer – DevOps Engineer – Performance Engineer – Site Reliability Engineer (SRE) […]

Her Yazılımcı Artık bir Gereksinim Analizcisi

Yapay zeka sizi gereksinim analisti olmaya zorluyor. Zamanla gereksinimleri ne kadar net ifade etmeniz gerektiğini anlıyorsunuz, çünkü yapay zekanın ürettiği çıktılar her zaman beklentilerinizle örtüşmüyor. Bu noktada kendinize şu soruyu sormaya başlıyorsunuz: “Ben ne istediğimi nasıl daha iyi anlatabilirim?” Bu soru sizi daha detaylı, daha sistematik ve daha analitik düşünmeye zorluyor. Eskiden yazılımcıların gereksinim analizi […]

Her İstediğini Yapabiliyor Olmak

Yapay zeka araçları ile çok hızlı proje çıkarmak mümkün. Ancak bunun bir de karanlık tarafı var: Maymun iştahlılık! Bir girişimciyseniz, üstüne üstlük bir de yazılımcıysanız ve senior developer seviyesindeyseniz, yüzlerce yazılımcıdan oluşan bir ordunuz varmış gibi istediğiniz projeyi geliştirebiliyorsunuz. Lakin bu muazzam üretim kapasitesi beraberinde ciddi bir tehlike getiriyor. Bahsettiğim maymun iştahlılık ya bir ürüne […]

DevOps Rolünün Geleceği

Daha önce de bahsetmiştim. Ajanların parladığı tek alan kod yazmak değil. Canlı ortamların yönetimi için yapay zeka ajanları biçilmiş kaftan. DevOps süreçlerinin çok büyük bir bölümünü, hatta zamanla neredeyse tamamını ajanlara devretmek mümkün. Bu amaçla Agentic Operations Center (AOC) adını verdiğim bir altyapı kurgulamaya başladım. Bir uygulama düşünün. Bu uygulama bünyesinde aşağıdaki çalışma alanları tanımlı: […]

Gereksinim Analizi

Eskiden bir uygulamanın nasıl olması gerektiğini anlamak için gerçek anlamda bir araştırma yapmak, müşteriye detaylı sorular sormak, gereksinimleri çıkarmak, mockup ve prototipler hazırlamak, ardından mimariyi oluşturmak gerekiyordu. Simdi yapay zekaya istediğiniz şeyin bir resmini vermeniz bile yeterli olabiliyor. Detaylara haftalarca kafa patlatmadan, “Şöyle bir şey istiyorum” diyorsunuz ve kısa süre içinde çalışan bir karşılığını görebiliyorsunuz. […]

Vibe Coding ve Kalp Cerrahları

İşin vahametini göstermek için bir analoji aktarayım. Kalp cerrahlarını düşünün. Şimdi de herkesin yapay zeka aracılığıyla kalp ameliyatı yapabileceğine inandığını ve gerçekten ameliyat yapmaya başladığını düşünün. Yazılım geliştirmek, özellikle büyük ve kritik sistemlerde, her zaman açık kalp ameliyatı yapmak gibiydi. Bir cerrahin insan vücuduna müdahale edebilecek seviyeye gelmesi yıllar süren eğitim, gözetim ve pratik gerektirirken; […]

Diskalifiye Olmayan Yazılımcı

Yapay zeka dönemini daha tam olarak idrak edememiş olanlara neden sadece deneyimli bir yazılımcının ön kişinin işini artık tek başına yapabileceğini hatırlatalım. Evet, eskiden bir yazılım ürününü çıkarmak için frontend, backend, test, product owner, devops gibi rolleri üstlenen insanlara ihtiyacınız vardı. Yani bu işleri çoğu zaman 5-10 kişilik ekipler yapmak zorundaydı. Şimdi bu 5-10 kişilik […]

Scrum ve Sprint’in Sonu

Extreme Programming gibi çevik süreçlerdeki ana çalışma prensiplerinden biri, müşteriye kısa aralıklarla ürünün ne durumda olduğunu gösteren çalışan prototipler sunmaktı. Bunun için bir ya da iki haftalık sprint’ler planlanır, bu zaman zarfında seçilen user story’ler ürünün parçası haline dönüştürülürdü. Peki neden bir ya da iki hafta? Çünkü yazılım geliştirmek zaman alan ve maliyetli bir işti. […]

Senior Developer

10+ yıl tecrübeli ve artık “dinozor” olarak görülen yazılımcılar ile çok az yazılım tecrübesi olan yazılımcıları aynı kefeye koymaya başlamışlar. Kod yazmanın ya da yazdırmanın yeterli olduğunu düşünüyorlar. Yapay zekanın kod yazıyor olması iki jenerasyon arasındaki farkı öyle kolay kolay kapatamaz. 10+ yıl tecrübeli bir senior yazılımcının ne anlama geldiğini bilmiyorlar sanırım. Açıklayalım. Yazılım da […]

Yeni Darboğaz CI / CD

Bir sonraki patlama CI/CD pipeline’larında yaşanacak. Yapay zeka deli gibi kod yazıyor. Ama koddan belki daha hızlı test yazıyor. Bunun sonucu kontrolsüz bir test enflasyonu. Ben şu anda bu problemle bizzat savaşıyorum. Bir backend sürümünün test, release ve deployment süresi 90 dakikaya dayanmış durumda. Asıl problem test sayısı da değil. Bu testlerin önemli bir bölümü […]

Yazılımcıları Vahşi Doğaya Salın

Yapay zekaya maruz kalan yazılımcıların bugün yaşadığı çok büyük bir problem var. Yapay zeka ile çalışan yazılımcılar, iş yerlerinde prompt engineering yaptıkları için uzun süre bilgisayarın başında pasif bir şekilde oturuyorlar. Bazen dakikalarca ekrana bakıyor, yapay zekanın işini bitirmesini bekliyorlar. Bunun ana sebeplerinden biri, prompt engineering yönteminin profesyonel yazılım geliştirme süreçleri için ölçeklenebilir bir çalışma […]

Yapay Zeka İle Sohbet

Yapay zeka ile çalışırken dikkat edilmesi gereken en önemli hususlardan birisi, onun birçok söylem ve eyleminin altında varsayımların yatmasıdır. İsteklerinizi yeterince keskin ifade etmezseniz, size kanatları olan ama uçamayan bir uçak teslim edebilir.  Uçak örneğinden devam edelim. Varsayımları ortadan kaldırmak için sadece “bir uçak yap” demek yetmez. “Bu uçak tamamlandığında uçabilmelidir” demeniz gerekir. İşte varsayımlara […]