1 puan yazan GN⁺ 2024-02-12 | 1 yorum | WhatsApp'ta paylaş

GitLab'daki deneyim

  • Ekim 2015'ten Aralık 2021'e kadar yaklaşık 6 yıl GitLab'da çalıştı.
  • GitLab'dan ayrılıp tamamen Inko üzerinde çalışmaya karar verdi, ancak GitLab'daki deneyimini daha önce hiç paylaşmadı.
  • NDA'nın (gizlilik sözleşmesi) süresi dolunca, GitLab'da geçirdiği zamanı dönüp değerlendirecek enerjiyi buldu.

GitLab öncesi

  • Amsterdam merkezli küçük bir startup'ta çalışırken Rubinius ve Oga adlı XML/HTML ayrıştırma kütüphaneleri üzerinde çalıştı.
  • Finansman eksikliği ve teknik sorunlar nedeniyle Rubinius kullanımını daha fazla sürdürmedi.
  • GitLab'a, haftada bir gününü Rubinius üzerinde çalışmaya ayırıp ayıramayacağını sorarak katıldı.

2015-2017

  • GitLab'daki ilk günü, önceki şirketindeki son çalışma gününün hemen ertesi günüydü ve bu, uzaktan çalışmaya geçişi anlamına geliyordu.
  • GitLab uzaktan çalışan bir şirketti ama aynı zamanda sosyal bir şirketti; çeşitli buluşmalar ve etkinlikler düzenleniyordu.
  • GitLab; performans sorunları, sık yaşanan sunucu kesintileri ve yönetim problemleri nedeniyle zorlanıyordu.
  • Performans izleme altyapısı yetersiz olduğu için performansı iyileştirmek zordu.
  • GitLab'ın kültürünü ve yaklaşımını değiştirmeye çalıştı, ancak şirketin performans iyileştirmelerinden memnun kalmaması nedeniyle zorlandı.

2017-2018

  • Performans büyük ölçüde iyileşti ve GitLab performansı daha ciddiye almaya başladı.
  • Veritabanı performansına odaklanan bir "veritabanı ekibi"ne geçildi.
  • GitLab'ın veritabanı yük dengeleyicisini geliştirerek performans üzerinde olumlu etki yarattı.
  • GitLab'ın veritabanı sharding ihtiyacına verilere dayanarak karşı çıktı.

2019-2021

  • "Delivery" ekibine geçerek GitLab'ın release sürecini ve araçlarını iyileştirmeye odaklandı.
  • Bir commit'in ana branch'e ulaşmasından sonra GitLab.com'a deploy edilmesine kadar geçen süre ortalama birkaç gündü, en kötü durumda ise 3 haftayı buluyordu.
  • GitLab Community Edition ile GitLab Enterprise Edition'ı tek yapıda birleştirme çalışmasına liderlik etti.
  • Dizüstü bilgisayar yönetimiyle ilgili sorunlar ve kültürel değişimler nedeniyle motivasyonu ve üretkenliği azaldı.
  • Yeni yöneticisiyle yaşadığı anlaşmazlık nedeniyle bir "performance improvement plan" oluşturuldu.

Öğrendikleri

  • Ölçeklenebilirlik şirket kültürünün bir parçası olmalı: GitLab ölçeklenebilirliğe yeterince önem vermedi.
  • Ekipler daha veri ve geliştirici odaklı olmalı: GitLab ürün yöneticisi merkezli bir yapıya sahipti.
  • Veri olmadan 'minimum uygulanabilir ürün' belirlenemez: GitLab, "minimum uygulanabilir değişiklik" ilkesini benimsiyordu, ancak pratikte çoğu zaman faydasız özellikler geliştirdi.
  • SaaS ile self-hosted yaklaşım birbiriyle iyi uyuşmuyor: GitLab hem self-hosted kurulum hem de SaaS hizmeti sundu, ancak bu etkili olmadı.
  • Daha fazla insan her zaman daha iyi sonuç anlamına gelmez: GitLab yıllar içinde çok sayıda kişiyi işe aldı, ancak daha fazla geliştirici üretkenliği otomatik olarak artırmadı.
  • Ruby on Rails kullanımı etrafındaki gerilim: GitLab Ruby ve Ruby on Rails ile başarı yakaladı, ancak büyük projelerde bu bir zorluk haline geldi.
  • Kodun deploy süresi organizasyonun başarısı için kritik önemde: GitLab'da kodu deploy etme süresini kısaltmak önemli bir hedefti.
  • Konum bazlı maaş ayrımcıdır: GitLab maaşları konuma göre değiştiriyordu, ancak bu ayrımcı bir uygulamaydı.

GN⁺ görüşü

  • GitLab'daki deneyim, uzaktan çalışma ortamının artılarını ve eksilerini ve bir startup'ın büyüme sürecinde yaşanan çeşitli sorunları anlamaya yardımcı oluyor.
  • Performans iyileştirmenin ve ölçeklenebilirliğin önemini, ayrıca bunların kültürün bir parçası haline getirilmesinin gerekliliğini vurguluyor.
  • Konum bazlı maaş sorununa dikkat çekerek, bunun uzaktan çalışma ortamında adil ücretlendirme sistemlerini tartışmak için önemli bir örnek olduğunu belirtiyor.

1 yorum

 
GN⁺ 2024-02-12
Hacker News yorumu
  • Konuma dayalı ücretlendirmenin ayrımcı olduğu iddiası

    • Bunu ten rengi veya cinsiyet kaynaklı ayrımcılıkla karşılaştırmak uygun değil. Ten rengi ve cinsiyet değiştirilemezken, yaşanılan yer değiştirilebilir.
    • Yaşanılan yer; şirketin karşı karşıya kaldığı hukuki ve vergi konuları, saat farkı, seyahat maliyetleri gibi işle ilgili pratik meselelerle bağlantılıdır.
    • Konuma dayalı ücret farklılığı tartışılabilir, ancak bunu ırk veya cinsiyet ayrımcılığıyla eşitlemek tartışmayı kilitleyebilir.
  • 28 numaralı çalışan olarak başlayıp zamanla üstüne giderek daha fazla yönetici yerleştirilmesi

    • Başlarda doğrudan CEO’ya rapor veren bir çalışan, zamanla birçok yöneticinin altına alınır; sonunda performans değerlendirmesine tabi tutulur ve şirketten ayrılır.
    • Bu, büyük şirketlerde sık görülen yaygın bir durumdur ve böyle bir yapı nedeniyle büyük şirketlerde gerçekten büyük başarılar elde etmek çoğu zaman zordur.
  • Çalışanların kişisel bilgisayar kullanması hakkındaki görüş

    • Organizasyonun büyüklüğü ne olursa olsun, çalışanların şirket tarafından sağlanan bilgisayarları kullanması gerekir.
    • Bu yaklaşım, şirketin fikri mülkiyetini kontrol etmede ve iş ile kişisel zamanı ayırmada büyük avantaj sağlar; ayrıca maliyeti de çok yüksek değildir.
  • Kötü yöneticiler hakkındaki görüş

    • Kötü yöneticiler sektörümüz için zararlıdır, ancak birçok startup, kurucuların önceki işlerinde kötü yöneticilerle yaşadığı deneyimler sayesinde ortaya çıkmıştır.
    • Yazarın kendisi de teknik olmayan ve politik davranan kötü bir yöneticiyle karşılaştıktan sonra startup kurma motivasyonu kazanmıştır.
  • Konuma dayalı ücret konusundaki görüş değişimi

    • Konuma dayalı ücretin ayrımcı olduğunu düşünmekten, herkesin kendi bölgesinde uygun bir yaşam sürdürebileceği bir maaş almasının makul olduğu görüşüne geçilmiştir.
    • Daha yüksek ücret isteniyorsa taşınmak gerekir; taşınılmıyorsa bunun da bir nedeni vardır.
  • Ruby/Rails kullanımına dair görüş

    • Ruby, dil hızının önemli olmadığı varsayımıyla tasarlanmıştı; ancak bugün Node.js ve JVM’de, IO/ağ bekleme süreleri sırasında başka işleri yapabilen asenkron işlemeye dayalı programlama modelleri bulunuyor.
    • Ruby/Rails belirli durumlarda hâlâ faydalı olabilir, ancak zaman geçtikçe bakımı zorlaşabilir.
  • Global bir şirkette ücret politikası hakkındaki görüş

    • Amsterdam’daki bir geliştirici, Bay Area’daki bir geliştiriciyle aynı değeri üretiyorsa aynı ücret ödenmelidir.
    • Global bir şirket olarak diğer global şirketlerle rekabet edildiğinden, uzun vadede konumdan bağımsız olarak yeteneğe yarattığı değere karşılık gelen ücretin verilmesi önemlidir.
  • GitLab fiyat politikası hakkında soru

    • GitLab’in fiyatlandırma sayfasında konuma dayalı fiyatlandırmanın nasıl seçileceğine dair bir soru.
  • GitLab’in ölçeklenebilirliğinde yönetim sorunu

    • GitLab gelirinin büyük kısmını self-hosted GitLab Enterprise Edition’dan elde ederken, GitLab.com çok maliyetli olmasına rağmen daha az gelir getirir.
    • Şirketin gelir getiren kısımlara yatırım yapması mantıklıdır, ancak GitLab.com performansını artırmanın daha fazla müşteri çekebileceği ve daha güçlü bir itibar oluşturabileceği de hesaba katılmalıdır.
  • Şirketin büyümesi ve ilk çalışanların rolü hakkındaki görüş

    • Küçük bir şirkette iyi iş çıkaran herkes, şirket büyüdükten sonra da aynı şekilde başarılı olacak diye bir şey yoktur.
    • Başlangıçta kritik rol oynayan çalışanlara uygun karşılığın verilmesi ve onların kişisel gelişimini ya da şirketin büyümesini engellemeyecek şekilde sürecin yönetilmesi liderliğin sorumluluğudur.
    • İlk dönem katkı sağlayanların, hem değerlerini hem de ruh sağlıklarını aynı anda korumakta zorlandıkları için erken bir likidite olayını beklemeleri ya da büyük finansal kazançlardan vazgeçmeleri gibi durumlar yaşanabilir.
    • Kültür çatışmasını ve işten ayrılmaları en aza indirmek için hisse opsiyonlarının kullanım süresi ciddi biçimde uzatılmalı; kültürel uyumsuzluk ve ayrılma riskinin erken işaretlerini gösteren kişilerin yanına öncelikli olarak yedek roller alınmalı; ayrıca sorunu açıkça işaret eden ve uygun ekip ya da şirkete dair kaynaklar içeren empatik koçluk sağlanmalıdır.