Google'dan Ayrılırken
(airs.com)- Ian Lance Taylor, Google'da 19 yıl çalıştıktan sonra ayrıldı ve bu sürenin büyük bölümünü Go programlama dilinin geliştirilmesine adadı
- Go, 2007 sonbaharında Rob Pike, Ken Thompson ve Robert Griesemer tarafından başlatıldı; Taylor ise 2008 Haziran'ında, Russ Cox'la yaklaşık aynı dönemde ekibe katıldı
- İlk beklentilerin aksine Go, basit fikirleri denemenin ötesine geçerek geliştiricilerin ihtiyaca göre seçtiği genel amaçlı bir programlama dili haline geldi
- Taylor, Go'nun dil ve ekosistem temelindeki çalışmalarda; GCC için Go frontend'i, Google içi build sistemi, SWIG desteği, ekip yönetimi ve generics önerileri gibi alanlarda yer aldı
- Google, Go ve programlama ortamı değiştikçe Taylor, Google'ın Go projesiyle kendi uyumunun azaldığına karar verdi; bir süre dinlendikten sonra yeniden Go'ya katkı sunmayı umuyor
Google'da 19 yıl ve Go'ya katılışı
- Ian Lance Taylor, Google'da 19 yıl çalıştıktan sonra şirketten ayrıldı
- Çalışma hayatının büyük bölümünü Go programming language üzerinde geçirdi
- Go, 2007 sonbaharında Rob Pike, Ken Thompson, Robert Griesemer tarafından başlatıldı
- Taylor, 2008 Haziran'ında Go ekibine katıldı; Russ Cox da benzer bir dönemde ekibe dahil oldu
- Bunun, harika insanlarla ilgi çekici projelerde çalışma şansı verdiği için kendisini şanslı gördüğünü söyledi
Go'nun beklenenden geniş kullanım alanı
- Taylor, Go'nun yıllar içinde beklediğinden çok daha yaygın kullanıma ulaşmasına şaşırdığını belirtti
- Go artık geliştiricilerin ihtiyaç duyduğunda tercih edebileceği genel amaçlı bir programlama dili konumuna ulaştı
- Başlangıçtaki beklenti, Go'nun kendisinin büyük ölçekte yaygınlaşmasından çok, diğer dillerin ve programlama ortamlarının örnek alabileceği yararlı fikirlerin bir örneği olmasıydı
Derleyici ve dil belirtimi çalışmaları
- Taylor'ın Go ile ilgili ilk işi, GCC compiler'a Go frontend'i eklemek oldu
- O dönemde Go projesinde, Inferno C derleyicisini temel alan mevcut bir derleyici zaten vardı
- İki derleyicinin birlikte var olması, dil tanımını daha net hale getirmeyi sağladı
- Davranış farklılaştığında her seferinde belirtim gözden geçirilip doğru davranışın ne olması gerektiği belirlendi
Ekip içindeki rolü ve generics'in gelişi
- Taylor, Go ekibinde projenin genelini gözetip yardım gereken alanları bulma rolünü kendiliğinden üstlendi
- İlk yıllarda Google'ın iç build sistemine ve SWIG tool'a Go desteği ekledi
- Birkaç yıl boyunca ekip yöneticiliği de yaptı
- Go'nun ilk günlerinden itibaren geliştiriciler, bir tür generics veya tür parametreleştirme desteği talep etti
- Taylor, Robert Griesemer ile birlikte dilde yapılacak çeşitli değişiklik önerileri geliştirdi
- Generics, Go 1.18 release in 2022 ile dile eklendi
Kendi çalışma tarzına dair değerlendirmesi
- Taylor, kendi yaklaşımının hem güçlü hem zayıf yönleri olduğunu düşünüyor
- Güçlü yanı, insanların şu anda yaşadığı ve yakında yaşayacağı sorunları hızlıca tespit edip çözüm üretilmesine yardımcı olabilmesiydi
- Buna karşılık, henüz denenmediği için gerekliliği ortaya çıkmamış fikirleri geç fark etme gibi bir sınırı vardı
- Örnek: Go module proxy
- Örnek: Go vulnerability database
Ayrılık nedeni ve sonrası için planları
- Taylor, kendi yaklaşımının başarılı bir proje inşa etmeye genel olarak katkı sağladığını düşünüyor
- Ancak Google, Go ve bilgisayar programlama ortamı bütünüyle değişti
- Son yaklaşık bir yılda artık Google'ın Go projesine pek uygun olmadığının netleştiğine karar verdi
- Go'ya olan ilgisinin ise hâlâ sürdüğünü söyledi
- Go dilinin artık bittiğini düşünmüyor
- Hiçbir programlama dili tamamlanmış halde kalmaz
- Programlama ortamı sürekli değişir ve diller evrilmezse yok olur
- Go gibi kapsamlı bir standart kütüphaneye sahip dillerde, standart kütüphanenin de programcıların yeni ihtiyaçlarına uyum sağlaması gerekir
- Taylor, bir süre dinlendikten sonra ileride yeniden Go'ya katkı sunabilmeyi umuyor
1 yorum
Hacker News yorumları
Ian’ın Go topluluğuna ve genel olarak programlama topluluğuna yaptığı katkının ölçeğini abartmak zor
Yalnızca gccgo’yu değil, gold bağlayıcısını da yaptı; derleyici araç zinciri hakkında kapsamlı yazılar yazdı ve gcc kod tabanının büyük bölümlerinin bakımını üstlendi [0]
Birkaç kez e-posta yazışmıştık; Google’da hangi sorumlulukları ve öncelikleri olursa olsun her zaman yanıt verdi, yamaları inceledi ve geri bildirimleri de ufuk açıcıydı
Go dilinin kendisi hakkında karmaşık duygularım var ama Ian’sız Go’nun kesinlikle daha kötü olacağını düşünüyorum
İlk Go ekibi Bell Labs benzeri bir havaya sahipti; bilgisayarları en ince ayrıntısına kadar anlayan az sayıda insan assembler’ı, linker’ı, iki derleyiciyi, dil spesifikasyonunu, dokümantasyon üreticisini, build sistemini ve devasa standart kütüphaneyi hep birlikte ortaya çıkardı
Şimdiyse Go, Google için giderek daha önemli hâle geldikçe ve büyük ölçekli yazılım projelerinin standart uygulamaları içeri girdikçe daha tekdüze bir kurumsal kültüre dönüşmüş gibi görünüyor
Ian’ın mesajında ima ettiği şey de muhtemelen bu kültürel değişimdir; ama ayrılmaya karar vermesine yol açan somut dönüm noktasını merak ediyorum
Umarım Ian yeterince dinlenebilir; bundan sonra hangi projeyi yaparsa yapsın takip etmek isterim
[0]: https://github.com/gcc-mirror/gcc/blob/master/MAINTAINERS
Yine de insanların ya da kurumların gcc-go’yu pratikte hangi amaçlarla kullandığını merak ediyorum
Google’da çalışırken Ian Lance Taylor, rastgele atanan kod inceleyici havuzundaydı
Nazik, kararlı ve bilgilendiriciydi
Bu hem Taylor hem de proje açısından iyi görünen bir nokta; böyle incelemeler, YC’nin kuruculara müşteri desteğini bizzat yapmalarını tavsiye etmesinin bir versiyonu gibi
Yüzeysel bir izlenim olabilir ama kod incelememde onun baş harflerini görmek epey heyecan vericiydi
golang için yaptığı her şey için teşekkürler
Zeki, 10x geliştirici ya da yetkin biri olmaktansa nazik, kibar ve iyi biri olarak görülmenin daha iyi olduğuna dair önemli bir hayat dersi öğrendim
Nazik, kararlı, bilgilendiriciydi; buna meraklı olduğunu da eklemek isterim
Projeye katkıda bulunma deneyimi çok iyiydi ve bunda Ian’ın payı büyüktü
Go gibi büyük bir projede bu çok şey anlatıyor
Google’da Python okunabilirliği de yaptım ama “devasa bir CL getir, sürecin sonunda onu iyi hâle getir ve bitsin” yaklaşımı Go’daki süreç kadar faydalı gelmemişti
Go ekibinin kendi kurallarını koymasına sevindim; bana da yardımcı oldu
Tabii gece yarısı çağrı alıp “şu kodu check-in edip tekrar uyumam gerek” diye düşündüğüm anlarda durum farklıydı ;)
Yorumlarından birine itiraz etmeye bile çalışmıştım
Ne yaptığını gerçekten bilen birinin çalışmama onay damgası basması oldukça havalı hissettirmişti
Yanlış hatırlamıyorsam gerçekten harikaydı
“Gooogle [sic] değişti, Go değişti, tüm bilgisayar programlama ortamı değişti. Yaklaşık son bir yıl içinde artık Google’ın Go projesine iyi uymadığım netleşti. Artık ayrılma zamanı” kısmı epey şaşırtıcı
Bu üç cümle kolayca çıkarılabilir ya da boş lafa dönüştürülebilirdi; özellikle böyle yazmış olması burada ağırlığı olan bir durum bulunduğunu düşündürüyor
Yönetim tarafındaki baskı çok daha arttı, güven ise çok daha azaldı
L7+ seviyesindekilerin önemli bir kısmından “yeterli etkiye” sahip olmak için yapay zeka ile ilgili işler yapmaları da bekleniyordu
Baskı arttıkça aralarında alan kavgaları da çoğaldı; güvenilir bir yönetici olmak yeterli olmaktan çıktı, ilgili belgenin en üstünde kendi adının olması ve meslektaşının adının olmaması gereken bir duruma dönüştü
2023’ten önce birlikte çalıştığım L7 ve L8’lerin Google’dan ayrılmasının neredeyse hep ilginç yeni fırsatlar bulmaları ya da emekli olmaları nedeniyle olduğunu görürdüm
Artık bu seviyede ayrılanların çoğu Google’dan bıktıkları için gidiyor
Berbat bir durum
Günümüzün büyük teknoloji şirketleri insanların para kazanmak için gittiği yerlerden ibaret; uzun vadeli vizyonla ille de ilgilendikleri yok
Çoğu, mühendisliğe ya da bilgisayarlara çok az tutkusu olan, zorla dershane tarzı eğitimden geçirilmiş tiplerle dolu
Hayal gücü yok, kalıpların dışında düşünme yok; işe girmek için ezbere hazırlanıyorlar, sonra PIP’e ya da işten çıkarmaya uğrayıp başka bir büyük şirkette aynı şeyi tekrarlıyorlar
TC yoksa defol git tipleri
Dünün Google’ı gibi bir startup’ta şansınız daha yaver gidebilir
CEO’dan aşağı inen odak tamamen kârlılık, gelir ve ticarilik üzerine
Bu kişi sanırım daha önce şöyle yazmıştı
“Bugün Google’daki sorunların çoğu, Sundar Pichai’nin vizyoner liderlik eksikliğinden ve erken dönem Google’ın kültürel normlarını korumaya yönelik bariz ilgisizliğinden kaynaklanıyor”
2016’da Google’dayken, tamamen golang kullanan bir ekipte başlamıştım.
İlk proje olarak yeni bir servis geliştiriyorduk ve Ian’dan birkaç kez okunabilirlik onayı almıştım.
Bir keresinde, devam isteği eklenmiş bir onay aldım ama bunu görmeden değişikliği yansıttım.
Ian yeniden iletişime geçip devam işini yapmamı istedi; o sırada onun çekirdek Golang geliştiricilerinden biri olduğunu bile bilmiyordum.
Hiç öyle yapmak zorunda olmadığı hâlde gerçekten anlayışlıydı ve bu olay sanırım hep aklımda kalacak.
Dilin gerçekte nasıl kullanıldığını görmeye ve temel sorunları bulmaya bu kadar çok zaman ayırmış olması gerçekten etkileyici.
“Gooogle değişti, Go da değişti, bilgisayar programlamanın genel ortamı da değişti. Son bir yıl kadar içinde artık Google’ın Go projesine pek uymadığım açık hâle geldi. Artık ayrılma zamanı” paragrafını daha ayrıntılı duymak isterdim.
Ian’ın fark ettiği somut bir değişim varmış gibi görünüyor.
“Go derleyici hatalarına Gemini ekleyin, yoksa gidin” gibi bir şey.
Antitröst sorunları, kısa vadeli kâr uğruna şirketi satıp savan berbat liderlik, uzun süre baskın bir teknoloji şirketiyken bir başka Microsoft/IBM kopyasına dönüşmüş belirgin bir değişim var.
Artık sektör lideri değil; sadece trendleri takip ediyor ve dalgaya biniyor, AI furyasında olduğu gibi.
Şüpheli geçmişe sahip hükümetlere boyun eğiyor ve sivillerin ölümüyle bağlantılı olabilecek projeleri destekliyor.
“Kötü olmayalım” demeleri artık komik bile değil.
Süregiden palavralardan ve zorla yutturulan yalanlardan tamamen bıkmış olmalı.
Ayrılış zamanlaması da muhtemelen hisse ödülleri ya da opsiyonların vadesiyle denk getirilmiş olabilir.
Buradaki meta soru, günümüzde 2005’in Google’ı nedir, meselesi.
Gerçekten OpenAI mı? Böyle bir şey hiç var mı?
Daha da meta soru ise, birçok mühendisin altın çağ olarak hatırladığı durumdaki Google’ın gerçekte ne kadar sürdüğü.
O şirket, temel teknolojinin çok daha güçlü hâle geldiği bir dönemde doğdu; o dönemde teknolojiye yaratıcı biçimde yatırım yapan şirketler hayal edilmesi zor ölçüde zenginleşti.
2022’de Google’a katılıp sonra ayrıldım; yeni başlayan birinin gözünden bile altın çağın yalnızca bitmiş olmadığı, altın çağ sonrası dönemin de sönmekte olduğu açıktı.
Hava “pervasız inovasyon bitti ama ürünü olabildiğince harika yapalım” değil, “hiçbir şeyi bozmayalım ve mümkünse %1-2 iyileştirme sıkıştıralım” şeklindeydi.
Google, Bell Labs gibi yalnızca kendi dönemine özgü bir üründü; Bell Labs’ın da modern bir karşılığı yok.
Yaratma fırsatı var.
Bu nesil şirketlerin sorununun teknoloji değil, kültür olduğunu düşünüyorum.
Teknoloji kültürü acımasız kapitalizmle öyle dolup taştı ki böyle bir şeyin bir daha yaşanacağını sanmıyorum.
Eskiden yine de inovasyon ve deneme isteği olduğu hissi vardı.
Şimdiyse sadece makinenin yağını değiştirmekten ibaret.
1 trilyon doları aşarak büyüyecek bir sektörü ve arama gibi temel, her yerde bulunan bir araç sunacak şirketi öngörmeye çalışıyoruz.
Komplo teorisi üretmeye çalışmıyorum ama Ian Hickson’ın Google/Flutter ekibinden ayrılmasıyla [1] ilgili olup olmadığını merak ediyorum
Kendisi özellikle bazı isimleri anmıştı
“Bugün Google’daki birçok sorun, Sundar Pichai’nin vizyoner liderlik eksikliğinden ve erken dönem Google’ın kültürel normlarını korumaya yönelik bariz ilgisizliğinden kaynaklanıyor. Bunun belirtilerinden biri, beceriksiz orta kademe yönetimin yayılması. Örneğin Jeanine Banks; Flutter, Dart, Go, Firebase vb. ürünleri biraz keyfî biçimde içeren bir bölümü yönetiyor. Bölümünün kâğıt üzerinde bir stratejisi var ama istesem de sızdıramam. Yıllar boyunca onun bunu anlattığını dinlememe rağmen hangi kısmının ne anlama geldiğini kelimenin tam anlamıyla hiç çözemedim. Kendi ekiplerinin ne yaptığını anlama düzeyi en fazla asgari seviyede. Sık sık tamamen tutarsız ve uygulanamaz taleplerde bulunuyor. Mühendisleri bir meta gibi görüp insanlıktan çıkarırcasına davranıyor; insanları kendi iradeleri dışında, yetkinlikleriyle hiçbir ilgisi olmayan şekillerde yeniden görevlendiriyor. Yapıcı geri bildirimi hiç kabul edemiyor. Kelimenin tam anlamıyla kabul ettiğini bile göstermiyor. Diğer ekiplerde benden politik olarak daha zeki liderler olduğu ve onunla nasıl ‘baş edeceklerini’ öğrendikleri söylendi. Rahatsız etmemesi için doğru zamanda yalnızca doğru bilgileri vermek gibi. Google’ın en iyi hâlini görmüş biri olarak bu yeni gerçeklik iç karartıcı”
[1]: https://ln.hixie.ch/?start=1700627373
Başka bir yönetici tüm Python ekibini işten çıkardı
Bunların çoğu Python çekirdek katkıcılarıydı; yerlerine daha düşük maaşlı bir TypeScript ekibi getirildi, sonra da daha düşük maaşlı bölgelerdeki yeni bir ekiple kadro dolduruldu
İletişim biçimleri anlaşılmaz; her şeyi söylerken aynı anda hiçbir şey söylemezler
Aynı anda hem dramatik değişim hem de her şeyin aynı kalacağı mesajını içeren duyurular geldiği için insanın kafası çok karışıyor
Benim teorim, bunun yön belirlemek ya da vizyon veya hedefleri açıklamak için değil; diğer yöneticilere etkileyici görünmek ve sosyal konum almak için yapılan bir şeye evrildiği yönünde
Performans değerlendirmelerinde pay kapmak için malzeme olarak kullanılıyor
Hatırladığım memlerden biri şuydu: “5 saniye içinde hangi ekibe bağlı olduğunu söyleyemiyorsan bir Googler olabilirsin”
Mühendisler son derece yetenekli ama imposter sendromu da yaygın; gözleri bağlı şekilde herkes farklı bir yöne savruluyormuş gibi bir his var
Büyük bir şirketin nasıl yönetilmesi gerektiğini ben de bilmiyorum ama iyi bir başlangıç noktası açık ve betimleyici bir dil kullanmak olurdu
Belli ki kurumsal dil tercümesi uzmanları bile ortak bir gerçeklik yaratamıyor
Sektörümüzle ilgili en korktuğum şeylerden biri, erken dönem Google gibi bir şirkete bir daha sahip olamayabileceğimiz
Pichai direksiyona geçtiğinde şirketin adını değiştirmeleri gerekirdi
Çünkü artık tanınmaz bir şeye dönüşmüştü
Google’da çalıştığını söyleyip karşılaşacağınız insanların çoğu, muhtemelen onun döneminde çalışmış kişiler olacak
Google’ın kilit insanları Chrome’dan sonra şimdi de golang projesinden ayrılıyorsa, yönetimin iyi iş çıkarmadığı epey açık görünüyor
Muhtemelen haklılar
Google iç siyaseti hakkında çok bilgim yok ama birkaç yıldır tanınmış isimlerin ani ayrılıklarını duyuran yazıları ve blog gönderileri epey sıklaştı gibi görünüyor
Bu akımın arkasında ne var?
Google’da beni tüketen tüm somut rahatsızlıkların köküne indiğimde sonunda buna ulaşıyordum; bu yüzden ağustosta ayrıldım
Nispeten küçük bir organizasyonken en iyi yetenekleri işe alıp başarılı olduktan sonra sayıları büyüttüğünüzde, o model ölçeklenebilir olmadığı için aşağıya doğru gidersiniz
On binlerce kişi ölçeğine gelindiğinde “profesyonel yönetici” denen aptallar içeri girer ve organizasyon önce ortalama olarak geriler
Çünkü dünyada on binlerce gerçekten müthiş insan yeterince yoktur
Sonra aptallar muazzam olumsuz etki yaratır ve organizasyon çürümeye başlar
Kültürü kötü yönde değiştirdiklerinde en iyi insanlar ayrılır, ortalama çalışan seviyesi daha da düşer
Fiyatta değil, çalışan kalitesinde dibe doğru bir yarış yaşanır
Google, Go’yu kâr amacı gütmeyen bir vakıf olarak ayırıp bağımsız hâle gelmesi için 1 milyar dolar vermeli
Russ Cox’a ömür boyu iyiliksever diktatör olarak yönetmesi için yalvarmalı ve Ian Lance Taylor’ı yeniden işe alabilmeyi ummalı