← Previous · All Episodes · Next →
Büyük Hackerlar: Kimlerdir, Nasıl Tanınır ve Nasıl Yetiştirilirler? (Great Hackers) Episode 56

Büyük Hackerlar: Kimlerdir, Nasıl Tanınır ve Nasıl Yetiştirilirler? (Great Hackers)

· 39:22

|
"Paul Graham'ın 2004'te yazdığı bu makale, harika bir hacker olmanın sırlarını anlatıyor. Graham, iyi bir hacker olmanın anahtarının, üzerinde çalışmayı sevdiğin şeyler üzerinde çalışmak olduğunu ifade ediyor. Ayrıca, iyi bir hacker'ın sadece akıllı olması gerektiğini değil, aynı zamanda meraklı, odaklanabilen ve politik doğruculuğa meydan okuyabilen biri olması gerektiğini belirtiyor. Bu özelliklerin doğuştan mı geliyor, yoksa kazanılabiliyor mu olduğu konusunda kesin bir yanıt olmadığını, ancak kişinin bu özellikleri bastırmaması gerektiğini söylüyor. Yani, eğer kendinizi harika bir hacker yapmanın bir yolu varsa, bu yolun sıkıcı projelerde çalışmayı reddetmek ve karşılığında asla yarım yamalak bir iş yapmamak olduğunu savunuyor.

---

# Büyük Hackerlar: Kimlerdir, Nasıl Tanınır ve Nasıl Yetiştirilirler? (Great Hackers)

Temmuz 2004

Bir kitabın tartışmalı olmasını hiç istememiştim. Amacım, onu daha verimli bir hale getirmekti. İnsanların zamanını, zaten bildikleri şeyleri anlatarak boşa geçirmek istemedim. Onlara sadece bilmediklerini vermek daha etkili olurdu. Ancak bu yaklaşımın sonucunda, kaçınılmaz olarak biraz rahatsız edici bir kitap çıktı ortaya.

**Edisons**

Hangi fikrin en çok tartışmalı olduğu konusunda hiçbir anlaşmazlık yok: Servetin dağılımındaki eşitsizlik. Belki de bu, bizim sandığımız kadar büyük bir problem değil.

Kitapta, servet farklılıklarının kendi başına iyi bir şey olduğunu iddia etmedim. Sadece bazı durumlarda, bu farklılıkların iyi şeylerin habercisi olabileceğini söyledim. Örneğin, kafa ağrısı genellikle hoş bir durum değildir, ancak bazen iyi bir işaret olabilir. Mesela, başınıza bir darbe aldıktan sonra bilincinizi yeniden kazanıyor olmanızın belirtisi olabilir.

Servetin dağılımındaki farklılıklar, verimlilikteki farklılıkların bir göstergesi olabilir. (Eğer tek başına bir toplum oluşturuyorsan, bu ikisi aynıdır.) Ve bu neredeyse kesinlikle iyi bir şeydir: Eğer toplumunuzda verimlilikte hiçbir çeşitlilik yoksa, bu herkesin Thomas Edison kadar verimli olduğu anlamına gelmez. Büyük ihtimalle, toplumunuzda hiçbir Thomas Edison olmadığı anlamına gelir.

Teknolojik olarak gelişmemiş bir toplumda, üretkenlikte çok fazla farklılık göremezsiniz. Ateş yakmak için odun toplayan bir göçebe topluluğu düşünün. En iyi odun toplayan kişi acaba en kötüsünden ne kadar daha fazla odun toplayabilir ki? İki katı kadar mı? Fakat bir bilgisayar gibi karmaşık bir araç verdiğinizde, insanların onunla neler yapabileceği konusunda çok büyük bir çeşitlilik ortaya çıkar.

Bu yeni bir fikir değil. Fred Brooks bu konuyu 1974'te ele almıştı ve bahsettiği araştırma 1968'de yayınlanmıştı. Ancak bence Brooks, programcılar arasındaki farklılığı küçümsedi. Kod satırlarında verimlilik hakkında yazmıştı; en iyi programcılar, bir problemin çözümünü diğerlerinden on kat daha hızlı bulabilirler. Peki ya karşılaşılan problem belirgin değilse ne olur? Programlama gibi birçok alanda asıl zor olan, problemleri çözmek değil, hangi problemleri çözmeye değer olduğuna karar vermektir. Hayal gücünü ölçmek zor olabilir ama pratikte, kod satırlarında ölçülen verimlilikten çok daha belirleyici olur.

Verimlilik her alanda değişir, ancak farkın bu kadar büyük olduğu çok az alan vardır. Programcılar arasındaki verimlilik farkı o kadar büyük ki, bu neredeyse türden bir ayrım yaratıyor. Ancak bunun programlamayla özdeşleşmiş bir durum olduğunu düşünmüyorum. Her alanda olduğu gibi, teknoloji verimlilikteki farklılıkları büyütüyor. Programlamadaki durum, sadece elimizdeki teknolojik avantajların bir sonucu gibi görünüyor. Fakat her alanda bu avantaj daha da büyüyor, bu yüzden bu tür bir fark, zamanla daha çok alanda görülecek. Ve şirketlerin, hatta ülkelerin başarısı, bu durumu nasıl ele aldıklarına bağlı olacak.

Teknolojiyle birlikte verimlilikteki çeşitlilik artarsa, en verimli kişilerin katkısı sadece büyük oranda olmayacak, zamanla daha da büyüyecektir. Bir grubun üretiminin %90'ını sadece %1'lik bir kısmı oluşturuyorsa ve bu kısmın verimliliği (Viking baskınları ya da merkezi planlama gibi sebeplerle) ortalama seviyeye indirilirse, büyük bir kayıp yaşarsınız.

Onlardan en iyi şekilde yararlanmak istiyorsak, bu son derece verimli insanları anlamamız şart. Onları ne motive eder? İşlerini yapmak için nelere ihtiyaçları vardır? Onları nasıl tanımlayabiliriz? Onları nasıl ikna edip sizinle çalışmalarını sağlarsınız? Ve tabii ki, acaba siz nasıl onlardan biri olabilirsiniz?

**Paradan daha fazlası**

Birkaç süper hacker tanıyorum ve onların ortak ne olduğunu düşündüm. Belki de en belirgin özellikleri, programlamayı gerçekten sevmeleri. Normal programcılar, faturalarını ödemek için kod yazarlar.Hackerlar hakkında ne düşünüyorsunuz? Onlar sadece karanlık odalarda kod yazan gizemli figürler mi? Aslında, hackerlar kod yazmayı bir eğlence şekli olarak görürler ve insanların bunun için onlara para ödemek istediğini keşfettiklerinde çok mutlu olurlar. 

Bazıları, harika programcıların paraya karşı kayıtsız olduğunu söyler. Ama bu tamamen doğru değil. Evet, onlar için asıl mesele ilginç projelerde yer almak. Ancak yeterince para kazanırsanız, istediğiniz her şey üzerinde çalışabilirsiniz ve bu yüzden hackerlar da büyük miktarda para kazanma fikrinden hoşlanırlar. Ama her gün işe gitmek zorunda oldukları sürece, orada ne yaptıkları, ne kadar para kazandıklarından daha önemli olacaktır.

Ekonomik açıdan, bu durum çok önemli çünkü bu, üstün yetenekli hackerlara hak ettiklerinin çok altında bir ücret ödemeniz gerektiği anlamına geliyor. Harika bir programcı, sıradan bir programcıdan on veya yüz kat daha üretken olabilir, ancak kendisine üç kat daha fazla maaş verilmesi durumunda kendisini şanslı hisseder. Daha sonra da üzerinde duracağım gibi, bu durumun bir nedeni, üstün yetenekli hackerların ne kadar iyi olduklarını tam olarak bilememeleridir. Ancak bir diğer nedeni de, onlar için para her şeyden önemli olmamasıdır.

Peki, hackerlar ne ister? Tıpkı diğer tüm ustalar gibi, hackerlar da iyi araçları severler. Hatta bu biraz hafif bir ifade olabilir. İyi bir hacker için kötü araçları kullanmak tamamen dayanılmaz bir durumdur. Yanlış altyapıya sahip projelerde çalışmayı kesinlikle reddederler.

Bir zamanlar çalıştığım bir startupta, duyuru panomuza asılı olan şeylerden biri IBM'in bir reklamıydı. Reklamda AS400'ün bir resmi bulunuyordu ve başlık, eğer yanılmıyorsam, ""hackerlar bu makineyi hiç sevmez"" şeklindeydi.

Bir projede hangi altyapıyı kullanacağınıza karar verirken, sadece teknik bir karar almış olmazsınız. Aynı zamanda sosyal bir karar da verirsiniz ve bu, ikincisi belki de daha önemlidir. Örneğin, şirketinizin bir yazılım yazması gerektiğini varsayalım, bunu Java'da yazmak akıllıca bir seçenek gibi görünebilir. Ama bir dil seçtiğinizde, aynı zamanda bir topluluğu da seçmiş olursunuz. Bir Java projesinde çalıştırmak için işe alacağınız yazılımcılar, Python ile yazılmış bir proje için işe alabileceğiniz yazılımcılardan belki de daha az zeki olabilir. Ve hackerlarınızın kalitesi, seçtiğiniz dili aştığı için muhtemelen daha önemlidir. Açıkçası, iyi hackerların Java yerine Python'u tercih etmeleri, bu dillerin nispi değerleri hakkında size bir şeyler anlatmalı.

İş insanları genellikle en popüler dilleri seçerler çünkü onlar dilleri bir çeşit standart olarak görürler. Şirketi Betamax gibi belirsiz bir şeye yatırmak istemezler. Ancak, dillerin sadece standart olmadığını unutmamak gerekir. Eğer bir ağ üzerinden veri aktarmanız gerekiyorsa, kesinlikle TCP/IP gibi standartları kullanın. Ancak bir programlama dili sadece bir format değildir. Programlama dili aynı zamanda bir ifade aracıdır.

Okuduğuma göre Java, en popüler dil olma unvanını Cobol'dan almış. Standart olarak daha fazlasını isteyemezsiniz. Ancak ifade aracı olarak, çok daha fazlasını yapabilirsiniz. Bildiğim tüm başarılı programcılardan, sadece bir tanesi Java'da gönüllü olarak kod yazmaktadır. Ve Sun Microsystems'te çalışmayan başarılı programcıları düşündüğümde, Java üzerinde çalışan hiç kimseyi tanımıyorum.

Harika hackerların genellikle açık kaynaklı yazılım kullanmayı tercih ettiklerini görürüz. Bunun nedeni, sadece bu yazılımların daha kaliteli olması değil, aynı zamanda hackerlara daha çok kontrol sağlamasıdır. İyi hackerlar, kontrolü elinde tutmak isterler. Cidden, bu onları iyi hacker yapan özelliklerden biridir: bir şey bozulduğunda, onu düzeltmek zorundalar. Sizin için yazdıkları yazılımla ilgili de bu şekilde hissetmelerini isteriz. İşletim sistemine karşı da aynı tavrı sergilediklerinde şaşırmamalısınız.

Birkaç yıl önce yatırımcı bir arkadaşım, içinde olduğu yeni bir startup'tan söz etmişti. İlk duyduğumda oldukça umut verici görünüyordu.Bir sonraki konuşmamızda, onların Windows NT üzerinde yazılım geliştirmeye karar verdiklerini ve bu alanda oldukça tecrübeli bir NT geliştiricisini teknik direktör olarak işe aldıklarını öğrendim. İlk duyduğumda, ""işte bu ekip baştan kaybetti"" diye düşündüm. Çünkü birincisi, bir hacker'ın gerçekten başarılı olabilmesi için NT'de uzmanlaşması gerekiyordu. Bu, gönüllü olarak ve defalarca NT'yi kullanmayı gerektirir. Bir hacker'ın bunu yapabileceğini düşünmek bile zor. İkincisi, ne kadar yetenekli olursa olsun, NT üzerine kurulu bir projede çalışacak birini bulmak zor olacaktı.

**Son Sınır**

Yazılımdan sonra, bir hacker için en önemli araç belki de ofisidir. Büyük şirketler genellikle ofis alanını rütbe göstermek için kullanır. Ancak hackerlar ofislerini sadece bu amaçla değil, aynı zamanda düşünmek için bir alan olarak kullanırlar. Eğer siz bir teknoloji şirketiyseniz, onların düşünceleri aslında sizin ürününüzdür. Bu yüzden hackerları gürültülü ve dikkat dağıtıcı bir ortamda çalıştırmak, içerisi is dolu bir boya fabrikasında üretim yapmaya benzer bir durumdur.

Dilbert adlı çizgi roman, kabinler hakkında çok şey söylüyor ve gerçekten de kabullenecek çok şey var. Tanıdığım tüm hackerlar, kabinlere karşı bir nefret besliyor. Sadece kesintiye uğrama ihtimali bile, hackerların zorlu problemler üzerinde çalışmasını engellemeye yetiyor. Eğer kabinli bir ofiste gerçek işler başarmak istiyorsanız, iki seçeneğiniz var: ya evden çalışın, ya da sabahın erken saatlerinde, akşamın geç saatlerinde veya hafta sonunda, yani kimse olmadığı zamanlarda ofise gelin. Şirketler, bu durumun aslında bir şeylerin ters gittiğinin belirtisi olduğunu fark etmiyorlar mı? Bir ofis ortamının amacı, sizin iş yapmanızı kolaylaştırmak olmalı, sizin ona rağmen iş yapmanızı zorunlu kılmamalı.

Cisco gibi şirketler, herkesin, CEO dahil, bir küp şeklinde ofise sahip olmasını bir övünç kaynağı olarak görür. Ancak aslında onlar düşündükleri kadar ileri değiller; çünkü hala ofis mekanını bir nevi rütbe sembolü olarak görüyorlar. Ayrıca Cisco, ürün geliştirmeyi genellikle şirket içinde yapmaz. Yeni teknolojileri elde etmek için, büyük ihtimalle sessiz bir çalışma ortamına sahip olan startupları satın alır.

Microsoft, hackerların ihtiyaçlarını anlayan büyük bir şirket. Bir defasında Microsoft'un bir işe alım ilanında büyük bir kapı resmi gördüm. Bizimle çalışın, dedi ilan, ve size gerçekten iş yapabileceğiniz bir ortam sağlayacağız. Ve biliyorsunuz ki, Microsoft, büyük şirketler arasında yazılımlarını kendi bünyesinde geliştirebilen az sayıdaki firmalardan biri. Belki mükemmel değil, ama yeterli derecede iyi.

Eğer firmalar, hackerların daha verimli olmasını istiyorsa, evde ne yaptıklarına bakmalılar. Evlerinde, hackerlar her şeyi kendi istedikleri gibi düzenleyebilir ve en çok işe yarayacak hali getirebilirler. Evde çalışırken, hackerlar gürültülü ve açık alanlarda değil, kapıları olan odalarda çalışmayı tercih ederler. Onlar, devasa otoparkların ortasında cam kutular içinde değil, çevrelerinde insanların olduğu, bir konu üzerinde düşünmeye ihtiyaçları olduğunda yürüyüşe çıkabilecekleri sakin ve rahat yerlerde çalışırlar. Yorgun hissettiklerinde, masalarında komatik bir halde oturmak yerine, bir şekerleme yapabilecekleri bir kanepe vardır. En verimli çalışma saatlerinde gürültü patırtı içinde etraflarında dolaşan bir temizlik ekibi yoktur. Toplantılar, hatta daha kötüsü, şirket toplantıları ya da takım oluşturma etkinlikleri gibi durumlar söz konusu değildir. Ve bilgisayarlarında ne yaptıklarını incelediğinizde, daha önce araçlar hakkında söylediğim şeyi teyit ederler. İşte Java ve Windows kullanmak zorunda olabilirler, ama evde, kendi seçimlerini özgürce yapabildikleri yerde, onların genellikle Perl ve Linux kullanmayı tercih ettiklerini göreceksiniz.

Gerçekten de, Cobol veya Java'nın en popüler dil olduğuna dair istatistikler aldatıcı olabilir.En iyi araçları öğrenmek istiyorsanız, hackerların tercihlerine bir göz atmalısınız. Evet, doğru duydunuz, hackerların kendi kişisel projelerinde ne kullandıklarına bakmalısınız. Bu konuda sorduğunuzda, açık kaynak işletim sistemlerinin zaten pazarın büyük bir kısmını oluşturduğunu ve bir numaralı dilin muhtemelen Perl olduğunu göreceksiniz.

**İlginç, değil mi?**

Hackerlar sadece iyi araçları kullanmakla kalmaz, aynı zamanda ilginç projeler üzerinde de çalışırlar. Peki bir proje neyin ilginç kılar? Elbette, gizli uçaklar veya özel efekt yazılımları gibi aşikar çekici projeler üzerinde çalışmak çekici olacaktır. Ancak, yeni ve alışılmamış teknik zorluklar sunan her türlü proje ilginç olabilir. Bu yüzden, hangi problemlerin hackerlar için ilgi çekici olacağını tahmin etmek zor. Çünkü bazıları sadece üzerinde çalışan kişiler yeni bir çözüm türü bulduğunda çekici hale gelir.

Bir örnek vermek gerekirse, Orbitz'in yazılımını geliştiren ITA öncesinde, havayolu tarife aramaları üzerine çalışanlar, bunun muhtemelen tahayyül edilebilecek en sıkıcı uygulamalardan biri olduğunu düşünmüş olabilirler. Ancak ITA, problemi daha cesur bir şekilde yeniden tanımlayarak durumu ilginç hale getirdi.

Bence aynı şey Google için de geçerli. Google ilk kurulduğunda, portal siteler genellikle arama motorlarının sıkıcı ve önemsiz olduğunu düşünüyordu. Ama Google'daki adamlar arama motorlarının sıkıcı olmadığını düşündüler ve işte bu yüzden bu işi çok iyi yapıyorlar.

İşte tam burası, yöneticilerin işleri değiştirebileceği bir alan. Bir ebeveynin çocuğuna ""Bakalım odanı on dakika içinde toplayabilecek misin?"" diye meydan okuduğu gibi, iyi bir yönetici de bazen bir sorunu daha çekici bir hale getirebiliyor. Bu konuda Steve Jobs'un özellikle başarılı olduğunu söyleyebiliriz, çünkü standartları oldukça yüksekti. Mac'ten önce bir sürü küçük ve ucuz bilgisayar vardı. Ancak Jobs, sorunu yeniden tanımladı ve ""güzeli yapın"" dedi. Ve bu, belki de geliştiricileri herhangi bir ödül veya cezadan daha fazla harekete geçirdi.

Onlar gerçekten de beklentileri karşıladı. Mac ilk çıktığında, iyi olduğunu anlamak için bile açmanıza gerek yoktu; kasasına bakarak bile anlayabilirdiniz. Birkaç hafta önce Cambridge'deki bir sokakta yürürken, birinin çöpünde Mac taşıma çantası gibi görünen bir şey buldum. İçine baktım ve bir Mac SE vardı. Onu alıp eve götürdüm, fişe taktım ve açıldı. Mutlu Macintosh yüzü ve sonrasında gelen bulucu... Aman Tanrım, bu ne kadar basitti. Tıpkı... Google gibi.

Hackerlar, yüksek standartlara sahip olan insanlar için çalışmayı tercih ederler. Ancak sadece titiz olmak yeterli değil. Doğru şeylerde ısrarcı olmak zorundasınız. Genellikle bu, sizin de bir hacker olmanız gerektiği anlamına gelir. Arada bir programcıları nasıl yöneteceğinize dair yazılar okudum. Aslında iki tür yazı olmalı: biri, eğer siz bir programcıysanız ne yapmanız gerektiği hakkında, diğeri ise eğer bir programcı değilseniz ne yapmanız gerektiği hakkında. Ve eğer bir programcı değilseniz ne yapmanız gerektiğine dair olan yazı aslında iki kelimeyle özetlenebilir: pes edin.

Asıl problem, günlük işlerin yönetilmesi değil. Gerçekten iyi hackerlar neredeyse kendi kendilerini yönetirler. Ama asıl mesele şu, eğer siz hacker değilseniz, kimin iyi bir hacker olduğunu nasıl bileceksiniz? Amerikan arabalarının neden bu kadar çirkin olduğunu açıklayan benzer bir problem de var. Buna ben 'tasarım paradoksu' diyorum. Ürünlerinizi sadece iyi bir tasarımcı işe alarak güzel hale getirebileceğinizi düşünebilirsiniz. Ancak, eğer sizin zevkiniz yoksa, iyi bir tasarımcıyı nasıl tanıyacaksınız? Doğası gereği, bunu onun portföyünden anlayamazsınız. Ve onun kazandığı ödüllere ya da geçmiş iş deneyimlerine dayanarak karar veremezsiniz, çünkü tasarımda, diğer birçok alanda olduğu gibi, bunlar genellikle moda ve ağ kurma etkisiyle belirlenir, gerçek yetenek genellikle ikinci planda kalır. Yani mesele şu: Eğer 'güzel' olanın ne olduğunu bilmiyorsanız, güzel şeyler üretmek için tasarlanmış bir süreci yönetemezsiniz.Amerikan arabaları hakkında biraz konuşalım. Bazıları onları çirkin buluyor, peki neden? Belki de Amerikan otomobil şirketlerinin, zevki olmayan insanlar tarafından yönetildiğini düşünüyorlar. Ama bu gerçekten öyle mi?

Aslında, zevk bir çeşit karmaşık ya da gereksiz bir şey olarak görülen bir ülkede yaşıyoruz. Ama zevk, tasarımı yönlendirebilmek için ürünlerinizi en zorlu kullanıcı gibi kullanmanızı sağlar. Ve eğer gerçekten iyi bir zevkiniz varsa, Steve Jobs'un yaptığı gibi, sizi memnun etme durumunu, iyi insanların üzerinde çalışmayı sevdiği bir problem haline getirebilirsiniz.

**Nasty Little Problems**

Hangi sorunların ilginç olmadığını söylemek kolaydır: Birkaç büyük, belirgin sorunu çözmeniz gerekirken, çok sayıda küçük ve tatsız sorunları halletmek zorunda kalırsınız. Projelerin en kötülerinden biri, bol hatalı bir yazılıma arayüz yazmaktır. Bir diğeri de, bir müşterinin karmaşık ve net tanımlanmamış ihtiyaçlarına göre bir şeyi özelleştirmeniz gerektiğinde. Bu tür projeler, hackerlar için adeta ölüm binlerce küçük kesikten geliyor gibi bir durumdur.

Küçük ve tatsız sorunların belirgin özelliği, onlardan bir şey öğrenememenizdir. Bir derleyici yazmak, size bir derleyicinin ne olduğunu öğrettiği için ilgi çekicidir. Ancak bug dolu bir yazılıma arayüz yazmak, hataların rastlantısal olması nedeniyle size bir şey katmaz. Dolayısıyla iyi hackerların küçük ve tatsız sorunlardan kaçınması sadece titizlikten değil, aynı zamanda kendi iyiliği içindir. Bu tür sorunlar üzerine çalışmak sizi aptallaştırır. İyi hackerlar, modellerin cheeseburgerlardan kaçındığı gibi, bu durumdan da kaçınırlar.

Tabii ki bazı sorunlar doğal olarak bu özelliğe sahip. Ve arz-talep yüzünden, bu tür sorunları çözmek oldukça iyi kazandırıyor. Bu yüzden, yetenekli hackerları sıkıcı sorunlar üzerinde çalışmaya ikna edebilen bir şirket çok başarılı olurdu. Peki, bunu nasıl yapardınız?

Bunun en belirgin olduğu yerlerden biri startuplar. Bizim startupımızda sistem yöneticisi olarak Robert Morris'le çalışıyorduk. Bu durum, Rolling Stones'un bir bar mitzvah partisinde çalması gibi bir şey. Bu tür bir yeteneği işe almanız mümkün değil. Ancak insanlar, kurucusu oldukları şirketler için her türlü sıkıcı işi yapmayı kabul ederler.

Daha büyük şirketler bu problemin çözümünü, şirketi bölümlere ayırarak bulmuşlar. Onlar, çalışanlarının doğrudan müşterilerin sinir bozucu ufak tefek sorunlarıyla uğraşmak zorunda kalmadığı ayrı bir Ar-Ge bölümü kurarak, zeki insanları kendi kadrolarına katmayı başarıyorlar. Bu modelde, araştırma bölümü bir maden gibi işliyor. Yeni fikirler çıkarıyorlar ve belki de bu fikirler, şirketin geri kalanı tarafından kullanılabilir hale geliyor.

Bu kadar aşırıya gitmeniz gerekmez. Aşağıdan yukarıya programlama şirketinizi başka bir şekilde bölmenizi öneriyor: Akıllı kişileri araç yapımcısı olarak çalıştırın. Eğer şirketiniz X işini yapan bir yazılım üretiyorsa, bir grubun bu tür yazılımlar için araçlar yapan ve başka bir grubun da bu araçları kullanarak uygulamaları geliştiren ekip olmasını sağlayın. Bu şekilde, akıllı insanlar kodunuzun %99'unu yazabilir ve onları kullanıcılardan, bir araştırma departmanında olacakları gibi, neredeyse tamamen koruyabilirsiniz. Araç yapımcılarının kullanıcıları olacak, ama bu kullanıcılar sadece şirketinizin kendi yazılımcıları olacak.

Eğer Microsoft bu yöntemi kullanırsa, yazılımları bu kadar çok güvenlik açığından arınmış olurdu. Çünkü uygulamaları yazan daha az tecrübeli kişiler, bellek tahsis etme gibi düşük seviye işlerle uğraşmazlardı. Onlar, Word'u doğrudan C dilinde yazmak yerine, Word dilinde büyük Lego blokları birleştiriyor olurlardı. (Sanırım teknik dilde buna 'Duplo' deniyor.)

**Clumping**

İyi hackerların, ilgi çekici problemların yanı sıra diğer iyi hackerları da sevdiklerini söyleyebiliriz. Mükemmel hackerlar genellikle bir araya gelirler - Xerox Parc'ta olduğu gibi bazen oldukça etkileyici bir şekilde. Dolayısıyla, onlar için ne kadar iyi bir ortam yarattığınıza bağlı olarak doğru orantıda iyi hackerlar çekemezsiniz. Toplanma eğilimleri, ortamın etkisinin karesi gibi bir duruma yol açar.Sonuçta, her şeyi alan kazanır, değil mi? Hackerlar için de durum aynı. Onlar sadece belirli birkaç hedefe odaklanır ve eğer sizin yeriniz bu hedefler arasında değilse, sadece daha az iyi bir hackerınız olmaz, hiç olmazsınız.

Ancak, şirketinizi başarıya taşımak için sadece harika hackerlara sahip olmak yeterli değil. Google veya ITA gibi dev şirketler için bu belki işe yarar, ancak Thinking Machines veya Xerox gibi şirketler için aynı şeyi söyleyemeyiz. Sun Microsystems bir süreliğine iyi bir ivme yakaladı ama iş modeli sürekli düşüşe geçti. Böyle bir durumda, ne kadar iyi hackerlarınız olursa olsun, sizi bu durumdan kurtaramazlar.

Ancak, diğer her şey aynı kaldığında, mükemmel hackerları bünyenize katabilen bir şirketin dev bir avantaja sahip olacağını düşünüyorum. Elbette, bu konuda benimle aynı fikirde olmayanlar da var. 1990'larda risk sermayesi şirketlerini dolaştığımızda, birkaçı bize yazılım şirketlerinin başarısının, mükemmel yazılımlar yazmakla değil, markalarını güçlendirmek, pazar kanallarını domine etmek ve doğru anlaşmaları yapmakla geldiğini iddia etmişti.

Bu konuda gerçekten düşündüklerine inanıyorlar ve nedenini sanırım biliyorum. Birçok risk sermayesi şirketi, en azından farkında olmadan, bir sonraki Microsoft'u arıyor gibi görünüyor. Eğer Microsoft'u model alıyorsanız, harika bir yazılım yazmayı hedefleyen şirketlere bakmamalısınız. Ancak, risk sermayesi şirketlerinin bir sonraki Microsoft'u araması yanıltıcıdır. Çünkü hiçbir startup, başka bir şirket tam zamanında eğilip bir sonraki IBM olmadıkça, bir sonraki Microsoft olamaz.

Microsoft'u örnek almak bir hata olabilir, çünkü tüm şirket kültürleri bir kez denk getirdikleri büyük şansla oluşmuştur. Microsoft, bu konuda aldatıcı bir örnektir. Eğer onları bir kenara bırakırsanız, iyi ürünlerin genellikle pazarda başarılı olduğunu görürsünüz. Yatırımcıların gözü aslında bir sonraki Apple ya da bir sonraki Google'da olmalı.

Bence Bill Gates bunun farkında. Google hakkında onu gerçekten endişelendiren şey, marka güçleri değil, daha yetenekli yazılım geliştiricilere sahip olmaları. [7]

**Tanınma**

Peki bu harika hacker'lar kim? Biriyle karşılaştığınızda onun bir hacker olduğunu nasıl anlarsınız? Bu aslında oldukça zor. Hatta hacker'lar bile birbirlerini tanımakta zorlanıyorlar. Ama artık arkadaşım Trevor Blackwell'in müthiş bir hacker olduğundan eminim. Slashdot'ta kendi Segway'ini nasıl yaptığına dair bir haber okumuş olabilirsiniz. Bu projenin en etkileyici tarafı, tüm yazılımı bir günde (Python kullanarak) yazmış olmasıydı.

Trevor için bu, olağan bir durum. Ama onunla ilk tanıştığım zaman, tam bir salak olduğunu düşünmüştüm. Robert Morris'in ofisinde duruyor ve ona bir şeyler anlatıyordu. Ben de arkasında durmuş, Robert'a çılgınca işaretler yapıp, bu çılgını ofisinden kovması için yalvarıyordum ki öğle yemeğine gidebilelim. Robert da ilk başta Trevor'ü tam anlamıyla çözemediğini söylüyor. Görünüşe göre Robert onunla ilk karşılaştığında, Trevor, her türlü hayatını not aldığı bir kart sistemi üzerine çalışıyordu ve bu kartları her yere taşıyordu. Ayrıca yeni Kanada'dan gelmişti ve kalın bir Kanada aksanı ile beraber, arkası uzun önü kısa bir saç stili vardı.

Bu durum, sosyal beceri eksikliğiyle tanınan hackerların, akıllı görünmek için sık sık büyük çaba sarf ettikleri gerçeğiyle daha da karmaşıklaşıyor. Yüksek lisans yaptığım dönemde arada bir MIT AI Lab'ında takılırdım. İlk başta biraz ürkütücüydü doğrusu. Herkes orada o kadar hızlı konuşurdu ki. Fakat zamanla hızlı konuşmanın sırrını çözdüm. Daha hızlı düşünmeniz gerekmiyor; sadece her şeyi ifade etmek için iki kat fazla kelime kullanıyorsunuz.

Bu kadar çok bilgi kirliliği içinde, iyi bir hacker'ı tanıdığınızda onu fark etmek gerçekten zor. Hatta ben bile hala ayırt edemiyorum. Özgeçmişlerine bakarak da pek bir şey anlaşılmıyor. Bir hacker'ın ne kadar iyi olduğunu anlamanın tek yolu, onunla birlikte bir proje üzerinde çalışmak gibi görünüyor.

Ve işte bu yüzden yüksek teknolojiye dayalı sektörler genellikle üniversitelerin çevresinde yoğunlaşıyor.Bu dünyada, hacker'lar biraz gizemli figürlerdir. Onları anlamak, onlarla birlikte çalışmak kadar zordur. Aslında, hacker'ların ne kadar iyi olduklarını anlamak, onlarla birlikte çalışmak zorundasınız. Ama hatta onlar bile kendilerinin ne kadar iyi olduklarını genellikle bilemezler. 

Bu durum, hemen hemen her alanda bir dereceye kadar doğrudur. Bir konuda gerçekten iyi olan insanlar, genellikle kendi yeteneklerinin farkında olmak yerine, diğer herkesin neden bu kadar yeteneksiz olduğuna hayret ederler. Ama hackerlar için bu durum özellikle zordur. Çünkü yaptıkları işin kalitesini karşılaştırmak zor. 

Diğer birçok alanda bu daha kolaydır. Örneğin, yüz metre koşusundaysanız, kimin en hızlı olduğunu anlamak için sadece 10 saniyeniz olur. Hatta matematikte bile, hangi problemlerin zorlu olduğu ve neyin iyi çözüm olduğu konusunda genel bir anlaşma vardır. Ama hacklemek, yazmak gibi bir şey. Hangi romanın daha iyi olduğuna kim karar verebilir ki? Kesinlikle yazarlar bile değil.

En azından hacker'lar söz konusu olduğunda, diğer hacker'lar birbirini kolayca anlayabiliyor. Çünkü, roman yazarlarının aksine, hacker'lar birlikte projeler üzerinde çalışıyorlar. Birine internet üzerinden birkaç zorlu problem fırlattığınızda, ne kadar hızlı ve ne kadar sert şekilde karşılık verdiklerini hemen öğrenirsiniz. Ama hacker'lar, kendilerini çalışırken gözlemleyemezler. O yüzden, eğer bir hacker'a ne kadar iyi olduğunu sorsanız, hemen hemen kesin bir şekilde, ""Bilmiyorum"" diye yanıt verir. Sadece alçak gönüllü olduğu için değil, gerçekten bilmiyor çünkü.

Ve gerçekten birlikte çalışmadığımız kişiler hakkında hiçbirimizin bir bilgisi yok. Bu da bizi garip bir duruma sokuyor: Aslında kahramanlarımızın kim olması gerektiğini bilmiyoruz. Ünlü olmuş hackerlar genellikle birer halkla ilişkiler kazası sonucunda ünlü oluyorlar. Bazen mükemmel bir hackerın örneğini vermem gerekiyor ve işte o zaman kimi örnek göstereceğim konusunda hep kararsız kalıyorum. Aklıma ilk gelen isimler genellikle kişisel olarak tanıdığım kişiler oluyor, ama onları örnek olarak kullanmak biraz basit ve sıkıcı geliyor. Bunun yerine belki de Richard Stallman, Linus Torvalds, Alan Kay gibi ünlü isimleri örnek göstermeliyim diye düşünüyorum. Ama bu kişilerin gerçekten ne kadar iyi hacker oldukları konusunda hiçbir fikrim yok. Çünkü onlarla hiçbir proje üzerinde çalışma fırsatım olmadı.

Bir hacking dünyası Michael Jordan'ı varsa, kimse bilmiyor, hatta kendisi bile.

**Yetiştirme**

Sonunda, tüm hackerların kafasında dönen o büyük soru: Gerçekten büyük bir hacker nasıl olunur? Kendinizi bir hacker yapmayı başarmanın mümkün olup olmadığı konusunda emin değilim. Ancak şunu biliyorum ki, kendinizi aptal yapacak şeyler yapabilirsiniz. Ve eğer kendinizi aptal yapabiliyorsanız, büyük ihtimalle kendinizi zeki yapmanın da bir yolunu bulabilirsiniz.

İyi bir hacker olmanın anahtarı belki de sevdiğin şeyler üzerinde çalışmaktır. Tanıdığım başarılı hackerları düşündüğümde, hepsinin ortak özelliği, istemedikleri bir şey üzerinde çalışmalarını sağlamanın son derece zor olmasıdır. Bunu tam olarak neden mi yoksa sonuç mu olduğunu bilemiyorum; muhtemelen ikisi de geçerli.

Bir şeyi iyi yapabilmenin yolu onu sevmekten geçer. Yani eğer kodlamayı sevdiğiniz bir şey olarak koruyabilirseniz, muhtemelen onu iyi yaparsınız. 14 yaşındayken programlamaya duyduğunuz heyecanı ve merakı kaybetmemeye çalışın. Eğer şu anki işinizin sizi yorduğunu ve beyin hücrelerinizi tükettiğini düşünüyorsanız, muhtemelen gerçekten de öyledir.

En iyi hackerlar doğal olarak zekidir, ama bu pek çok alanda geçerli bir durum. Peki hackerları benzersiz kılan özel bir nitelik var mı? Bu konuda birkaç arkadaşıma sordum ve en çok dile getirdikleri özellik merak oldu.Merak, bilginin sadece bir tür yansımasıdır. Bu yüzden, zeki insanların genellikle daha meraklı olduklarını düşünürüz. Ancak, hackerlar konusunda biraz daha derine inince, merakın onlar için sadece bir özellik olmadığını, aynı zamanda bir yaşam biçimi olduğunu görüyoruz. Özellikle bir şeylerin nasıl işlediği konusunda, diğerlerinden daha fazla meraklılar. Bu da mantıklı, çünkü programlar, aslında bir şeylerin nasıl çalıştığını anlatan devasa açıklamalardır.

Birkaç arkadaşım, hackerların kendi düşünceleri dışında her şeyi görmezden gelme yeteneklerini, yani yoğunlaşma kabiliyetlerini dile getirdi. Bunu ben de kesinlikle gözlemledim. Birkaç hacker'ın, yarım bira içtikten sonra bile programlama yapamadıklarını duydum. Yani belki de hacklemenin, özel bir odaklanma yeteneği gerektirdiğini söyleyebiliriz. Belki de yetenekli hackerlar, bir sürü bilgiyi kafalarına yükleyebilirler, böylece bir kod satırına baktıklarında sadece o satırı değil, etrafındaki tüm programı görürler. 

John McPhee, Bill Bradley'nin basketbol başarısının kısmen olağanüstü geniş görüş alanına dayandığını yazmıştı. ""Mükemmel"" görüş, yaklaşık 47 derecelik bir görüş alanı anlamına gelir. Ama Bill Bradley'nin 70 derece vardı; yani yere bakarken bile potayı görebiliyordu. Belki de yetenekli hackerların da benzer doğuştan gelen bir yetenekleri vardır. (Ben, kodları daha yoğun ve kısa yazabilen bir dil kullanarak bir nevi 'hile' yapıyorum.)

Küp ofisler hakkındaki karmaşayı bu durum açıklayabilir. Tesisleri yöneten kişilerin, dikkatlerini dağıtacak bir yoğunlukları olmadığı için, hacker'ların küp ofislerde çalışmanın beyinlerini blendera koymak gibi hissettirdiğini anlamamış olabilirler. 

Büyük hackerlar ile genelde zeki olan insanlar arasında belirgin bir fark gözlemledim; hackerlar daha fazla politik olarak yanlış görüşlere sahip olabiliyorlar. İyi hackerlar arasında bir tür gizli selamlaşma varsa, bu ancak birbirlerini yeterince iyi tanıdıklarında ve genel halkın taşlıyor olacağı fikirleri ifade edebildiklerinde ortaya çıkar. Politik olarak yanlış olmanın programlamada neden faydalı bir özellik olabileceğini anlayabiliyorum. 

Bu özellikleri geliştirebilir miyiz, emin değilim. Ancak en azından onları bastırmazsınız. O yüzden, işte size bir öneri: Eğer kendinizi bir hacker'a dönüştürmeniz mümkünse, bunu başarmanın yolu belki kendinize şöyle bir söz vermektir: aileniz açlıkla karşı karşıya kalmadıkça, asla sıkıcı projelerde çalışmayacağım ve karşılığında asla yarım bıraktığım bir iş olmayacak. Bildiğim tüm başarılı hacker'lar bu anlaşmayı yapmış gibi görünüyor, belki de hiçbirinin bu konuda bir seçeneği yoktu.

#### Notlar

[1] Doğruyu söylemek gerekirse, IBM oldukça iyi bir donanım üretiyor. Hatta bu yazıyı bir IBM laptop üzerinde yazdım.

[2] Ve maalesef dediğim gibi oldu. Birkaç ay sonra işleri kapandı.

[3] İnsanlar ""yaşamın anlamı""ndan bahsederken belki de kastettikleri budur. İlk bakışta, bu garip bir düşünce gibi görünebilir. Sonuçta hayat bir ifade değil, nasıl bir anlamı olabilir ki? Ancak hayatın, anlam hissiyatına çok benzer bir özelliği olabilir. Bir derleyici gibi bir projede birçok problemle karşılaşırsınız, ancak bu problemların tümü, bir sinyaldeki gibi bir düzene sığar. Ancak karşınıza çıkan problemlar rastgele olduğunda, bu daha çok bir gürültüye benzer, düzensiz ve anlamsız hissettirir.

[4] Einstein'ın bir dönem buzdolabı tasarlamasıyla meşgul olduğunu biliyor muydunuz? (Hem de tasarladığı buzdolabının hissedarıydı.)

[5] Bilgisayar dünyasında 'araştırma' ne demek tam olarak biraz karışık.Bir yazılımın başarılı olabilmesi için, öncelikle kullanıcılarının olması gerekir, değil mi? Ancak bazen, bu kullanıcıları olmayan yazılımların da hayatımızda büyük bir yeri olduğunu unutuyoruz. İşte bu noktada, 'kullanıcıları olmayan yazılımları' araştırma olarak adlandırabiliriz.

Biraz daha açmak gerekirse, en iyi hacker'ların neden araştırma departmanlarında çalışmayı tercih ettiğini düşünebiliriz. Onlar için asıl mesele, bir ürün yöneticisiyle, Word'ün Kore versiyonu ve konuşan ataşın entegrasyon sorunları hakkında üç saatlik bir toplantı yapmak zorunda kalmamak. 

[6] Bu durum, inşaat sektöründe de uzun zamandır var olan bir durum. Birkaç yüz yıl önce bir ev yaptırdığınızda, yerel ustalar her şeyi en baştan kendileri yaparlardı. Ancak bugün, inşaatçıların işi, başkaları tarafından tasarlanıp üretilmiş parçaları birleştirmek olmuş durumda. Masaüstü yayıncılığın ortaya çıkışı gibi, bu durum insanlara bazen felaket sonuçlar doğuran denemeler yapabilme özgürlüğü vermiş olsa da, kuşkusuz daha verimli bir yöntem.

[7] Şimdi, Google'ın Microsoft için Netscape'ten daha büyük bir tehlike olmasının nedenini düşünelim. Hatta hiçbir şirketin bu kadar büyük bir tehdit oluşturduğunu söyleyebiliriz. En önemli sebep, Google'ın savaşmaya kararlı olması. İş ilanı sayfalarında ""Kötülük yapma"" ifadesini temel değerlerinden biri olarak belirtiyorlar. Eğer bu ifade soya yağı ya da madencilik ekipmanı satan bir şirketten gelseydi, belki tuhaf bulurduk. Ama bilgisayar dünyasındakiler, bu ifadenin kiminle savaş ilanı olduğunu çok iyi anlıyor.

**Özel Teşekkürler**: Bu konuşmanın daha önceki versiyonlarını okuyup yorumlarını paylaşan herkese teşekkür ederim. Sizler olmadan bu metinler aynı olmazdı!""""

---

İlişkili Konseptler: büyük hackerlar, büyük hackerların özellikleri, hacker verimliliği, hacker çalışma ortamı, hacker motivasyonu, hacker yaratıcılığı, hacker merakı, hacker konsantrasyonu, hacker politik doğruluk dışılığı, hacker problem çözme, hacker araçları, hacker projeleri, hacker tanınması, hacker niteliklerini geliştirme, hacker ve programlama dilleri, hacker ve açık kaynaklı yazılım, hacker ofis alanı, hacker ve startup kültürü, hacker ve şirket kültürü, hacker ve zenginlik, hacker ve merak, hacker ve odaklanma, hacker ve politik doğruluk dışılık, hacker ve problem çözme, hacker ve programlama dilleri, hacker ve açık kaynak yazılım, hacker ve ofis ortamı, hacker ve startup kültürü, hacker ve şirket kültürü."

Subscribe

Listen to Yiğit Konur'un Okuma Listesi using one of many popular podcasting apps or directories.

Spotify Pocket Casts Amazon Music YouTube
← Previous · All Episodes · Next →