
Transkript
Sihirde yaptığımıza göre yavaştan kaydı açabiliriz sanki değil mi?
Evet sanki. O zaman.
Açtık bile. Evet kaydı açtık.
Selam ekip programına hoş geldiniz.
Biz kaç program yaptıktan sonra kayıt açmayı öğreneceğiz acaba?
Evet ya çok zor bir şey. Aslında bir program girişi yazmıştım.
Selam ekip falan diye böyle program demeyecektim bana.
Ama neyse. Seninki de bir açılıştır.
Tamam olsun. Biz hala şey yapabiliriz.
Senin açılışını kurtarabiliriz.
Tamam. Ama belki bir cümle böyle fazlası yok.
Şöyle. Selam ekip. Bir haftadan sonra tekrar buradayız ve konuklarımız var.
Delivera ekibinden Önder Sönmez ve Bilal senin soyadın ne?
Tamam. Bilal, Diner, Ak Yıldız bizimle.
Ay Yıldız.
Ay Yıldız. O zaman tamam ben tekrar programı.
Bu şekilde açtık müzik programı.
Ama okey.
O zaman bize kendinizi tanıtabilirsiniz.
Gerçekten açtık mı? Başladık mı yani?
Bence evet. Bu arada bir şey böyle hani backgroundlarınızdan da bahsederseniz Önder ve Dilan ne kadar uzun zamandır çalışıyorsunuz, anca neler yaptınız gibi böyle kısaca bir giriş yapabilirseniz güzel olur.
Tamam. O ay yıldızı tekrarlamıyoruz değil mi?
Doğru o şaka değil yani. Tamam o zaman bir es verip başlıyoruz.
Olur mu? Olur.
Nasıl istersen. İstersen es vermeden başla.
Tamam. Merhabalar ben Önder.
Yaklaşık... İki buçuk yıldır Trendyol Teknoloji ekibinde görev alıyorum.
Trendyol Teknoloji delil domeyinde görev alıyorum aslında.
2008'den beri aslında mezun olduktan sonra çalışmaya başladım.
Karadeniz Teknik Üniversitesi'nden mezunum.
Mezun olduktan sonra İstanbul Teknik Üniversitesi'nde yüksek lisansla başlamıştım.
Bir iki buçuk yıl yurt dışında çalıştım.
Türkiye'ye döndükten sonra bir süre et ticari sektöründe başka bir firmada çalıştıktan sonra Trendyol'a geldim.
Benim aslında bahsedeceklerim kendimle ilgili bu kadar şimdilik.
Ben de Dilem'e söz vereyim.
Merhabalar, ben Dilem Güneray Yıldız.
İlkent Üniversitesi'nden mezun oldum.
Sonrasında da Gazi Üniversitesi'nde yüksek lisansa başladım.
Trendyol'da birinci ayımı doldurmuş bulunmaktayım.
Bunun öncesinde beş yıl kadar başka şirketlerde çalıştım.
Bilmediği bileceklerim bu kadar.
O zaman Dilem'e de hoş geldin diyoruz aramıza.
Hoş bulduk. Peki ikiniz de Delivery takımında çalışıyorsunuz.
Delivery takımı nedir, ne iş yapar, trende olan, hangi ekiplerle yakından çalışır, biraz daha domeniden bahsedebilir misiniz, neler yapıyorsunuz?
Tabii bizim Delivery tarafında aslında sorumluluk alanımızı kendimiz böyle bir beşe ayırıyoruz.
Yakın zamanda da bu sorumluluk alanlarımıza göre aslında ekipçe ikiye bölündük.
Sorumluluk alanlarımız aslında şunlar.
Birincisi sepet adımındayken sepetin kargo fiyatını hesaplayan bir algoritmamız var.
Bunun sorumluluğu bizde. Onun haricinde...
Teslimat noktası gönderileri yakın zamanda müşterilerimizin kullanımına açıldı.
Bu konunun sorumluluğu bizde.
Yani paketini ev adresinden ya da iş adresinin haricinde bir yerden bir teslimat noktasından alabiliyorsun.
Bu bir esnaf olabiliyor ya da bir lakır olabiliyor.
Bu projenin sorumluluğu bizim ekibimizde.
Onun haricinde biraz daha sepetten sonraki kısımlarda ise belirlenen bu paketin.
verilmiş olan siparişin hangi kargo firmasıyla taşınacağına karar veren bir dispatching algoritmamız var.
Bunun sorumluluğu bizde.
Onun haricinde kargo firmalarıyla olan entegrasyonlara biz ilgileniyoruz.
Ve tracking işlemi aslında bizim tarafımızdan yapılıyor.
Bu da işte bir paket müşteriye ulaşana kadar statüsünün sürekli olarak sorgulanması ve bununla ilgili aslında bir custom kargo tracking sayfasının hazırlanması diyebiliriz.
Logik de ayrı ekiplerden oluşuyor.
Aslında şöyle, shipping tarafı yani shipping dediğimiz kargo fiyatını hesaplama ve teslimat noktalarıyla PUDO takımı ilgileniyor.
PUDO ismini verdiğimiz takımımız, yeni kurulan takım burası.
Diğer dispatching, kargo entegrasyonları ve tracking işlemleriyle core delivery ekibimiz ilgileniyor.
Şeyi bir de söyleyebilirim diğer soruna cevap olarak.
Yakın çalıştığımız domenler ise yani herkesin yakın çalıştığı ortak bir domen var.
OMS domeni. Bizim en büyük yani zamanımızı beraber geçirdiğimiz ekiplerden bir tanesi o.
Diğeri Trendyol Express domeni.
Bir diğeri Checkout domeni aslında.
Onun haricinde de web, mobil web ve mobil ekipleriyle yakından çalışıyoruz.
Çalıştığımız birçok ekip daha var ama onlarla bu saydığım ekipler kadar yoğun çalışmıyoruz aslında.
Ben de aslında hangi ekiplerle yakın çalışıyorsunuz diyecektim.
Bizi yakın görmemeniz beni çok üzdü.
Biz de yakın çalışıyorduk.
Fırat sizi gerçekten yakın görüyoruz ama diğer ekiplerle karşılaştırdığımda aslında geçirdiğimiz zaman anlamında bunu söylemiştim.
Beraber yürüttüğümüz ortak projelerin yoğunluğu anlamında.
Yoksa tabii ki sizi de kendimize çok yakın görüyoruz.
Çok teşekkürler. Benim için de çok anlamlı.
Yakın zamanda ekibi böldüğünü söylediniz.
Bir kudo ekibi var bir de başka bir ekip var.
Ekip yapısı nasıl sizin tarafta?
Daha çok backend developer ağırlıklı mı?
Frontend tarafınız var mı?
Bunlarla alakalı. Tabii onu da şöyle açıklayayım.
Biz bölünmeden evvel 8 developer, 2 QA ve aslında 2 tane product owner'dan oluşuyordu takımımız.
Daha sonrasında ekipleri böldüğümüzde tam Yarı yarıya böldük diyebiliriz.
Yani CUDA ekibinde 4 developer, 1 QA ve 1 PIO bulunuyor.
Aynı şekilde Core Delivery ekibimizde de 4 developer, 1 QA ve 1 PIO bulunuyor.
Frontend projelerimizle ilgili de şöyle cevap verebilirim.
Yoğun olarak çok böyle geliştirme yaptığımız bir frontend projemiz bulunmuyor.
Ama iç taraftaki bizim sekitlerinin kullandığı bir delivery portal uygulamamız var.
Buradan işte bizim dispatching algoritmamız için.
domenimiz için veri girişinde bulunuyorlar.
Onun haricinde bir de dışarıya yani son kullanıcıya açık olan bir tracking sayfamız var.
Bunu da şu an yavaş yavaş aslında son kullanıcılara açıyoruz.
Şu an kullanıcıların %1'ini açık testlerini yapıyoruz.
Daha sonra yavaş yavaş bütün kullanıcılara açılacak.
Ara ara kargo sayfaları açılmıyor denilen kısım o zaman sizin kontrolünüzde.
Şöyle aslında biz şu anki yapımızda yani %99'luk kısımda Kargo takip linkine tıklandığında kargo firmalarının kargo takip sayfalarına yönlendiriyoruz.
İçeride bildirilen sorunlar da bizim sorumluluğumuzda vermiş gibi gözükse de aslında teknik olarak müdahale edemiyoruz bizim bu probleme.
Orada tek yapabildiğimiz şey bir aracı olarak kargo firmalarına haber vermek oluyor.
Tabii bununla ilgili bizim alemlerimiz de var tanımlamış olduğumuz.
Ama bazı durumlarda alemlerin arzünde gelen durumlarda biz bunu fark edemiyoruz.
Haber geliyor. Biz de bu durumda kargo firmalarına haber veriyoruz.
Aslında biraz da bu projeye başlamamızın nedeni bu sorunların önüne geçmekti.
Aynı zamanda işte daha böyle kullanıcı deneyimini iyileştirmek adına responsif bir tasarım vesaire de yapıldı orada.
Daha iyi bir müşteri deneyimi kazandırmak aslında.
Çok güzel ya bence.
Bizim de şeyde gösteriyoruz.
Biz de asistan tarafında işte kargo linklerini gösteriyoruz.
Sürekli böyle kargo firmalarının çeşitli sayfaları oluyor.
Hepsi birbirinden farklı. Böyle tek bir şey olunca çok güzel olacak bence.
Son kullanıcı deneyimi açısından.
Ben de şeyi sorayım direkt. Aslında sorumun muhatabı da belli ama onboarding stratejiniz nasıl?
Yeni birisinin ekibe başladığı zaman neden yaşıyor ilk bir ayında diyeyim ve topu direkt dileme atayım aslında.
Evet, ben işe başladığım ilk 15 gün içinde hem HR onboarding eğitimlerine katıldım.
Ayrıca ekip arkadaşlarımla sistemi öğrenebilmem adına peer olarak çalıştım.
Onboarding programının iş adaptasyonumu hızlandırdığını düşünüyorum.
Vadim ve ekip arkadaşlarım alışma sürecinde bana hep destek oldular.
Hala da yardımcı olmaya devam ediyorlar.
İlk gün Önder abinin de desteğiyle komitimi attım diyebilirim aslında.
Bunlara bak ediyor aslında ki söylenebilecek olarak.
İlk gün için bayağı iyiymiş.
Gayet iyi. Komitim çok ekstra herhalde.
Zaten hedef şey mi ya?
Olabildiğince hızlı onboard olmak ve...
en kısa sürede 2-5'te şey yapmak, destek olabilmek, komit atabilmek.
Bu açıdan bayağı şey olmuş, verilmiş.
Aslında sembolik bir komitti ama yetkilerim tam mı, her yere erişebiliyor muyum?
Bu süreçleri görebilmek için ilk komitimi attım evet, ilk.
Süper, güzel. Zor olmadı mı ya?
Böyle mut başlamak, normal başlamaktan her zaman daha korkutucu geliyor ya.
En azından bana geliyor. Sende böyle bir düşünce var mıydı ve böyle bir şey yaşadın mı?
Aslında remote başlamak benim için çok güzel bir şeydi.
Çünkü korona döneminde uzaktan çalışmayı ben veli nimet gibi gördüm açıkçası.
Hiçbir problem yaşamadım.
İyi ki de uzaktan başladım aslında şu süreçte onu söyleyebilirim.
Her şey yolunda gitti.
Her şey çok profesyonelce gitti aslında öyle söyleyeyim.
Ayrıca ekip arkadaşlarım da hep yardımcı ve destek olduğu için de zorlanmadım hiç.
Kasım eventlerinde başlamış mıydın?
Başlamamıştın sanırım. Yok.
1 Aralık itibariyle.
Evet. Tamam.
Asıl festivali kaçırmışsın sen.
Öyle oldu. Neyse seneye zaten başladık şimdiden hazırlıklara.
Önümüzdeki Kasım'da yine bir event daha geçireceğiz ve remote olacak.
Aslında bayağı şey de görmüş olduk.
Geçen sene iyiyken işte ofislerin testleri yapıyorduk.
böyle BF'den önce.
Ama şimdi baktığımızda hem yük testleri hem de event dönemi komple remote gerçekleşti ve sorun yaşamadık aslında.
Pratik olarak da bayağı şeymiş.
Kolay yapılabiliyormuş bu işlerde.
Onları da görmüş olduk. Evet evet.
Çalışmak çok iyi gerçekten.
Ofse gitmek güzeldi. Yani gecenin birinde yük testi için keyifli bir şeydi.
Ama yürütülmüş bir yandan baktığımda da çünkü uzaktan da yapabiliyormuşsun.
Böyle kalkıp meksel başına oturabiliyorsun o saatte.
Evet farklı bir deneyim oluyordu ya.
Yük testinden sonra normalde işte çorbaya falan giderdik ya bir şeyler yemeğe giderdik.
Böyle dağılmazdık gecenin bir yarısı.
Remote yaptığımız bu yük testinde de 2 ay önce Önder'le Kadıköy'de gecenin sabah 5'te buluşup çorba işlerimiz var.
Evet evet bayağı keyifli olmuştu ya.
O günleri iade edebildik restoranlar tekrar kapanmadan evvel.
Güzel olmuştu. Özlüyor insan ya yine de.
Peki ben şey sormak istiyorum.
Sizin tarafta birçok böyle karbon firmasıyla da şey var.
entegrasyon var. Oradan bir sürü de şey geliyor.
Ne denir? Statü geliyor.
Bunları tek bir potada eritmek için o kargo firmalarının satürlerin değişimlerini sürekli şey yapmaya başlıyorsun.
Kolekt etmeye başlıyorsun ve onları göstermen gerekiyor çünkü.
Orada böyle bunları unify edebileceği bir yapı var mı?
Hepsi eventle mi geliyor yoksa bir kollarla mı yapıyorsun?
Bunları yaparken hangi teknolojileri kullanıyorsun?
Biraz daha detaylara girelim mi?
Tabii bunlardan bahsediğim detaylı olarak bizim tarafta aslında statü sorgulama işlemleri iki yönlü ilerliyor.
Birincisi bizim kargoların web servislerine gidip statü sorguladığımız yapılar var.
Bir diğeri de kargo firmalarının bizim servislerimiz üzerinden statü bıraktığı yapılar var.
Bunların ikisinde de aslında benzer şekilde ilerliyoruz.
Biz ekip olarak yoğun bir şekilde RabbitMQ kullanıyoruz.
Her ne kadar yakın zamanda bu RabbitMQ'yu kullanmayı bırakacak olsak da.
Bu bütün işlemlerimizi aslında event ile yönetiyoruz.
Buradaki süreçten bahsedeyim.
Mesela bir kargo firmasında bir paketi oluşturduktan sonra biz bunun hemen statüsünü sorgulamaya başlıyoruz.
Yani bu paket ben bilgileri kargo firmasına geçtim ama transfere geçtim kargo firması tarafından diye.
Bununla ilgili bir event bırakıyoruz.
RabbitMQ'dan bu eventi bir konsumörümüz konsum ediyor ve sorgulama işlemini gerçekleştiriyor.
Eğer sorgulama sonucunda statü değişmediyse...
Bunu tekrardan bir defer adını verdiğimiz bir kuyruğa bırakıyor.
Burada da RabbitMQ'nun aslında özelliklerini bayağı iyi kullandığımızı düşünüyorum.
Bir TTL ile bırakıyor bu mesajı defer kuyruğuna bırakırken.
Bu süre sona erdiğinde yani atıyorum biz bir kargo firmasının tekrar sorgulamasını 2 saat sonra yapacaksak TTL'ini 2 saat olarak veriyoruz.
Süre sona erdiğinde mesaj kendi konsum edilen kuyruğuna tekrardan taşınıyor.
Ve konsum urbunu alarak tekrardan sorgulamaya başlıyor.
Bu şekilde bir yapımız var. Diğer kısımda da aslında kargo firmaları bize servisler üzerinden sıklıklar bırakıyor.
Bu noktada zaten biz statüyü sorgulamaya gitmediğimiz için ekstradan burada bir scheduled bir yapımız yok.
Bu şekilde özetleyebilirim.
Ya dış firmalarda çokça çalışıyorsunuz aslında.
Bu acaba şeye yansıyor mudur diye bir şey dürtüyor bana.
Onlara bağlı olduğunuz için bazı noktalarda çok hızlı canlıya çıkamıyor olabilirsiniz belki ama tabii en doğru cevap da sizdedir.
Siz ne kadar zamanda bir canlıya çıkabiliyorsunuz?
Yani aslında hani ben az evvel bahsederken de 5 tane sorumluluk alanımızdan bahsetmiştim ya.
Bunun aslında bir tanesinde bu problemi yaşıyoruz.
Yani kargo entegrasyon tarafında.
Ama bu canlıya çıkma süremizi çok etkilemiyor.
Biliyorsunuz hani Trendyol genelinde haftalık sprintler koşuyoruz.
Genelde almış olduğumuz işleri çok böyle uç örnekler yaşamazsak o sprint içerisinde çıkmış oluyoruz.
Bizim bu yapı için aslında geliştirdiğimiz bir yöntem var.
Hani Box Server kullanıyoruz.
bir kavga firmasının web servisiyle haberleşirken ondan alabileceğimiz cevapları bu mock server üzerinde simüle ediyoruz aslında.
Ben bu şekilde bir sorgulama yaptığımda bu mock server bana bu şekilde bir cevap dönsün diye.
Bu sayede test süreçlerimizi oldukça hızlı ilerletebiliyoruz.
Ama bazı durumlarda yine...
Şey yaşayabiliyoruz.
Yani atıyorum kargo firması işte bizim çalıştığımız servisi henüz layık etmemiş olabilir.
Bu durumlarda mesela birkaç hafta falan bekletmek durumunda kalıyoruz yani.
Çünkü haberleşeceğimiz bir servis olmuyor karşı tarafta.
Anladım abi. Test dediymişken ben de oradan hemen gireyim dedim.
Trendyol'da bir sürü ekip var ve her ekip aslında hani bir otonom.
İşte bütün süreci baştan sona yönetiyor ve işte geceleri de rahat uyuyabilmek için aslında test tarafına bayağı önem veriyoruz.
Siz o tarafta neler yapıyorsunuz?
TDD, Payer, Code Review taraflarında mesela o süreci biraz anlatabilir misin?
Tabii anlatayım onu da.
Biz aslında genel olarak takımca, yani şu şekilde genelde aslında bütün Trendyol'daki takımlar bu şekilde ilerliyor.
Unit test yazmadan hiçbir şekilde Color Quest ya da Merchant Quest açmıyoruz.
Yani o net. yapmış olduğumuz işlerle ilgili kesinlikle unit testleri yazıyoruz.
Integration testleri de aslında QA'ler yazıyor ama bu noktada da bizim biliyorsunuz hani yine Trendyol'da developerlar tarafından da integration testlerinin aslında yazılmasını öneriyoruz.
Bununla ilgili de aslında yavaş yavaş biz de geçişe başlayacağız.
Code review yine her taskta yapıyoruz.
Kodu yazmayan kişiler tarafından yapılmasını istiyoruz.
Mümkün olan bütün tasklarda payr olarak ilerlemeye çalışıyoruz.
Payr programming'e de önem veriyoruz ekipçe.
TDD'yi maalesef çok sık uygulayamıyoruz.
Bu da yapmak istediğimiz ama çok böyle hakkını veremediğimiz konulardan bir tanesi.
Ama bunu da işte birkaç tane ekip içerisinde sunumlar, lunch and learn'lar falan yaptık.
Ekibin bu konuyu işte daha çok sık uygulaması için beraberce aslında bunun üzerinde çabalıyoruz.
Peki Dilem senin daha önceki deneyimlerine karşılaştırınca neler farklıydı?
Bu Önder'in en son anlattığı geliştirme sürecinde, mühendislik yaklaşımında ne gibi avantajlar vardı?
Veya işte bunları da yapsak aslında iyi olur dediğin şeyler var mı?
Farklılıklar var mı? Eski şirketlerle kıyaslamamı istiyorsunuz herhalde değil mi?
Aynen aynen. Aslında şöyle test reçelerimiz yokmuş.
Onu fark ettim.
Yani ben hiç 5 yıl...
boyunca çalıştım ama hiç test uygulamadım.
Yapmadım ya da hiç şahit olmadım.
Test süreçlerimizin aslında çok eksik olduğunu fark ettim.
Bir de şey yani şunu gördüm.
Burada bir fikrin varsa bunu öneriyorsun ve bunun işte çeşitli POS çalışmaları yapılıyor ve eğer gerçekten bunun sisteme yararı varsa onu entegre etme fırsatını bulabiliyorsun.
Bu açıdan Trendyol'u ben çok rahat buluyorum.
Maalesef Bazı şirketler bunu sağlayamıyor.
O yüzden hem yeni fikirleri açık olması açısından hem de test süreçlerini güzel yönetmesinden dolayı aslında şu an benim için de hem öğreniyorum hem de deneyim kazanıyorum
gibi bir durum söz konusu.
Bilal sen Ankara'dan katılıyorsun değil mi?
Evet. Ankara'da ikamet ediyorsun.
Orada da bir ekip yapılanması var sanırım.
Evet. Güzel.
Peki şimdi hem işte...
Third party entegrasyonlar var.
Hem kendi sistemlerimiz var.
Bu sistemlerde özellikle böyle third party'ları az önce Fırat'ın verdiği örnekte gibi bir problem olduğunda yakalayabilmek için izlediğiniz, kullandığınız tool'lar var mı?
Logging altyapınız, APM tool'larınız, burada böyle yaptığınız işler neler?
Aslında Nivrelik'i aktif olarak kullanıyoruz.
Nivrelik üzerinden throughput, error rate metriklerine bakıyoruz.
Alarm mekanizmaları ile ilgili söyleyebileceğim şey grafanayı aktif olarak kullanıyoruz.
Alarmlarımızın büyük bir kısmı grafana üzerinde tanımlı.
Belirli metrikler kullanarak anomali durumlarında grafana üzerinden sinek kanallarımıza alarm gönderiyoruz.
Bu şekilde sorun olduğu zaman daha hızlı müdahale edebiliyoruz.
Bu noktada belki bana Önder abi biraz daha yardımcı olabilir diye düşünüyorum.
Tabii onurun verdiği...
Sormuş olduğu soruya direkt cevap olarak şunu söyleyebilirim.
Kargo firmalarının, atıyorum kargo takip sayfalarında bir problem olduğunda ya da web servisleriyle ilgili bir erişim problemi olduğu durumda haberdar olmak için aslında sistem ekipleri tarafından PRT'ci alarmları kurduruyoruz.
Bu PRT'ci alarmları da yine bize e-mail olarak hem de Slack kanallarımıza basılıyor.
Onun haricinde monitörün için dilemi bahsettiği gibi yine...
kullanıyoruz ve buradan da yine üretmiş olduğumuz alarmları kanallarımıza basıyoruz.
Onun haricinde yine monitoring için Kibana'da kullanıyoruz.
Weblerimizi Kibana'ya besleyip onun üzerinde visualize edip yine monitör işlemlerimizi gerçekleştiriyoruz.
Biz Kibana kullanıyoruz ama içeride Kibana kullanan ekipler de var.
Neden Kibana'ya geçtiniz? Aslında şöyle Fırat, biz log için kullanmıyoruz aslında şeyi, Kibana'yı.
Bizim burada kullanma nedenimizin çıkış noktası şuydu.
Biziniz ekipleri için bu Verileri daha görünür kılmak, daha böyle visualize etmek, onların ihtiyaçlarına yönelik raporlar oluşturmak adına aslında Kibana'ya başladık.
Burada işte paket bilgileriyle ilgili olan temel bilgileri Kibana'ya besledik.
Orada işte visualize ettiğimiz kısımlar oldu daha böyle rahat görebilsin, onlar da planlamalarında bu verileri kullanabilsinler diye.
Daha sonra baktık şey kullanışlı geldi baya bizim de hoşumuza giden kısımları oldu.
Orada kendimiz için de yine böyle monitoring dashboardları oluşturduk.
Onlar üzerinden ilerledik.
Ama yakın zamanda platform ekibinin desteğiyle sanırım loglama kısmında da yine ki bana kullanılacak Elasticsearch ile beraber diyebiliyorum.
Sence o fazla durmuyor ya.
Evet ya her gün her ekipten farklı bir teknoloji kullandığını duyuyorum.
Bir şey soracağım ben de. Bizim mesela ekip olarak zorlandığımız şeylerden birisi gün içerisinde deploy çıkamıyorduk bir projeye.
WebSocket kullandığı için bir connection kuruyor.
Dolayısıyla gün içerisinde böyle çıktığımız zaman o koneksiyonlar gidiyor potlar öldüğü için.
Orada bayağı bir uğraştık işte.
En büyük challenge'larımızdan birisi oydu.
Onu yakın zamanda çözdük.
Sizin ne var? Deliver ekibinin en büyük challenge'ı nedir?
Buna ben cevap vereyim isterseniz.
Yani şey yaşanmış olduğumuz challenge'lardan birinden bahsedeyim ben de.
Benimki biraz böyle teknik detaydan ziyade aslında böyle bir süreç gibi.
Biliyorsunuz Trendyol'un teknoloji ekibi.
Gerçi diğer ekiplerde de benzer durum yaşandı.
Baya önemli bir Black Friday'e hazırlık süreci geçirdik.
Bizim burada ekstradan aslında challenge yaşadığımız kısımlar şunlar oldu.
Eylül ayının başında Tier 2 adını verdiğimiz eventlerden birinde biz büyük sıkıntılar yaşadık.
Hem veri tabanında hem de RabbitMQ üzerinde.
Buradan çıkan çok fazla teknik işimiz oldu.
Black Friday'e kadar hem bu teknik işleri tamamlamak zorundaydık.
Hem de biliyorsunuz e-ticaret sektörünün en büyük badınleklerinden bir tanesi kavga kapasite problemleri.
Kargo kapasitelerini arttırmak adına da gerçekleştirdiğimiz ya da gerçekleştirmeye çalıştığımız o dönemde business projeleri vardı.
Bu iki kısımda aslında Black Friday'i rahat atlatmak adına bizim için önemli işlerdendi.
Geçirdiğimiz 2,5-3 aylık bir süre boyunca aslında Black Friday'e yönelik yoğun bir çalışma dönemimiz oldu.
Orada teknik olarak belirlemiş olduğumuz işlerden çok şeyler öğrendik.
Sürekli yük testleri yaptık.
Aynı zamanda business işlerini de yetiştirmeye çalıştık.
Bu açıdan aslında yakın zamanda böyle yaşadığımız iyi çalışlardan bir tanesi buydu.
Hem stres altında hem de yoğun dönem altında ekipçe böyle çalışıp kenetlenip güzel bir dönem geçirdik.
Black Friday'i de sorunsuz bir şekilde atlattık aslında.
Benim çok kısa bir merak ettiğim şey var.
Sipariş ve yaratım sürecinde herhangi bir şekilde bu third party kargo firmalarına bir entegrasyon var mı?
Şöyle cevap vereyim Onur.
Sadece yani third party demek çok doğru olmaz ama işte bizim ekiplerimizden bir tanesi olan Trendyol Express'e bir bağımlılığımız var.
Bir de bir kargo şirketine daha bağımlılığımız var.
Buradaki bağımlılık nedeni de şu.
Bunlar hızlı teslimat yaptıkları için anlık olarak bu teslimat adresini onların tarafında sorgulamamız gerekiyor.
Trendyol Express ya da diğer kargo firmasını.
atamak istediğimizde eğer onlar bu adrese evet ben gönderim yapıyorum derse biz o firmaya atayabiliyoruz.
Sadece ikisi için bir bağımlılığımız var aslında.
Şeyden buradaki tek sorgusundan sonra da kargo firması bulunduktan sonra en başta söylediğin ne kadar kargo fiilsi ne olacak?
Oradan sonra hesaplama yapıyorsun sanırım değil mi?
Öyle değil aslında Onur.
İlk kargo fiyatını biz daha sepetteyken hesaplıyoruz.
Ne desem hayır diyorsun. Aslında şöyle yani kargo fiyatını sepetteyken hesapladığımız için
o sipariş verilmeden önceki bir adım.
O yüzden orada kargo firmalarıyla ilgili herhangi bir entegrasyonumuz yok.
Sadece kendi içeride belirlemiş olduğumuz algoritmayla çalışıyor.
Benim az evvel bahsetmiş olduğum kısım sipariş verildikten hemen sonraki kısım.
orada kargo firmasını belirliyoruz.
O aşamada aslında iki kargo firması için adres sorgulama yapmamız gerekiyor.
Anladım anladım. Sizin Revit insansızlığını ben tavizasyonla görmüştüm ve başında aşağı kaynaşlar da güldü.
Çünkü şey yani yaşanabilecek en kötü değerden biri.
O imetleri tekrar üretmesi falan cidden çok zor bir durum.
Eminim de Retro'ya da çok madde çıkmıştır.
Keyif üzerinde sormayacağım ama Dilem'e şey soracağım.
Dilem, senin katıldığın bu bir ay zarfında böyle geçen sert bir retronuz oldu mu?
Aslında bir tane retro yapabildik şimdiye kadar.
Orada daha iyi neyi yapabiliriz kısmında teknik iş olarak açtığımız...
Taskları daha ayrıntılı analiz edebiliriz diye bir madde yazmıştık.
Neden bu iş gerekiyor, neler yapılmalı, neler yapılması gerekiyor şeklinde daha detay verebiliriz ve bu şekilde iş alan kişi birazcık daha ne yapacağını bilir diye bir madde
yazmıştık. Bundan öncesinde aslında alarmları ayrıştırarak kritik alarmları daha net görebileceğimiz bir yapıya geçmişiz.
Ben o süreçte yoktum.
Ondan bahsedebilirim sadece.
Bu yeteri kadar kanlı bir detay vermedi bence.
Önder o zaman sana şeyi söyleyeyim, terk geçen retro.
Ya ben de burada şey diyeyim, bizim böyle retrolarımız gerçekten çok kanlı geçmiyor.
Yani ekipteki arkadaşlar aslında birbirine karşı oldukça nazikler diyeyim.
Yoğun geçen retrolarımız oluyor ama genelde bu retrolar da zaten hani aslında...
Genel bakış açımız şu ya hani neyi iyi yaptık neleri daha iyi yapabiliriz.
Bu konuları çok tartışıyoruz.
İşte Dilem'in az önce son vermiş olduğu örnek aslında neydi?
İşte alemlerin kanallarını ayırdık.
Yani buradaki çıkış noktası şuydu aslında.
İşte arkadaşlarımızdan bir tanesi çıkıp şey dedi.
Ya biz bu kadar alem üretiyoruz ama bu alemleri takip edemiyoruz.
Çünkü sürekli bir kanala alemler basılıyor.
Yani ben bunların içerisinde neyin önemli olduğunu, neyin daha önemli olduğunu fark edemiyorum.
Nöbet... sırası bende olduğunda da bunlarla ilgili doğru aksiyonları alamıyorum gibi bir bildirimi olmuştu.
Bunun neticesinde de biz şey yaptık.
Slack kanallarını belli alem tiplerinde ayırmaya karar verdik.
Kritik, daha az kritik, orta kritik gibi.
Bunları da aslında ayırırken konu olarak, konu konu aslında ayırdık.
Yani atıyorum işte kargo firmalarıyla ilgili bu statüleri sorgularken eğer ben bir kargo firmasında işte hata aldığım % son 1 saat içerisinde %300 olmuşsa atıyorum
bir kanala alem basıyor.
Kueri aslında çok kritik bir alem değil.
Ben onu o saat esnasında sorgulamadım ama 2 saat sonra sorguladım ve cevap alabilirsem bu bir çözüm oluyor.
Ama atıyorum ben eğer gönderiyi zamanında kendi tarafımda oluşturamadıysam sipariş verildikten sonra bu kritik bir alem.
Çünkü bu gönderi oluşmadığı süre zarfında tedarikçilerin gönderiyle ilgili bilgiyi almaları mümkün olmuyor.
Bununla edenden mesela bu kanalları daha farklı yerlere konumlandırmıştık.
Bu tarzda aslında konularımız geçiyor.
Benim de hatırladığım belirgin son konulardan bir tanesi buydu.
Ama öyle çok böyle kanlı geçmiyor retrolarımız.
Anladığım kadarıyla bayağı böyle farklı farklı metrikleri takip ediyorsunuz aslında.
Bizde de bayağı böyle takip ettiğimiz metrikler var.
Aynı problemi biz de yaşıyoruz bu arada.
Yani çok fazla alert geliyor ve o alertler artık bir süre sonra şeye başlıyor.
Körlük yaratmaya başlıyor.
Biz de birkaç böyle Retro'dur onu konuşuyoruz ne yapsak vesaire falan diye.
Şimdi baya böyle şeyleri ilk önce aldık işte.
Logları bir inceleyip böyle gereksiz olduğunu düşündüğümüz error alertlerini falan kaldırdık.
Ama böyle farklı kanallara ayırmak da gayet mantıklıymış aslında.
Bir sonraki Retro'da ben onu direkt dile getirip belki ekip olarak uygulayabiliriz.
Şeyi soracağım ben. Yukarı hani takip ettiğiniz metrik var.
Büyük ihtimalle yine yani kesin oluyordur.
Canlı sitemde de...
Patladığınız durumlar oluyordur muhakkak.
Son ne zaman patladınız ve bunun etkisi ne oldu?
Nasıl bir sonunda aksiyon aldınız?
Bu soruya Dilem cevap versin diyeceğim ama Dilem sen geldikten sonra bir canlı ortamda incident yaşamış mıydık?
Çok hatırlayamadım açıkçası.
Yaşamadık diye tahmin ediyorum.
Tamam. Biraz daha böyle geriye doğru gideyim.
Aslında ne zaman yaşadık?
Yine bu Eylül ayındaki işte başındaki durumdan bahsetmiştim.
Biraz onunla ilgili isterseniz detaylı bilgi vereyim.
Orada yaşadığımız durumlardan bir tanesi şuydu aslında.
İki tane durum vardı.
Bir tanesi veri tabanına yazamıyorduk.
Yani bildiğiniz veri tabanı ayaktaydı ama veri tabanına paket bilgilerini yazamıyorduk.
Bu durumda da işte az önce bilgisini verdiğim işte sellerların bu...
paketlerden aslında haberdar olma süreci aksıyordu.
Burayla ilgili tabii ki notlar çıkardık kendimiz.
Hani neden bu durumu daha önce fark edemedik?
Aslında sorundan hemen kısa sürede haberdar olduk.
Burayla ilgili kurmuş olduğumuz alarm var.
Örneğin işte son bir dakika içerisinde belli bir trash olduğun altında paket oluşuyorsa karon veri tabanında bununla ilgili alarm üretiyoruz.
Ama veri tabanına erişimimiz kesildiği için bu alarm da gelmedi haliyle.
Ama önemli bir konu olduğu için ve event zamanı olduğu için zaten buraları biz sürekli izliyorduk.
Bu sayede kısa sürede haberimiz oldu.
Müdahaleyi tabii ki DBA ekibi yaptı.
Biz sonrasında şu notu çıkardık kendimiz.
Sürekli yük testi koşuyoruz aslında buraları neden fark edemedik diye.
Orada atladığımız nokta biraz çoğalmıştı.
Yani siz de önden.
Test gitti galiba.
Bağlantı mı gitti? O zaman ne olmuştu?
Sence ne olurdu?
Şirin'in kaldığı yerden.
Ekim'i sen daha iyi tanıştın.
Sence ne olmuş olabilir?
Düştüm değil mi abiler? Tamam şimdi.
Bir anda pat diye zoom kapandı.
Bir esferik devam edeyim.
Nasıl devam edeceğim bilmiyorum ama.
Devam et burayı hiç kesmeyeceksin.
En son şöyle olmuştu dedin galiba.
Olmuştu. Şöyle olmuştu.
Süper. sistemin tamamı yük altındayken davranışlar farklı oluyordu.
Bu yüzden aslında biz yük testlerimizi daha gerçeğe yakın simüle etmeye başladık.
Overaltık testlerde daha çok böyle bizim zorlayacak test kezleri oluşturduk.
Bu sayede aslında Eylül ayından Kasım ayına kadar olan hazırlık sürecini daha böyle iyi hazırlandık ve Black Friday'de aynı sorunları tekrar yaşamadık diyebilirim.
Ellerinize sağlık. Az önce gidince acaba dedim şarkı söylemek için mi numara yaptı.
Şarkıdan mı kaçıyor diye.
Yok abi onun programı sonunda umarım güzel bir şarkı dinleteceğiz size.
Uzun zaman. Biz geldiğiniz için çok teşekkür ederiz.
Dilen ve Önder. Evet çok güzel bir yayın oldu.
Teşekkürler. Biz teşekkür ederiz bizi davet ettiğiniz için.
Teşekkür ederiz. Şimdi galiba az polis.
Evet beklediğimiz an.
Aynen bu kötülüğü ben kimseye yapmayayım.
O yüzden böyle ekibimizle Bu konularla ilgili kendi çalışmaları olan ve hepimizden daha iyi şarkı söyleyen bir arkadaşımız var.
Hakan Eröstekin.
Müsaadenizle onu davet edeceğimiz zaman.
Ağabey. Gerçekten çok profesyonel çalışılmış.
Böyle bir prodüksiyon görmedim ben daha önce.
Bakalım. O zaman Hakan da geldi.
Hoş geldin Hakan. Selamlar.
Hoş bulduk. Nasılsınız? İyidir.
Sağ olun. Şu an yeriniz nasıl?
Gerçekten inanılmaz. Takım olarak acayip profesyonel hazırlanmışsınız.
Hakan yayınımıza bağlandı ve şarkısı okuyup gidecek.
Estağfurullah. Bir sürprize yapalım dedik.
Dilim döndüğünce aslında. O zaman mikrofon sende.
Çok teşekkürler. Herkese tekrardan selam.
Tarkan'ın Unutmamalı şarkısını söylemiştim takımla birlikte.
Yine onu söylemek istiyorum.
Unuttum dediler.
Hiç sevmedim.
dediler gücendim ya yalanmış dediler bir anlıkmış dediler
kırıldım aldatıyor dediler aldırmıyor yıkıldım
ya deli gibi yürekten sevmeliyim Uğruna dünyaları vermeli,
incitmemeli.
Sevenleri, değerlerini deli gibi yürekten sevmeli.
Uğruna dünyaları vermeli, incitmemeli.
Sevenleri, değerlerini bilmeli.
Unutmamalı.
O güzel günleri, anılarla günülleri boş tutmadım.
Alçabilmedi, hatırlamadı, sevgiyle anmadım.
Ümitlerle yorumları boş tutmadım, ayırmamalıydım.
Kimse gibi bir şey yapmamıştı.
Çok teşekkür ediyoruz. Çok teşekkürler.
Ben teşekkür ederim dinlediğiniz için.
Ağzına sağlık arkadaşlar.
Teşekkürler. Yani resmen böyle programda bir easter egg gibi yaptığınız saçma sapan bir şakayla sonunda gerçekten profesyonel ekiplerden 5'er kişi gibi topladığınız bir programı yapmıştık.
Konsepti değiştirelim.
Bu arada yanlış anlaşılma olmasın.
Hakan gerçekten bizim takımımızda backend developer olarak çalışıyor.
Dışarıdan birini getirmedik yani.
O zaman hepinize, üçünüze de çok teşekkürler.
Dilem Hakan Önder. Hep beraber yayını kapatalım.
Eklemek istediğiniz son böyle şeyler varsa onları da alabiliriz.
Ben herkese iyi seneler diyeyim.
Şu an işte 2020'nin son günlerindeyiz aslında.
Umarım 2021 yılı sağlıklı, saatli, koronavirüsten uzak geçirebileceğimiz, birbirimizi daha sık görebildiğimiz bir yıl olur diyeyim.
Evet, bak bu yayın büyük ihtimal 2021'in ilk programı olacak.
O zaman dinleyicilerimize iyi seneler, kaliteli, clean kodlar.
Kaliteli clean kod.
İyi akşamlar.
İyi akşamlar.
İyi akşamlar.
Hoşçakalın. İyi günler.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
