My Authors
Read all threads
Trendyol Tech ' den yola çıkarak farklı konulara nasıl yaklaşıyoruz twitter elverdiğinde anlatmaya çalışayım. Siz de lütfen sorularınızla yönlendirin :)
Ekibin organizasyonunu mimariden ayırmıyoruz. Conway's law gibi. İyi mimariyi oluşturmak için öncelikle doğru organizasyon gerekiyor. Ekibin kendi iş akışında bağımlılıkları az olmalı, iç ahengi fazla olmalı. Low Coupling & High Cohesion
Ekiplerin son müşteriye ve business impact ' e yakın olacak şekilde Single Responsibility ve kafa yükünü azaltacak şekilde organize etmeye çalışıyoruz. Proje ekibi değil Product Domain ekipleri kuruyoruz.
Domain Driven Design Stratejik ve Taktik olarak önem verdiğimiz konu bu nedenle. Ekiplerin Business Domain leriyle aynı hizada olması, yaptığı işin etkisini data olarak görmesi, iyileştirmesi , sahiplenmesi ekibin motivasyonunu sağlıyor.
Agile değil Continuous Delivery odaklıyız. Her ekip 3 ana alanda metriklerini iyileştirmeye çalışıyor. Process, Business ve Tech. Process Continuous Delivery ile ilgili. 4 Key Metrics ' i takip edip iyileştiriyoruz her ekipte
Küçük ve fazla sayıda domain ekibimiz olduğu için rotasyon çok önemli. Bir kişi uzun süre aynı ekipte benzer işler yaptıysa rotasyona özendiriyoruz. Farklı domain farklı tech stack ' de çalışıp comfort zone ' dan çıkmasını istiyoruz. Teknik insanın en büyük düşmanı comf. zone
Ekipler farklı domain ' lere odaklı. Bağımsız hızlı hareket etmeleri için Microservices, Kendi db leri , infra ları çok önemli. Yetkinlik seviyesinin ekip içinde olması gerekiyor. Her ekip aynı zamanda okul.
Scale her sene 3-5x büyüdüğü için Tech metriklerimizde 50 ms üstü 1000 RPM request alan bir endpoint i iyileştirmemiz gerekir diyoruz. Yük 5x ' e de çıksa servislerin kendilerini bozmaması , scale edebilmeleri gerekiyor. Yüksek Scale teknik açıdan bizi sürekli iyiye götürüyor.
Test konusu tüm ekibin sorumluluğu. Otomasyon testlerini tüm ekibin sahiplenmesini bekliyoruz. Developer yazar, Tester test eder gibi bir ayrım mantıklı değil. Tüm ekip 4 key metrics'i iyileştirmek için ilerliyor.
Ekipler büyüdükçe küçük , odaklı, amacı net, yetkin ekiplere bölmeye devam ediyoruz. Aynı sprint ' de koşan İyi bir ekibin max 7-8 kişiden oluştuğunu düşünüyoruz.
Platform ekibimiz Domain ekiplerinin hızlı ve bağımsız hareket edebilmesi için K8S üstüne platformu geliştiriyor. Amaç domain ekiplerinin cognitive load ' unu azaltmak ve ortak problemleri çözmek. Platformu product olarak vermek.
Yeni adaylarla görüştüğümüzde en çok dikkat ettiğimiz kültüre uyum ve yaptığı işi tutkuyla yapması, meraklı olması. Yaşla senior olunmadığının farkındayız. Samimi, mütevazi, kafa dengi, tutkulu, kendini sürekli geliştiren, müşteri odaklı, data odaklı insanlar arıyoruz.
Ekipte hiyerarşiye inanmıyoruz. Senior Junior bizim için şöyle. Öğren- Uygula- Öğret - Liderlik et şeklinde gidiyor title dediğimiz aslında sorumlulukları ifade eden konu. Teknik konularda gerektiğinde deep dive edebilecek bilgiye sahip olması herkesin sorumluluğu.
Medium ' da fazlaca makale yazıyoruz. 200 ' e yaklaştı. Ekiplerin hedefleri de var bu konuda. Bu hedef öğrenme hedefi. Yazabilmek için öğrenmek gerekli. Yaptıklarımızı paylaşıp Türkiye ' de pozitif bi etki yaratmak istiyoruz. Öğrenmek ve paylaşmak.
Ekipler kendi tech stack lerini belli ölçüler içinde seçebiliyor. Kotlin, Java, C#, Scala, NodeJs, Go ... kullanılıyor. DB olarak en yaygın Couchbase kullanıyoruz. Microservices K8S üstüne koşuyor. Gitlab ' ı yaygınlaştırıyoruz CICD için.
Microservislerimizi Cloud + Datacenter larımıza deploy ediyoruz. Tüm servislerimizde amacımız farklı lokasyonlarda Trendyol platformunu mümkün/gerçekci olduğu kadar aktif aktif çalıştırmak. İstio ile canary deployment yapabilir hale geliyoruz.
İyi teknik insanları manager yaparak kaybetmek son istediğimiz şey. Lead sorumluluğuna gelen biri ister teknik liderlik isterse ekibe liderlik yolundan gidebiliyor. Lider olan insanların ana sorumluluğu ekip kültürü, motivasyonu, ekibiyle birlikte domainde etki yaratmak oluyor.
Trendyol scale ' i hızlı büyüdüğü için hazır teknolojiler ile çözemediğimiz, artık kendi araçlarımızı geliştirelim dediğimiz konular olmaya başladı. Bunları yapıp open source hale getirmek istiyoruz.
Clean Code, TDD, Patterns gibi konulara önem veriyoruz. Platform geliştirdiğimiz için yaptığımız iş yıllar geçse de maintain edilecek. Proje geliştirmiyoruz. Yapılan işler sürekli iterasyonlarla iyileştiriliyor, test ediyoruz, dataya bakıp ilerliyoruz.
Ekibimizde Product Manager ' ların rolü kritik. Dataya bakıp sürekli iyileştirme peşinde koşan , insiyatif sahibi bir rol. Business güdümünde gereksinimleri Development ' a getiren rol değil. Business ve Tech ayrımı Trendyol ' da yok. Tech is the business.
Her hafta Salı günü yaptığımız bi toplantı var. O haftanın Incident ' larının dibine inip ana nedeni ortadan kaldırmaya çalıştığımız.En iyi ekip,kriz durumlarında belli oluyor. Birbirini suçlamayıp tek ekip gibi blrleşip problemlere temelden çözüm bulduğunda. Neler atlattık:)
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Cenk Çivici

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!