Laravel’in Kurucusu Taylor Otwell Kimdir?

Fatih Çiçek
8 min readMay 26, 2021

--

Yazılım alanında başarılı işler ortaya koymuş insanların hayat hikayelerini okumayı seviyorum. Bir nebze de olsa gerçek hayata dair düşünce dünyamızı genişletmesinde faydası olursa bu büyük bir kazançtır. Bu yazıda milyonlarca insan tarafından kullanılan Laravel Framework’ünün yaratıcısı Taylor Otwell’in kim olduğundan bahsedeceğim.

Yazıdaki başlıklar şu şekilde:

Hiç Endişelenmiyor Mu Ya Laravel Ölürse Diye?

Bilgisayar Merakı Nasıl Başladı?

Kodlamayla Alakalı Ne düşünüyordu?

Girişimcilik

PHP İle İlk Karşılaşması

İlk İşini Nasıl Buldu?

Yan Proje Yapmak

CodeIgniter ile Oluşturduğu İlk Proje

Laravel

Dönüm Noktası

İş ve Yan Proje’yi Birlikte Nasıl Yürüttü?

Meditasyon

Müzik ve Seyehat

Kimden Hangi Tavsiyeyi Aldı?

Hiç Endişelenmiyor mu ya Laravel Ölürse Diye?

Laravel bugün ölmeye başlasa ve önümüzdeki birkaç yıl içinde yavaş bir şekilde ölse bile ailesinin geleceğini güvence altına aldığı için artık hiçbir şey onu çok fazla tedirgin etmiyor. Emeklilik birikimi hazırlandı, çocukların üniversite parası ödendi ve artık bu şeyler için endişelenmesine gerek kalmadı. Laravel ile yaşadığı tüm bu güzel anılar için teşekkürler der ve başka bir firmaya çalışmak için başvururdu.

Tabiki sıradan bir programcı olmaya, projeler üzerinde çalışmaya geri dönmesi gerekecek. Bu onu fazla tedirgin etmiyor çünkü her zaman Laravel’in yavaş yavaş önemini kaybedebileceğine kendisini hazırladı. Bunun ne kadar süreceğini bilmiyor ama bu konuda gerçekten çok endişelenmiyor çünkü temelde yarattığı şeyden, sahip olduğu anılardan, ailesi için yıllarca verdiği mücadeleden çok mutlu. Eğlenceli bir yolculuk olarak değerlendiriyor Laravel serüvenini. Bu yolculuk ne zaman biterse bitsin bunu soğukkanlılıkla karşılayacak.

Bilgisayar Merakı Nasıl Başladı?

Taylor Otwell, 10 ya da 11 yaşlarındayken bir windows yazılımcısı olan komşusu sayesinde bilgisayarla tanışıyor. Komşusundan kendisi için bilgisayar almasını istiyor ve hikaye bu şekilde başlıyor.

Her zaman yoğun bir şekilde teknolojiye ve bilim kurgu türü içeriklere ilgi duyuyordu. Özellikle Star Wars bunlardan biriydi. The Jetsons çizgi filmini ve filmdeki tüm harika teknolojik araçları seviyor, fütüristik teknoloji konularına kendisini yakın hissediyordu. Bu yüzden bilgisayar dünyasına girmesi çok doğal olmuştu. Programlamaya ilk olarak HTML ile başladı. Pokemon ve Civilization 2 gibi birçok oyunlar hakkında web siteleri oluşturdu. Bunlar, içerisinde küçük ipuçları barındıran oyun için yaptıkları strateji siteleriydi. Komşusu bu siteyi CompuServe’e koymasına yardım etti.

CompuServe: ABD’de ilk büyük ticari çevrimiçi servis sağlayıcısı. Detaylı bilgiye buradan ulaşabilirsiniz.

Küçük strateji oyunları yazabileceği TI-83 hesap makinesi programlarına ilgi duyuyordu. Buradan videoyu izleyerek hesap makinesinde nasıl oyun oynandığını görebilirsiniz :)

Tabi o zamanlar en popüler oyun uyuşturucu savaşları oyunuydu. Bu sebeple ya uyuşturucu savaşları türünde ya da lemonade stand türü oyunlar yapıyordu. Kendi kendine hesap makinesinde nasıl programlama yapacağını öğrendi. Gün içerisinde çoğunlukla video oyun siteleri ve Yahoo gibi sitelerde takılıyordu.

Kodlamayla alakalı ne düşünüyordu?

Aslında üniversiteye başladığında bile kod yazmayı planlamıyordu. Üniversitede bilgisayar ağları bölümü okuyordu. Programlamanın çok fazla matematiksel ve sıkıcı olacağını düşünüyordu. Profesyonel düzeyde gerçek programlamanın nasıl bir şey olduğunu gerçekten hiç anlamamıştı. Gerçek iş hayatındaki programlamayla alakalı zihininde hiçbir şey canlanmıyordu. Her zaman bunun çok teorik ve gerçekten zor olduğunu hayal ediyordu, aynı matematik gibi. Fakat en azından web’de yaptığı programlama türü için bunun böyle olmadığını söylüyor. Programcı olmayı planlamadan tüm üniversiteyi okudu.

Girişimcilik

Üniversite yıllarında çok fazla girişimciliğe ilgisi yoktu. Mezun olup işe başladıktan 2–3 yıl sonra bu konuda bir şeyler düşünmeye başladı. Onu girişimciliğe yönlendiren olay ise herkesin PHP kullanarak bir web sitesi yapabileceği gerçeğini farketmesidir. Bunu anlayınca, beyni farklı fikirlerle çalkalanmaya başladı. Tam zamanlı yapabileceği bir şey olmasa bile, gelirini az da olsa arttıracak bir yan proje(side project) yapmak istiyordu. Peki onu bu şekilde düşünmeye iten PHP ile ilk ne zaman karşılaşmıştı?

PHP İle İlk Karşılaşması

İlk karşılaşması üniversitede oluyor. Son sınıftayken bitirme tezi olarak tüm sınıf gruplara ayrılıyor ve günlük hayatta uygulamaya konulabilecek projeler veriliyor. Taylor’ın grubu ise yerel bir hayır kurumu için bir envanter takip sistemi kurması gerekiyordu. Gruptaki arkadaşlarından biri PHP’ye aşinaydı. Bu proje için PHP kullanabileceklerini çünkü oldukça kolay olduğunu söyledi. Taylor, daha iyisini bilmediği için olur, benim için sorun yok diyor. İşte o zaman PHP ile ilk defa karşılaşıyor. Gerçi o projedeki görevi kod yazmak yerine müşterilerle konuşmaktı.

Birkaç yıl sonra, yan projeler ve diğer şeyler için fikirler geliştirmeye başladığında, birkaç yıl önce o sınıf projesinde kullandığı PHP’yi hatırlıyor. Hatırladığı kadarıyla PHP ile site yapmak kolaydı ve projelerini zenginleştirebilirdi. Bu sebeple PHP kullanmaya karar verdi.

Üniversitede aldığı tek programlama dersi iki dönemlik C++‘tı. Ağ(networking) bölümünde olduğu için bir bilgisayar bilimleri ana dalının sahip olabileceği kadar programlama dersi yoktu.

İlk İşini Nasıl Buldu?

Taylor’ı üniversiteden mezun olur olmaz işe alacak olan firma, üniversiteye öğrencilerle görüşmek üzere gitmişlerdi. Öğrencilerle mülakat yapıyorlardı ve yetiştirmek üzere öğrenci arıyorlardı. Taylor, programcı olmayı planlamamasına rağmen firma ile mülakat yapmaya karar verdi. Mülakatı başarılı geçti ve işe alındı. Firma işe aldığı öğrencileri mezuniyet sonrası hemen altı aylık eğitim kampına sokuyordu. İşin ilk altı ayında, zamanın çoğu sınıfta geçiriyor, özellikle de ilk üç ay. Kalan üç ayın yarısı sınıfta yarısı gerçek hayattaki küçük projelerde geçiyordu ve sektöre yoğun bir kamp ile hazırlanıyolardı. Tüm eğitmenler aslında tam zamanlı çalışanlardı. İhtiyaç duyduklarında onları bu eğitim sınıflarına gönderiyolardı. Sadece yeni mezunları işe alıyolardı ve herkes aynı eğitim programından geçiyordu. Tecrübeli yazılımcıları almak yerine taze mezunları alıp yetiştirmek istiyorlardı.

Bu 6 aylık süreçte, tüm klasik ASP, COBOL, JCL’yi ve .NET’i başlangıç seviyesinde öğrettiler. Çok fazla COBOL ve klasik ASP yazdı ve sonunda bir .NET projesinde çalışmaya başladı. Yazılmış kodun üzerinde çalışmaya başladı çünkü onu sıfırdan yazabilecek kadar iyi değildi.

Yan Proje Yapmak

İstediği zaman istediği yere taşınabilme özgürlüğüne sahip olmak için yan proje yapma konusunda kararlıydı. Evden çalışabilirdi ve büyük ailesiyle daha yakın olabilirdi çünkü o zamanlar ailesinin büyük çoğunluğundan üç veya dört saat uzakta yaşıyordu. İstediği yerde yaşabilme özgürlüğüne sahip olmak istiyordu.

CodeIgniter ile Oluşturduğu İlk Proje

Yaptığı ilk projelerden biri nişti. Kitap ciltçisi olan firmanın kitap siparişlerini takip etmeleri için küçük bir sistem kuracaktı. Bu spesifik olarak şirkete yönelik özel bir üründü.

O zamanlar paylaşımlı hosting olan DreamHost’u kullanıyordu çünkü yıllar sonrasına kadar kendi VPS’mi(virtual private server-Sanallaştırılmış özel sunucu) nasıl yapılandıracağını bilmiyordu. Windows kullandığı için FileZilla programıyla dosyaları FTP ile gönderiyordu. Laravel kurulduktan sonra UserScape şirketinde çalışmaya başlayana kadar bir Mac’i bile yoktu. Larevel’in ilk versiyonu ucuz bir windows laptopunda yapıldı. Tüm dosyaları sadece FTP ile gönderirdi. İlk başladığımda Notepad ++ kullanıyordu.

İlk başta, firmadan ayrılmaya ve bir framework yazmaya niyeti yoktu. Yazdığı ilk projelerden biri CI enjektör idi. Bununla oldukça gurur duyuyordu. Aslında bu PHP’deki ilk reflection-based IOC konteyneriydi. Birkaç ay sonra 2010 yılında da yazılmış bir başka IOC konteyneri daha vardı. Bu, .NET / .MVC’nin ana parçalarından biriydi, otomatik çözülen konteynerdi. Laravel’in konteyneri, ilk CodeIgniter konteynerini gibi hala çalışıyor. İlgilendiği bir diğer şey de CodeIgniter için daha iyi ORM(Object–relational mapping) idi. Ayrıca üstte bir @extend’in olduğu Blade gibi daha iyi bir şablon oluşturmak ve ana şablon bölümünü geçersiz kılan bu bölümleri tanımlayabilmek gibi şeyler de yapmak istiyordu. Buna şablon kalıtımı(template inheritance) diyoruz. Fakat bir süre sonra bir noktada CodeIgniter ile devam edemediğini anlıyor. CodeIgniter denetleyicilerinde(controller) otomatik çözümlenen bağımlılık enjeksiyonu(auto-resolving dependency injection) istiyordu. Bunun işe yaraması için, gerçekten çekirdek dosyaları düzenlemeye başlaması gerekiyordu fakat bu hoş, paketlenebilir ve kullanışlı bir yol değildi. Bundan dolayı CodeIgniter’ı forklayıp onun özel bir versiyonunu yapmayı ve ona bir isim vermeyi düşündü. Laravel’in ilk sürümünü ondan sağlam bir şekilde memnun olana kadar beş veya altı kez yeniden yazdı.

Laravel

Önce routing motorunu yazdı. PHP ActiveRecord adında aktif bir uygulama kaydı vardı, o zaman bile terk edilmiş yazılım haline gelmişti. Bu 2010 yılındaydı. Birkaç kütüphane daha vardı. Birinin adı Idiorm’du. ORM’ye benzeyen Paris’e sahipti. Idiorm sorgu oluşturucuydu(query builder), Paris ise ORM idi. Eloquent, Paris’ten çok ilham aldı çünkü bir ilişkinin yalnızca bir sorgu oluşturucu döndüren modelin bir işlevi olduğu bir model türüne sahipti. Eloquent bu güne kadar hala böyle çalışıyor, bu yüzden Paris bu modeli bulduğu için oldukça övgüyü hak ediyor. Taylor bu konuda şöyle diyor : “Paris’i yazan kişinin artık PHP’yi programladığını bile sanmıyorum ve Eloquent’in bundan bu kadar ilham aldığının farkında olduğundan emin değilim.”

Laraveli yazmaya başladığında onun Apple benzeri olmasını, kutudan çıkar çıkmaz güzel bir şekilde kullanıma hazır olmasını istedi.

Dokümantasyon, topluluktaki insanların deneyimleri üzerinde gerçekten büyük bir etki yaratır. CodeIgniter’ın başlangıçta popüler olmasının nedeninin harika dokümantasyona sahip olması olarak düşünüyordu. Mesela bazı avantajları olan ve bazı daha iyi özelliklere sahip olan başka, CodeIgniter tipi bir framework olan Kohana vardı, ancak onun dokümantasyonu o kadar kötüydü ki, CodeIgniter’ın sahip olduğu etkiye asla sahip değildi. Bunu çok erken fark etti. Laravel’in popüler olmasını istiyorsa, gerçekten iyi dokümantasyon yazması gerekiyordu. Bu konuda kararını verdi, dökümantasyonunu hazırlayacak ve insanlardan gelen cevabın ne olduğuna bakacaktı. O zaman ki zihniyeti şu şekildeydi: bunu hiç kimse kullanmasa bile onun için sorun değil çünkü en azından PHP yazarken kullanacağı eğlenceli bir şeyi vardı. Programlama konusunda zorlanmaya ve acı çekmeye karşı tahammülümü yoktu. Bu sebeple dokümantasyonun iyi olmasını öncelikle kendisi için istiyordu çünkü işini kolaylaştırıyordu. Taylor için programlama bir hobi değildi. İşten sonra eve gidip evde de kod yazan bir tip değildi. Yazılım harici şeylerle uğraşmayı seviyordu. Bu yüzden eğer böyle bir framework yapacaksa gerçekten eğlenceli ve uygulaması kolay olması gerekiyordu.

.NET işindeyken, programcıların daha üretken olmasına yardımcı olan araçları yazmaktan gerçekten keyif aldığını keşfetmişti. Boş zamanlarında fazladan birkaç dakikası olduğunda orada yaptığı şeylerden bir tanesi mesela .NET ile yazdığı WeDev adlı küçük bir programdı. Yazdığı program Slack’in çok daha kötü bir versiyonuydu diyebiliriz. Ne yaptığınıza dair küçük bir durum göstergesi vardı, dosya paylaşım özelliği olan küçük anlık mesajlaşma programı gibiydi. O projeyi gerçekten çok sevdi. Geliştiricilerin hayatlarını kolaylaştırmaktan keyif aldığını farkettği ilk zamandı. Bu da onu Laravel’e çeken şeyin bir parçası oldu.

Dönüm Noktası

Birkaç PHP programcısı “Fuel” isminde PHP framework’ ü oluşturmak için bir araya geldi. Bunlardan Phil Sturgeon ve Dan Horrigan CodeIgniter geliştiricisiydiler. Daha hızlı hareket eden ve insanların istediği özelliklere sahip olan CodeIgniter’ın yerine geçecek bir framework inşa etmeye çalışıyorlardı. Bunun için oldukça iyi pazarlama sayfaları vardı. Taylor aslında Fuel konusunda heyecanlıydı ve Fuel’e dahil etmek istediği bazı fikirleri vardı.

Bunlardan biri Laravel’de olan rota filtresi türü(route filter-type). Fuel ekibinden birisine mesaj gönderdi. Fuel konusunda gerçekten yardımcı olmak istediğini ve eklemek istediği birçok özelliğin olduğunu söyledi. Fakat Fuel ekibi bu özelliklerle çok ilgilenmediler. Bunun üzerinde Taylor kendi yazdığı Laravel üzerinde çalışmaya devam etmeye karar verdi. Ancak Fuel ekibi bu konuda onu geri çevirmeselerdi ve onun Fuel’e yardım etmesiyle ilgilenselerdi, o zaman elbette, her şeyin gerçekten farklı olabilirdi çünkü Fuel’e yeni özellikler eklemeye başlayacaktı ve zamanını ona ayıracaktı.

İş ve Yan Proje’yi Nasıl Birlikte Yürüttü?

Sabah sekizden akşam beşe kadar çalışır ve sonra eve giderdi. Laravel üzerinde çalışmaya başladığında ilk çocuğu olan James, o zamanlar daha bebekti. Akşam beşten dokuza kadar ailesi ile vakit geçirirdi. 83 metrekarelik, iki yatak odalı küçük bir dairede yaşıyorlardı. Eşi saat 9 gibi uyurdu. Taylor ise çoğu zaman gece 1 veya 1: 30'a kadar ayakta kalır ve Laravel üzerinde çalışırdı. Bu durumdan kendisi çok memnundu.

Meditasyon

Günlük hayatında meditasyon yapmaya çalışıyor. Her gün yapamasa da en azından iki günde bir yapmaya çalışıyor. Bu onun için manevi bir şey. Meditaston ile sadece düşüncelerine ve kendi ailesine odaklanıyor çünkü Laravel’in başarısına kitlenmek ya da popüler bir programcı olmayı istemek ona göre gelecekte daha fazla acı çekmesine neden olabilir. Eninde sonunda her şeyin biteceğini, bu sebeple ailesine ve hayatta sahip olduğu temel fikirlerine sahip çıkmasının programlamadan daha önemli olduğunu düşünüyor.

Müzik ve Seyehat

Ona ilham veren iki şey vardır: müzik ve seyehat. Rap müzik dinlemeyi çok sever. Drake ve 6Lack sevdiği rap sanatçılarından sadece birkaçıdır. Ne zaman dünyanın harika bir güzelliğini ya da seyahat ederken gerçekten güzel bir manzara parçası ya da başka bir şey görse, bir şekilde ona genel olarak harika şeyler yaratması için ilham veriyor.

Kimden Hangi Tavsiyeyi Aldı

Hayata dair en büyük tavsiyesini her işi güzel ve tam yapan dedesinden alıyor. Bu da direkt bir söz olarak değil uzun yıllar dedesini gözlemleleyerek elde ettiği bir çıkarımdan meydana geliyor. Dedesi, üzerinde çalıştığı her şey için, gurur duyabileceği bir şekilde gerçekten doğru yapıldığından emin olurdu. Örneğin üniversitedeyken dedesinin yanında çalışmıştı, yerel kilisedeki tüm çimlerle ilgileniyorlardı. Bu büyük bir çimdi, futbol sahaları ve büyük çimler falan vardı ve burda çalışırken bile dedesi ayrıntısına kadar ehemmiyet gösterirdi. Detaylara ve ileriye gitme konusunda ona çok ilham verdi. Sözlü bir tavsiye değildi, sadece gözlemlemeniz gereken bir şeydi, ama görülüyor ki Taylor için oldukça etkiliydi.

Kaynak

https://www.laravelpodcast.com/episodes/9714e187

--

--

No responses yet