Arka sokakların ‘kod’ları kırılıyor
Hepimiz onu Ekşi Sözlük’ün kurucusu ve yazılımcısı olarak tanıdık. Nam-ı diğer SSG yani Sedat Kapanoğlu, bu kez ‘Sokak Kodcusu: Kırılması Gereken Kurallar ve Onları Kırmanın Yolları’ kitabıyla çıktı karşımıza. Hikaye buraya nasıl mı geldi? Ondan dinleyelim…
GÜLSEREN ÜST POLAT
Sedat Kapanoğlu, kodlamanın hem teorisini hem pratikliğini sorgulatan, bir kodcunun dünyasında karşılaşılabilecek hemen her sokağı kurcalayan ‘Sokak Kodcusu: Kırılması Gereken Kurallar ve Onları Kırmanın Yolları’ kitabıyla, öğreten ama ders kitabı gibi sıkıcı olmayan bir iş çıkarmış ortaya. Kodlamaya dair ipuçlarını amatör ve profesyonel yazılımcılık geçmişinde edindiği tecrübelerle sentezleyerek sunan Kapanoğlu, bu nedenle kimi zaman evrensel doğrular olarak bilinenlere ‘hayır’ diyor kimi zaman ise DRY ( Kendini Tekrar Etme) felsefesini tersine çevirip “kendini tekrar et” diyor…
Öncelikle kitabın içeriğinden başlayalım. ‘Sokak Kodcusu: Kırılması Gereken Kurallar ve Onları Kırmanın Yolları’ kitabında neler bekliyor okuru?
Sokak Kodcusu, yeni ve orta seviye yazılım geliştiriciler için perspektif değiştirici bir kitap. İçerisinde kodlama pratiklerine dair çok sayıda teknik mevcut. Bunların bir kısmı aslında yaygın olarak ‘kötü pratik’ olarak bilinen teknikler ancak bunların da bazı senaryolarda işe yaradığını ve tercih ettiğimiz kodlama tekniklerine körü körüne bağlı olmaktan kaçınmamız gerektiğini anlatıyorum. Bunları da uzun yıllar edindiğim amatör ve profesyonel yazılımcılık geçmişimde kendi edindiğim tecrübelerle sentezleyerek sunuyorum.
Kitabın hedef kitlesi nedir? Farz edelim ki kodlamaya merakım var ama bir kodlama uzmanı değilim. Yine de bana hitap edecek mi? Ya da tam tersi hali hazırda kodlamanın kitabını ben de yazacak tecrübeye sahibim. Benim de ilgimi çekecek mi?
Kitaptan faydalanmak için en azından kodlama biliyor olmanız lazım. Zira kitabın amacı zaten kodlamayla ilgili öğrendiklerinize dair bakış açınızı değiştirmek. Hâlihazırdaki yazılım geliştiricilerin daha iyi, daha üretken, daha sorgulayıcı yazılım geliştiriciler olmasını, onlara daha esnek bir bakış açısı kazandırmayı hedefliyor. Kitaptaki örnek kodlar C# dilinde ancak fikirleri ekseriyetle her dile ve ortama uyarlanabilir.
Kodlama evreninde, üniversitede öğretilmeyen veya öncelikli olmayan ya da yüz yüze eğitim esnasında tamamen es geçilen bir dizi yeteneğe ihtiyaç duyulduğundan söz ediyorsunuz kitapta. Nedir mesela bu yetenekler biraz söz eder misiniz?
Kitapta bunlardan bolca bahsediyorum ama basit bir örnek vermem gerekirse, en temel bilgisayar bilimleri irfanı olan DRY (don't repeat yourself-kendini tekrar etme) felsefesini tersine çeviriyorum. “Kendini tekrar et” diyorum. Bu, size öğretilen programlama pratiklerinin tersini anlatıyor. Ancak bunun neden faydalı olabileceğini gösteriyorum. En önemlisi de, bunun faydalı olabileceği yerleri öğrendiğiniz vakit, DRY felsefesinin ne koşullarda kullanışlı olabildiğine dair de net bir perspektifiniz oluyor. Benzer şekilde kitap boyu, evrensel doğrular bildiğimiz konulara, “Hayır, öyle yapmayın” bakış açısı getiriyorum.
Bu işi az çok bilinler ve ilgisi olanlar bu kitabı okuyunca ‘sokak’ların zorlu labirentlerinden kolayca çıkabilecekler mi? Bunu vaat ediyor musunuz?
Kodlama öğrenmiş biri için pek çok konuda ufuk açıcı olduğuna inanıyorum. Öğrenme sürecinde olan birine de kademeli olarak yardımı dokunabilir. Ancak “Bir gün kodlama öğrenmek isterim” diyen için kodlama öğreten bir kitap olmadığından, o safhadakiler daha yeni başlayanlara yönelik kitaplarla başlamayı düşünebilirler.
Bu kitap meselesi ne kadar zamandır vardı kafanızda? Birden bire hadi bir kitap yazayım mı dediniz yoksa uzun zamandır planlanan bir düşüncenin hayata geçmesi miydi?
On küsur yıllık bir fikir. Fikrin sahibi de bugün "Gibi" dizisinin yazarı olan arkadaşım Aziz Kedi. O dönem kendi isminde Beyoğlu'nda bir kitabevi vardı. Yazılımcılara yönelik pratik tavsiyeler içeren ve hafif esprili bir kitap yazmamı önerdi. Ama sonra İngiltere'ye taşındı. Fikir de havada kaldı. Lakin fikir hoşuma gittiğinden ben, yıllar içinde notlar almaya devam ettim. 2019 sonu 2020 başı gibi yazdığım yazılımla ilgili bir blog post inanılmaz popüler oldu. Öyle ki orada çalışan arkadaşlardan, Microsoft'ta üst düzey yöneticilerin aralarında benim yazımı konuştuğunu öğrendim. ABD'de teknik kitaplarıyla meşhur Manning'in de dikkatini çekmiş. Bana ulaşıp bir kitap yazmamı istediler. Adını çoktan koyduğum ‘Street Coder’ (Sokak Kodcusu) aklıma geldi. 2020’de tam yazmaya başlarken pandemi patladı. 1.5 yıl pandemi boyunca kitap yazdım.
Türkçesini biz yeni görsek de bu kitap öncelikle İngilizce basıldı. Nasıl geri dönüşler aldınız?
Hem Manning’in erken erişim programından (MEAP) hem de kitap piyasaya çıktıktan sonra inanılmaz iyi geri dönüşler geldi. Aslında kitabın hedef kitlesinin ötesinde olan, "senior" dediğimiz tecrübeli yazılımcıların, “Keşke kariyerimin başında bu kitap olsaydı da okusaydım” yorumlarına dahi şahit oldum. Kitap piyasaya çıktığı yıl Manning'in en çok satan basılı kitapları arasına girdi. Hayatımda yazdığım hem de İngilizce yazdığım ilk kitabın bu kadar iyi geri dönüş almasından çok mutlu oldum. Kodlamayı tamamen kendi kendime öğrendiğimden, yeni ve orta seviyeli yazılımcıların hayatına böyle katkıda bulunabiliyor olmam da ayrı bir keyif. Şimdi Sokak Kodcusu'nun da Türkiye Amazon'daki sayfada ‘en çok satanlar 1. Sırada’ etiketini gördüm, çok mutlu oldum.
Biraz da geçmişe dönersek… Ekşi Sözlük’ü kurdunuz ve çok da başarılıydı. 16 yılın ardından farklı projeler için bıraktınız. Siz olmadan da Ekşi Sözlük'ün devam etmesi en büyük hedeflerinizdendi ama sonrasında hiç ‘keşke bırakmasaydım’ demediniz mi?
Ekşi Sözlük gibi bir mecranın Türkiye gibi bir ülkede yönetimi zor ve ağır bir iş. 16 yıl yöneticiliğini yapmak beni ciddi oranda yordu. O yüzden bırakmasaydım, diyemiyorum. Bıraktığım dönem uyku düzenim toparladı, gastritim iyileşti. Hani bıraktım da daha iyi projeler yaptım da diyemem ama sadece yöneticiliği bırakmış olmak bile bana şahsi olarak iyi geldi. Mecra olarak hâlâ çok severek kullanıyorum. Kullanıcısı olmak hâlâ çok keyifli.
Peki, gündeminizde neler var bu aralar? Yeni bir proje yeni bir kitap? Türkiye’de yeni bir şeyler olacak mı mesela?
Manning yeni kitap yazmam için defalarca teklif getirdi ancak Sokak Kodcusu'nu yazmak beni o kadar yordu ki Türkçe çevirisini yapacak gücüm kalmamıştı o dönem. Neyse ki Serdar Cevher enfes bir iş çıkardı, okuyan herkesten müthiş iyi yorumlar alıyorum. Projelerimi nerede hayata geçireceğim ise ağırlıkla projeye bağlı. Teknik kitaplar dışında, kendi anılarımdan ibaret, daha geniş bir kitlenin keyifle okuyabileceği kitaplar ve yazılımcılar için çok daha eğlenceli ve daha az teknik kitap fikirlerim var.