Eylül 2009'da Apress tarafından basılmış bir kitap, Coders at Work. İzlediğim çeşitli sitelerde ve bir de çok sevdiğim StackOverflow Podcast'de kitapla ilgili olumlu yorumlar çıkınca ben de Amazon'dan siparişimi verip kitabı beklemeye başladım. Amazon'dan şimdiye kadar büyük çoğunluğu kitap olmak üzere 70'e yakın ürün aldım ve hizmetten çok memnun olduğumu söyleyebilirim. Yolda kaybolmuş bir siparişimi de hiç soru sormadan tekrar yollamışlardı, çok iyi bir müşteri hizmetleri var (hepsiburada.com ile karşılaştırıldığında özellikle). Kitap 2 hafta gibi hızlı bir sürede elime geçti ve ben de hemen okumaya başladım. Amazon'dan sipariş etmeyi düşünenler için şunu söyleyeyim, siparişiniz kitap olduğu ve 150$'dan fazla tutmadığı sürece gümrükte vs. bir sorun çıkmadan elinize ulaşıyor. Tabii aynı kitaptan 10 tane almadığınızı varsayıyorum (o durumda ticari işlem görebilir gümrükte).

Öncelikle şunu söylemem gerekiyor, insanların meslekleri hakkında neler düşündüklerini, nasıl çalıştıklarını okumak çok hoşuma gidiyor. Bir meslek hakkında öğrenmenin en iyi yollarından birisi onu en iyi şekilde uygulayanların düşünüş şekillerini, küçük alışkanlıklarını, geliştirdikleri teknikleri öğrenmek belki de. Bu yüzden Paris Review mülakatlarını çok severek okudum, veya Inc. Dergisinin "The Way I Work" serisini. Yine aynı nedenle Stephen King'in On Writing kitabı da bence yazmak konusunda en iyi kitaplardan. Eğer kitapta samimi bir ortam oluşturulmuşsa ve sohbet çoğunlukla özgür bir şekilde akıyorsa konu hakkında çok şey öğrenebiliyorsunuz. Yazarlık ve programcılık gibi meslekler için bu daha da önemli bir konu. Çünkü örneğin bir doktorun nasıl çalıştığını az buçuk anlayabilirsiniz, veya bir inşaat mühendisini gözlemleyerek mesleğinin nasıl işlediğini kaba hatlarıyla görebilirsiniz. Yazarlar ve programcılar ise genellikle kapalı alanlarda (kendi karellerinde, odalarında vs.) akıllarında bir sürü şey düşünüp, karalayıp ve en sonunda karar verip bir ürüne dönüştürüyorlar. Başka insanlarla etkileşim minimum düzeyde. Yazarlarda en azından bitirilmiş kitabı okuyup verilen kararların, seçilen yolların sonuçlarını görebilirsiniz; programcılarda ise araya bir katman daha giriyor. Son kullanıcı olarak ancak üretilen programı kullanarak kod hakkında çıkarımlarda bulunabilirsiniz. Programı kullanarak kod hakkında sonuçlara varmanın çok da doğru olmadığını söylememe gerek yok herhalde.

Coders At Work bu boşluğu doldurmak amacında. Kitapta tüm zamanların en iyi programcıları ile röportajlar var. Bunlar arasında

  • Netscape'i yazan adamlardan efsane isim Jamie Zawinsky

  • LiveJournal kurucularından, memcached'nin yazarı ve şimdilerde Google'da AppEngine üzerinde çalışan Brad Fitzpatrick

  • Yahoo'da çalışan JavaScript gurusu Douglas Crockford

  • JavaScript'in yaratıcısı Brendan Eich

  • Başka şeyler yanında ODTÜ Bilgisayar Mühendisliği Yapay Zeka dersinde kullanılan kitabın da yazarı Peter Norvig

  • UNIX'in yaratıcısı Ken Thompson

  • TeX'in yaratıcısı ve çok etkili The Art of Computer Programming kitabının yazarı Donald Knuth

gibi insanlar var.

Kitaptaki röportajları gerçekleştiren yani kitabın yazarı Peter Seibel medyadan teknoloji sektörüne geçmiş ve arada bir de Common Lisp kitabı yazmış bir isim. Röportajlarında insanlara benzer soruları soruyor. Bilgisayar Bilimlerindeki büyük isimlerin aynı sorulara verdikleri farklı cevapları karşılaştırabilmek güzel. Soruları programlamaya nasıl başladıkları, kendilerinin rol aldıkları önemli olaylar ve bunların içyüzleri, tartışmalı (yani herkesin hemfikir olmadığı) çeşitli konulardan oluşuyor. Nispeten çok kısa olan bilgisayar bilimleri tarihine giriş bile denebilir kitabın içeriğine.

Bilgisayar bilimleri tarihi bence Türkiye'deki programcılar için önemli bir konu çünkü ülkemiz teknolojiyi ıskaladığı için biz bu ilk gelişmelere çok uzak kaldık. DEC'in PDP'lerinin, Apple'ın 1984'de çıkardığı kişisel bilgisayarın veya yazılım tarafında Fortran'ın, C veya C++'nın hangi sebeplerle (hangi sorunlara çözüm olarak) ve nasıl geliştirildiğini en azından şahsen bilmiyorum. Aynı durum daha teorik konular için de geçerli, çeşitli algoritmaların tarihini bildiğim söylenemez. Bunların arka planını öğrenmek ise sadece bugünü anlamak için değil, geleceği daha iyi tahmin edebilmek açısından da bence çok önemli.

Sonuç olarak Coders At Work kitabından kaptığım, aklımın bir köşesine yazdığım pek çok fikir var. Bunları kitapta okurken altını çizdim ve en sonunda kitapta altı çizili bir sürü cümle oldu :) Gerisi bunlar üzerinde düşünüp işlerimde uygulamak artık.