
Transkript
Selam ekip.
Bu hafta yine yeni bir ekiple karşınızda olacağız.
Genelde programı böyle açmıyoruz ama Barış ve Onur hoş geldiniz.
Nasılsınız? Merhaba.
Merhabalar. Merhabalar.
Selamlar. Hoş bulduk.
Siz nasılsınız? İyiyim.
Teşekkür ederim. Bu hafta sihirsiz başladık.
Evet. Sihir. Neyizsiz başladık?
Sihirsiz. Ha evet.
Doğru. Bak ben unutmuştum ya.
Kapanışta yaparsın belki.
Evet olabilir. podcast kapanışını görsen bir şey olabilir demek istiyorum.
Bu hafta Sandal Express yani içeride bilinen ismiyle her meslekibinden Yasemin Kapçı ve Şeyma Çakmak var.
Hoş geldiniz arkadaşlar. Biraz kendinizden bahsedebilir misiniz?
Hoş bulduk, merhaba. Ben önden tanıtayım kendimi.
İsmim Şeyma Çakmak, İTÜ Bilgisayar Mühendisliği mezunuyum.
Yaklaşık 9 senedir de işte sektörde çalışıyorum.
1,5 sene oldu Trendyol'a başlayalı.
Developer olarak çalışıyorum Trendyol'da.
Yasemin'e devredebilirim burada.
Merhabalar, ben de Yasemin.
Ben de başlayalı yaklaşık 1,5 yıl oldu.
Ekipte PM olarak görev alıyorum.
Genel olarak şu an böyle.
Hoş geldiniz tekrar. Peki çalıştığınız tekstiyi de kısaltıyoruz kendi içimizde.
Muhtemelen bu konuşma esnasında da bayağı bir tekst diyeceğiz.
Hermes, Trendyol Express dışında.
Zaten Trendyol Express'i çok fazla söylersek dilimizin döneceğini çok düşünmüyorum ben.
Tekstiyi bize bir anlatabilir misiniz?
Tekst domeninde neler dönüyor, neler yapıyorsunuz?
Ve nasıl bir takım yapısıyla bu yapılıyor?
Biraz bu detayları verebilir misiniz?
Tabii. Aslında Trendyol Express şu an Trendyol'un paketlerini taşıyan bir kargo firması.
Diğer kargo firmalarından onu ayıran en büyük özelliği mutlaka ki iki kere müşterinin evine gitmek zorunda oluşu ve kuryelerin bireysel şirketlerinin oluşu.
Bu da şu anlama geliyor.
Bizde aslında kuryelerin standart bir kazandığı hak ediş olmuyor.
Ne kadar paket dağıtırlarsa.
O kadar da para kazanıyorlar.
Bu da bize hem kaliteyi hem de hızı arttırıyor.
Domain içerisinde şöyle düşünebilirsiniz.
Trendyodex'de sizin kendi müşteri hizmetlerinden tutun da paket içine kadar yani bu kurye hesaplarına kadar tüm parçaları yaptığı aslında kendi bir product'ı var.
Biz kendi içimizde ekip yapısında aslında bu product'lara göre bölüyoruz.
Tedarikçilerden ya da depodan aldığımız paketleri aktarmalara götürüyoruz.
Aktarmalardan şubelere, şubelerden de müşterilerimize çıkarıyoruz.
O yüzden ekip yapısı da biraz daha bunları anlatıyor.
İşte tedarikçiden aktarmaya kadar gelen süre first mile.
Aktarma kısmına middle mile diyoruz kendi içimizde.
Müşteriye giden taraf şube tarafına da last mile diyoruz.
Genel olarak böyle bahsedebiliriz.
Bir de işte support takımlarımız var.
Onlar da müşteri deneyimi, finans ekibi gibi takımlar.
Dört takımdan oluşuyoruz diyebilirim.
Peki şeyi nasıl yapıyorsunuz?
Şimdi benim çoğunlukla hem kendi arkadaşlarımla gördüğüm hem de böyle işte internetten gördüğüm kadarıyla.
Trendyol siparişlerinde tekstil sipariş geldiğinde insanlar daha mutlu oluyor.
Daha iyi bir hizmet kalitesi aldıklarını söylüyorlar.
Bu teknik bir soru değil ama siz burada Trendyol Express kaliteyi nasıl sağlıyor?
Çünkü dışarıda benim bir anladığım kadarıyla aracım varsa kayıt olup görüyor olabiliyorum sistemin üzerinde.
Doğru ama burada aslında onur şeyleri de kontrol ediyoruz.
Gelen arkadaşların belirli sınavlardan geçmesi gerekiyor.
Direkt kurye olarak alınmıyorlar.
Bu aşamalardan sonra da aslında her paketin tahmini teslim tarihini hesapladığımız için olabildiğince büyümeye çalışıyoruz.
Her mahalleye şube açmaya kadar gitmeyi planlıyoruz.
Şu an ilçe bazlı tüm şubelerimiz.
Daha da büyütmeye çalışıyoruz.
Burada da işte tahmini teslim tarihlerine göre önceliklendirmeler yapıyoruz kendi içimizde de.
İstanbul'da zaten şu an %90'ı coverluyoruz.
24 saat içinde teslim kısmında.
Burada hem işte kuryelerin bu bilinçli olması çok önemli.
Hem de bize gerekli desteği vermeye çalışıyoruz.
Ciddi bir onboarding süreci de var.
Evet. Peki Trendyol'da birçok ekip aslında birbiriyle yakın çalıştığı olabiliyor.
Siz de aslında tekst olarak birçok firmayla, ekiple yakın çalışıyorsunuzdur bir ihtimalle.
Biraz onlardan bahsedelim değil mi?
Hangi ekiplerle yakın çalışıyorsunuz?
Ben biraz bahsedeyim.
Öncelikle delivery ekibiyle yakın bir şekilde çalışıyoruz.
Çünkü hani paketlerin hangi kargo firması tarafından dağıtılacağını aslında en önde karar veren ekip orası.
Orada bir iletişim noktamız var.
Onun dışında... Yine ayrıştırma merkezlerimiz var.
Gönderileri çok daha hızlı bir şekilde müşteriye iletebilmek, doğru bir şekilde ayrıştırabilmek, doğru noktaları ulaştırabilmek için otomatize edilmiş süreçler var orada.
Depodaki bu ayrıştırma işlemlerini yürüten bir ghost ekibimiz var.
Onlarla yine entegrasyon...
noktalarımız var. Paketlerin işte ayrıştırma merkezinde mi, nerede vesaire o bilgilendirmeleri aldığımız.
Onun dışında tabii müşteri deneyimi ekibi var.
Müşteri deneyimi ekibinden direkt TEX ile ilgili olan problemler bizim tarafa geliyor.
Yine bizim TEX çatısı altında, Trendyol Express çatısı altında da yine bu müşteri deneyimiyle ilgili işlemleri yaptığımız işte portallerimiz ve o işlere bakan bir ekip var.
Oraya müşteri deneyiminden Oraya geliyor problemler orada çözümlenip tekrar gerekirse şubelerle iletişim kuruluyor.
Gerekirse işte kuryeyle iletişim kuruluyor.
Çözümlendikten sonra da yine oraya bilgilendirme sağlanıyor.
Bir de yakın zamanda ayrılan bir ekip var yine.
PUDO dediğimiz işte aslında teslimat noktaları müşteriye teslim etmenin dışında bir de artık biliyorsunuz hani lakırlara bırakmaya başladık gönderileri.
Artı belli işte esnaf modelimiz var.
Belli mahallelerdeki belli esnaflarla çalışıyoruz.
Paketleri oraya... müşteriler gidip oradan alıyor.
Trendyol Express olarak da yine biz bu modelle çalışmaya başladık.
Trendyol Express kuryeleri bu teslimat noktalarına gidip paketleri bırakıyorlar.
Müşteriler gelip oradan alıyor.
Bu işlemler için de yine Puda ekibiyle yakın bir şekilde çalışıyoruz.
Sadece Trendyol teslimatlarını taşıyoruz değil mi TEX'te?
Evet, Trendyol paketlerini taşıyoruz sadece.
TEX'in kullanılacağına nerede karar veriliyor peki?
Aslında hani delivery ekibinin belli şeyleri var.
Hani onlar da belki bahsetmişlerdir daha önce.
Limitleri var, dağıtım işte bölgeleri var vesaire.
Ama hani ben bizim tarafındaki kısmından bahsedeyim.
Delivery ekibi text bu paketi bu bölgeye dağıtabilir mi diye adresle geldiğinde aslında biz bir adres çözümleme işlemi yapıyoruz.
İşte burada hani Google Maps, Yandex gibi belli adres çözümleme işlemini sağlayan servislerle çalışıyoruz.
Ve bizim hani dağıtım bölgelerini belirlediğimiz bir sistemiz var.
Şu mahallelerde. dağıtırız.
Şu il, ilçe, mahallelere dağıtırız diyeyim daha doğrusu.
Maplediğimiz bir sistemimiz var.
İlk önce adresi çözümlüyoruz.
Sonra gelip bakıyoruz bu aslında bizim dağıtım alanımızın içerisinde mi değil mi?
Ona göre de Deliver ekibine bilgilendiriyoruz.
Evet biz bu paketi dağıtabiliyoruz.
Bize yönlendirme yapabilirsiniz gibi.
Süper. Aslında Deliver ekibi doğru.
Sen konuşurken fark ettim.
Bundan bahsetmişti. Buradan da selam.
İki podcastımızın yedinci bölümüne atıkta bulunalım.
Devre ekibine konuk etmiştik.
Dilem, Güner, Ayyıldız ve Önder Sönmez konuk olmuştu.
Topu bırakıyorum. Güzel hatırlatma.
Ben de şeyi merak ediyorum.
Biraz böyle ekip yapısından bahsedebilir misiniz?
Kaç kişisiniz? Ekipteki insanların rolleri neler?
Aslında şu an ekip biraz kalabalık.
Az önce söylediğim gibi 4 tane ekip var.
3 ekip liderimiz var.
26 developer var bu 4 ekipte.
3 piyemiz var, 3 piyemiz var.
Bir de tabii ki sahadan hem şubelerden hem kuryelerden gün içi operasyonun aksamaması için aramızdaki bazı arkadaşlar birebir direkt sahaya support veriyorlar gün içinde.
4 kişinin de bu şekilde çalışıyor.
Şu an yaklaşık 45 kişi olduk.
Aslında bayağı büyüdük. Bir yandan böyle devam ediyor.
Yakında da zaten yeni ekiplere bölüneceğiz.
Bayağı büyümüş ekip.
Bayağı. Ofisteyken en son.
Evet. Muhtemelen zaten remote'dan sonra eski yerlerimizi de bulamayacağız.
Giderek trend yoldaki bütün ekipler çok büyüdüğü için yer bulma konusunda da sorunlar yaşanacak.
Peki bu süreçte siz onboarding bayağı yeni arkadaş katılmış aramıza.
Burada onboarding'de yaptığınız farklı bir şey var mı?
Tip arkadaşlarınızı onboard ederken neler yapıyorsunuz?
Ne gibi süreçlerden geçiyorlar?
Seyman sen gidecek misin? Aynen.
Tamam ben bahsedeyim.
Yani yeni bir arkadaş başlığında zaten tren yolu genelinde izlenen bir body sistemi var, bir yöntem var.
Biz de aynı şekilde ilk ekipten birisini arkadaşlık etmesi için bu ilk dönemde görev veriyoruz.
O arkadaşımız aslında bütün bu onboarding sürecinde yapılması gerekenleri yapmaya ve takip etmeye çalışıyor.
İlk tabii ki ekiple tanıştırarak başlıyoruz.
Arkasından da hani domain...
Anlamında neler yapıyoruz, nerelere dokunuyoruz, hangi ekiplerle çalışıyoruz, bunlardan bahsediyoruz, aktarımını yapıyoruz.
Yasemin genelde sağ olsun bu konuda yardımcı oluyor, detaylı bir şekilde domeyini anlatıyor.
Onun dışında arkasından tabii hani developer ve köyler için biraz böyle mimari yapıyı anlatıyoruz, projeleri anlatıyoruz.
İşte kullandığımız serviste yazdığımız servisleri, hangi işte noktalara dokunduk, neler yazdık, neler yaptık onları bir aktarıyoruz.
Zaten şey detaylı bütün bunları anlattığımız bir wiki sayfamız da var.
Hani dokümente etmeye çalışıyoruz ki takıldığı noktada da gidip geri döndüğünde bulabilsin aradığı bilgileri.
Arkasından da aslında yine developerlar için söylüyorum biraz developer ve QA'ler için payroll olarak devam ediyoruz.
Yani direkt ilk geldiği haftadan bir arkadaşla çalışmaya başlıyor, oturuyor, kod yazıyor.
Biraz böyle ısındırarak devamında hızlı bir giriş yapmış oluyor işlere.
Aslında burada şey var, şeyi bekleyebiliriz belki.
Pandemiden önce hani takım olarak biraz sahayla yakın çalıştığımız için product'ı benimsemek için sahadaki operasyonu anlamak da çok önemli.
O yüzden onboarding aşamasında ekiba kasılan tüm arkadaşları hem çube operasyonu hem işte aktarmada bu tüm süreçleri görmesi için bir gün çalıştırıyorduk daha da.
Onu da etkisini görüyorduk.
Hani gözlerinde biraz canlanıyordu.
Belki onu ekleyebiliriz.
Aynen. Geçen programda da konuşmuştuk.
Biz de aslında ilk onboarding'e gittiğimizde depoda çalışmıştık.
Ve depodaki süreci gördükten sonra oradaki işlerin nasıl ilerlediğini çok daha iyi anlamıştık.
O çok güzel pratik. Pandemi sonrası da döneceğimiz bir pratiğe benziyor.
Trendol içinde çok fazla teknoloji kullanılıyor.
Siz hangilerini seçtiniz?
Ve bunları neden seçtiniz?
Şöyle anlatayım.
İlk kullandığımız programlama dillerinden bahsederek başlayayım.
Java ve Golang ile yazıyoruz servislerimizi.
Aslında ben geldiğimde Go ile yazılmış bir servisimiz yoktu.
Ekibin know-how da Java yönündeydi.
Dolayısıyla hani öyle yeni eklenen servisler de Java ile yazılıyordu.
Ama sonra hani biraz böyle performans sıkıntısı olabileceğini düşündüğümüz servisler için Go'yu da deneyimlemek istedik.
Daha böyle kolay scale edebilecek servisleri, gerektiren servisler için diyeyim daha doğrusu.
Go ile de yazmaya başladık.
Onun dışında Frontend tarafında...
İşte React framework'ünü kullanıyoruz.
Yeni eklediğimiz portaller var mesela bu senenin ortalarından sonra eklenen.
Onları da yine React ile yazıyoruz.
Onun dışında bahsedebileceğim, yani Message Broker sistem olarak Rabbit kullanıyorduk ama artık yavaştan bir Kafka'ya doğru geçiş yapmaya başladık.
Bu multi-dc konuları vesaire kapsamında hani daha kolay olacağını düşünerek.
Database olarak PostgreSQL.
Kullanıyorduk. Onun dışında yeni eklenen servislerimizde Couchbase'i de kullanmaya başladık aktif bir şekilde.
Yani aslında orada biraz sistemin ihtiyacına göre de karar veriyoruz.
Aklıma gelenler bunlar.
Yine ekleyeceğimiz bir şey olursa şey yapabilirsin.
Daha önce galiba MultiDC'yi konuşmadık.
MultiDC nedir? Aslında bu geçmişte yaşadığımız belki sorunlardan da böyle giderek düşünebiliriz.
Yani multi data center aslında.
Bir data center ile çalıştığımız zaman hepimiz biliyoruz orada bir problem olduğunda.
Bütün sistemde kesinti yaşıyoruz.
Biz bunu trend yolu genelinde olmasını istemediğimiz için birden fazla data center'da hiçbir zaman kayıp vermeden aslında kesintiye yol açmadan çalışabilecek bir sistem oluşturmaya çalışıyoruz.
Rabbit'ten mesela Kafka'ya geçiyoruz diye bahsetmiştim.
Bunun bir sebebi de farklı data center'larda çalışma olayını Rabbit'te çok yapamadığımız için artık Kafka'ya geçiş yapıyoruz ki bir problem olduğunda diğer data center'ı aktif hale getirebilelim.
Aslında kısaca söyleyecek olursak bu şekilde açıklayabiliriz.
Birazdan şeyden bahsedebilir misiniz?
Bir kodun canlıya alım sürecinde neler yaşıyorsunuz?
Oradaki böyle life cycle'dan bahsedebilir misiniz?
Test süreçleri nasıl işletiyorsunuz?
Ya da şu kod review vesaire gibi şeyler sizde nasıl oluyor?
Şöyle başlayabilirim orada da hani biz trend-based development yapıyoruz.
Aslında hani yaz gün içerisinde yazdığımız her kod canlıya çıkabilecek kalitede olmasını bekliyoruz dolayısıyla.
Hani mevcut sistemimizi etkileyebilecek şeyler varsa o noktada da feature toggle'ları eklemeye çalışıyoruz.
Dolayısıyla hani ilk sahamında bir problem oldu işte hotfix çıkılacak o main branch'den çıkabiliyor durumda oluyor.
Unit testlerimizi mutlaka yazmaya çalışıyoruz.
Hani TDD yapıyoruz diyemeyeceğim.
Maalesef her zaman böyle yapılmıyor ama arkasından mutlaka unit testlerini yazıp kodun kalitesini üst seviyede tutmaya çalışıyoruz.
Onun dışında zaten hani test otomasyonunda QA arkadaşlar yazmaya çalışıyorlar.
Manuel test yaptığımız noktalar da oluyor ama bu işte manuel süreçleri azaltmak için otomasyonunu da ekliyorlar ki sürekli çalıştırabilelim bu otomasyonu ve kodun düzgün bir şekilde çıktığından emin olalım.
Pair programlamı yapıyoruz.
Mutlaka iki kişi birlikte çalışıyor.
Hani çok böyle nadir tek kişinin bir işi yaptığı çıktığı oluyor.
Bu da biraz aslında şeyi arttırıyor.
Production'a çıktığımız kodun düzgün bir şekilde çıktığını, kod kalitesinin iyi olduğunu biraz daha garanti altına almış oluyoruz.
Her hafta kod review yapıyoruz.
Pair programming yapıyoruz ama onun haricinde de yapılan işlerin üzerinden bütün ekipçe de geçiyoruz.
Dolayısıyla gözden kaçan bir şey varsa o noktada da biraz ortaya çıkmış oluyor.
O zaman continuous delivery yapıyorsunuz diye anladım.
Aynen evet hani gün içerisinde hani birden fazla kez çok rahat bir şekilde deployment yapabiliyoruz.
O konuda çok şey endişesi taşımıyoruz.
Yani acaba çıkmaması gereken bir şey var mıdır demiyoruz.
Çünkü feature taggılarımız var zaten kapalı olduğunu biliyoruz.
Dolayısıyla birden fazla kez yapabiliyoruz deployment.
Muazzam yani test tarafında o piramitte çok ciddi bir olgunlaşma gerektiriyor böyle bir şey yapabilmek.
Trunk-based, all-out, continuous delivery, ilk direkt projeleri bu şekilde mi başladınız?
İntegration testlerini yazarak, TBD yaparak başladınız yoksa bir dönüşüm mü geçirdiniz?
Geçirdiyseniz bunu nasıl yönettiniz, ne kadar sürede geçtiniz continuous delivery'e bunu merak ettim.
Biz de benzer bir süreçteyiz de şu an.
Aslında en başta bu şekilde değildi.
Ben yeni çalışmaya başladığımda ekipte biraz daha kontrolü giden bir yapı vardı.
Daha böyle branch'ler üzerinden ilerleyen bir yapı vardı.
Ama daha hızlı, daha atik bir şekilde deployment yapabilmek için trunk-based'e geçmemiz gerektiğini konuşuyorduk zaten.
Bu noktada aslında ilk eklediğimiz şey şu oldu.
Feature toggle'ları ekleyelim.
Ekipçe bunları nasıl kullanacağız?
Mevcut kodu etkilemeden yeni yaptığımız geliştirmeleri nasıl yapacağız?
Bu konuda... Yani en çok vakit ve efor harcadığımız kısım bu oldu sanırım.
Ekip biraz bunu uyum sağladıktan sonra zaten böyle unit testlerimiz vardı.
Integration testlerimizi yazıyorduk.
Hani o konuda belli bir olgunluğu vardı ekibin.
Feature toggle ekleme ve kullanma konusunda da bir olgunluğa eriştikten sonra aslında hani ekibe her yeni katılan kişi de bu mantıkla ilerlemeye başladı.
O noktada da böyle daha kolay bir şekilde deployment yapabiliyor olduk.
Biz daha kontraste birbirine geçemedik.
Featured Toggle'da ekledik ama testleri daha yeterli olduğunu da göremiyoruz.
Mesela sizde kontrakt test var mı?
Kontrakt test yok bizde şu anda.
Ama hani bence biraz artık monolit bir yapımız vardı bizim.
Böyle büyük bir servisimiz vardı.
Bu ekiplerin de bölünmesiyle artık ufak ufak bir sürü servisler ortaya çıkmaya başladı.
Şu noktada bence artık ihtiyacımız var ve yazmalıyız.
Ama hali hazırda yazılmış bir kontrakt testimiz yok.
Anladım. Yani CD tarafındaki olgunluk biraz da aslında çıkan hataları hızlıca yakalamayla da alakalı.
Siz bu hataları nasıl yakalıyorsunuz?
Yani böyle monitoring, alerting mekanizmalarınız nasıl?
Şöyle hani Nivrilik'te zaten mevcut çalışan servisleri sürekli inceliyoruz, izliyoruz.
Orada oluşturduğumuz alertler var.
İşte hani mesela CPU kullanımı yükseldi mi ya da işte error rate belli bir şeyin üzerine çıktı mı.
Orada standart tanımladığımız alertler var her servis için.
Onları da Slack kanallarına bağlamış durumdayız.
Herhangi bir problem olduğunda oradan aktif şekilde izleyip hemen hızlıca aksiyon almaya çalışıyoruz.
Onun dışında loglarımızı zaten Greylog'a basıyoruz.
Orayı da yine aktif bir şekilde izliyoruz.
Greylog'da da oluşturduğumuz alertler de var.
Onları da yine Slack kanallarına bağladık.
O noktada da yine bir problem olursa direkt devreye girip işte gidip problemin ne olduğuna bakıp ona göre çözüm bulmaya çalışıyoruz.
Hatta hani operasyonel işler için bile oluşturulmuş alertler var orada.
Yasemin belki bahsedebilir bu noktada.
Aynen. Mesela Trendyol Express'in altında aslında Trendyol Express bir express çatısı ve kendisinin altında farklı kargo firmalarıyla da entegrasyonlu çalışıyor.
Kendisi de bu çatının altında bulunuyor ama örnek vermek gerekirse farklı kargo firmaları da bizim topladığımız, aktarmada ayrıştırdığımız paketleri size Trendyol Express ismini de getirebiliyorlar.
Böyle bir entegrasyon yapısı var.
Ve third party'de çalışmak bazen zorluklar çıkarabileceği için operasyonda da bununla alakalı...
Slack kanalından Bizans'ın takip ettiği alörtlerimiz var.
Eğer bu kargo firmalarında herhangi bir risk görürsek belli limitlerin üstünde oradan alört vermeye çalışıyoruz.
Onlar da gün içinde kontrol edebilsinler diye.
Genel olarak saatte bir zaten alörte takılanları hem Bizans ekiplerine kontrol ettiriyoruz hem de biz o Slack kanallarını da aktif bir şekilde kontrol ediyoruz.
Peki şey sizin Trento Express olarak en büyük challenge'ınız nedir?
Bence bizim tarafta aslında biraz daha bu yük scale ile geliyor.
Çünkü şu an tren yol bir yandan büyürken tren yol ekspresinde tren yolla beraber büyümesi gerekiyor.
Örnek vermek adına işte tren yol bir yılda...
10 kat büyüdüğünde Trendyol Express'in o 10 katlık büyüklükteki paketleri taşıyabilmesi için 14 kat büyümesi gerekiyor.
O yüzden en büyük challenge'ımız aslında scale.
Burada hedefimiz işte tüm Türkiye'den paket toplamak.
Onlar var. Yeni şube açılışları var.
Yeni aktarma kurulumları var.
Hem operasyonun işlerini basitleştirmek hem de bu scale'i karşılamak için aslında biraz uğraşıyoruz.
O yüzden yani scale olarak tamamlayabilirim ben.
Şeyma senin eklemek istediğin bir şey varsa.
Ben belki yazılım tarafıyla ilgili, geliştirmeyle ilgili olan kısmıyla bakmış olacağım ama operasyon çok hızlı büyüyor.
Ve yeni yeni şeyler geliyor aslında.
Operasyonun büyümesinin dışında yeni gelişim alanları da çıkıyor orada.
Onu biraz böyle yazılım katmanına taşımak da zorlu bir süre.
Çünkü dediğim gibi yakın zamana kadar böyle monolit çalışan bir servis vardı.
Onu biz zaten bölmeye çalışıyorduk domain anlamında.
Yeni domain katmanına yeni parçalarda geldikçe aslında onu dizaynını düzgün yapmak, düzgün bir şekilde oturtmak, ekipleri düzgün bir şekilde bölmek de ayrı bir challenge olarak devam ediyor arka tarafta.
Son retroda olursa daha güzel ama olmaya da bilir.
Retroda aldığınız bir kararla değiştirdiğiniz, aksiyon aldığınız, çözdüğünüz problem var mı?
Ya da böyle kangren olup artık hala bir sürü retroda sürümcemeye girmiş böyle bir hikayeniz var mı?
Yasemin sana bırakayım. Aslında şunu söyleyebiliriz işte.
Az önce de bahsettik.
Biraz ekibimiz büyük olduğu için aynı anda paralelde birden fazla iş götürüyoruz.
Yani bu takımlar birbiriyle daha önce beraber çalışıyordu ve tek takımdı.
Dolayısıyla... Bir işi geliştirirken aniden işte hadi toplanalım, bir kriz çıktı beraber tartışalım kısımları sonlara kalıyordu.
Mesela sprint sonunda retroda konuştuğumuz maddelere kalıyordu.
Ama işte sonra fark ettik ki biz neden aksiyon almıyoruz?
Anında toplanabiliriz.
Uzaktan çalışsak da bunu yapabilme kabiliyetimiz aslında var.
O yüzden birisi sprint içerisinde bir yere iki gün takılı kalırsa, ilerleyemezse...
Kendi bir adım geri çekip hemen takıma işte belirli kişilere ya da takıma müsait olan herkese bir zoom atıyor.
Ve aniden toplanıp hem bizzat anlamında hem de teknik anlamında çözmemiz gereken bir şey varsa hızlıca aksiyon alıp devam ediyoruz.
Onu söyleyebiliriz.
Biraz tabii ekibin büyümesi de bizi etkiledi açıkçası.
Teknik analiz toplantılarımız bazen uzayabiliyor.
Çünkü operasyondan dolayı etkezler çok fazla çıkıyor.
Tüm hepsini düşünürken de bazen kompleksi de yaratabiliyoruz.
O da teknik analiz toplantının uzamasına sebep oluyor.
O yüzden hatta şimdi Şeyma'ya bir ton retroda tutu atamıştık.
Teknik analiz toplantılarında Şeyma bizi izlesin.
Eğer çok fazla konuyu dallanıp odaklandırıyorsak ya da tartışmamız gereken şeyden ayrılıyorsak bizi durdursun ve tekrar odaklanmamızı sağlasın diye bir...
aslında tutu atadık.
Bu şekilde örnek verebiliriz herhalde.
Çuvaldız iğne yaklaşımından gidersek, çuvaldızı bir kendinize batırırsanız, sizce takımda böyle değişmesi gereken bir şey ne olabilir?
Bu değilse her şey çok iyi gidecek dediğiniz bir şey.
Yani en çok böyle sıkıntı yaşadığımız konu üzerinden düşünürsem, yani böyle operasyon çok hızlı büyüyor, ihtiyaçları çok hızlı büyüyor.
Dolayısıyla hani ekip de çok hızlı bir şekilde büyüdü.
Orada belki hani onboarding süreçlerini daha...
daha iyi hale getirebiliriz gibi düşünüyorum ben.
Çünkü bir kişinin gelip ekibi adapte olup sıfırdan kod yazmaya başlaması vesairesi ne kadar o süre kısalırsa o kadar biz de operasyonun hızına yetişebilmiş olacağız.
Düşününce benim aklıma o geliyor.
Onun dışında Yasemin senin aklına gelen bir şey var mı?
Yasemin düştü galiba.
Ben sürekli yazıyordum da.
Restart atıp geliyormuş.
Canlı program. şeyinizde yaşamış olduk.
O zaman bekleyelim.
Klasik Mac donma problemini yaşadı yani Yasemin.
Keşke ağzımı açmasaydım.
Daha yayından önce konuştuk gerçekten.
Olmuyor. Cenk abiye kızıyorlardı.
Bende de varmış biraz demek ki.
Bekleyin yazacak o zaman.
Bir iki dakika. Tamam.
Şimdi Yasemin geldi.
Ya da Yasemin direkt konuşarak başlasın şey diyelim.
Aa yansımış düşmüş.
Mac'de kadar güzel. Buradayım.
Evet Mac'i övelim.
Mac'de güzel aslında. Neydi o tool'un adı?
Onu övelim. Zoom mu?
Hayır. Mac'e restart attıran tool.
Yani kendi restart özelliği yok mu?
Parayla mı satıyorlar? Aynen.
Neydi o iCore servisi?
Asıl onu getiren tool.
Apex bir şey. Kimsede yok mu ya?
Sildiniz mi? Bir tek bende mi var?
Aynen. Bazen login oluyorum.
Mesela login olurken bekliyor, bekliyor, bekliyor.
Hiçbir şey olmuyor. Mecnun'u restart atmam gerekiyor.
Ben de şey huyuz oluyorum ya.
Bu Touch ID miydi?
Çok kötü abi. Çok kötü. Ben hiç kullanmıyorum.
En başlarda bir kullandım.
Sonra artık. Ben de öyleyim.
Şifre yazmak da zulüm ya.
Demek Rumors'taki son adere göre bu arada Apple vazgeçiyormuş taşerdiğinden.
Bir sonraki 16 ve 14 inç bilgisayarlarında.
Aa niye? Niye rastlıyor?
Çok iyi de halbuki. Yok fena değil.
Bence ama bizim şeyden kaynaklı.
Evet ben bizden kaynaklı diye düşünüyorum.
Yok abi ya. Katılmıyorum ona.
Yine iyi var ki. Ben bayağı sevdim şu an.
Ya kasasız kullanabilirsin abi ya.
Ya şifremi değiştirmezsem kullanabiliyorum.
Kürüm değiştirirsem gidiyor bir anda.
Kürüm değiştirildiğinde parmağını tekrar atlamama falan gerekiyor.
O yüzden sıkıntı. Biz polisiyle alakalı.
Ben Taçpar aldım.
Çok pardon. Taçpar'ı kaldım.
Aa yok. Taçpar değil.
Taçpar aşırı gereksiz bir şey ya.
Bilmiyorum yani. Tüm ihtiyacı olabilir öyle küçültü ekranı.
Orada nerede kaldık ya? Bunlar zihinde ilgili mi bence?
Yasemin'le konuşuyorlardı.
Anlamayı çalışıyormuşum.
Dördümüz yeni programımı başladık sen yokken bir anda.
Özür dilerim ya. Peksel dondu.
Onu konuşuyoruz şimdi.
Arkadan bir fan sesi ve çatı gitti.
Evet ya bende de o çok oluyor.
Bir insanın canını da yakıyor değil mi?
bir anda kapanması falan şey oluyor.
Bir şey mi oldu acaba?
Düştü mü diye bakıyorsun. En son bu hafta Caps Lock tuşum çıktı ya.
Elimle alıştırmaya çalışıyorum.
Gerçekten mi? Nasıl hırsla çalışıyorsan parmağa yakışmıştır.
Caps Lock alışmaya çalışıyorum.
Çünkü böyle çıkıp geliyor yani elime bayağı.
Bak göstereyim hatta kameraya.
Gerçekten indik. Çok fena.
Sevgili dinleyicilerimiz şu an yansıyan bize kamera açtığında gerçekten tuşu gösterdi.
Ölü ben yaşandım.
Tarihe geçtim. Aynen.
Neyse ben o zaman sorumu sorayım.
Oradan devam edelim.
Peki canlı sistemi en son ne zaman patlattınız?
Ve o canlı sistemi patlattıktan sonra Ne tür bir aksiyon aldınız?
Yani böyle ufak tefek şeyler oluyor.
En son yaşadığımızdan bahsedeyim.
Bizim paketleri taşırken depolar ve şubeler arasında işte sanal olarak sefer açılıyor.
Sanal olarak artış fiziksel olarak.
Sonra uygulamamızdan o paketleri okutup hangi seferde olduğunu aslında takip edebiliyoruz.
Bir şubeden... Paketleri hani ait olduğu ayrıştırma merkezine götürmek için bindiremiyorlardı.
Ama böyle şu enteresan bir durum vardı.
Birkaç kere deniyorlarmış ve işte üçüncüsünde dördüncüsünde binebiliyordu falan.
Böyle garip bir hata vardı.
Hızlıca böyle üzerinden geçtiler hemen arkadaşlar.
Problemin ne olduğunu anlamaya çalıştılar.
Sonra hemen tespit edip problemi hızlıca böyle bir production deployment'ı çıkıp patfix çıkıp düzeltmişlerdi.
Bu ufak aslında bir problem ama böyle büyük yaşadığımız incident galiba Express projesine ilk başladığımızda yaşadığımız bir problemdi.
Express dediğimizde aslında Trendyol Express çatısı altında da bizim böyle altta çalıştığımız kargo firmaları var ufak, hızlı teslimat yapabilen.
O entegrasyonu sağlamak için kurduğumuz bir sistem Express dediğimiz, Express çatısı.
Onu ilk çıktığımızda böyle bir hafta sonra...
Yanlış hatırlamıyorsam Couchbase'de bir problem yaşadık.
Orada verilerin çok büyük bir kısmı Couchbase'e akmamıştı.
Oturup ekipteki bir arkadaşımızı uğurla böyle bir hızlıca nasıl çözeriz diye düşündük.
Sistemin belli bir kısmında vardı datalar.
Onları oradan işte Express çatısına aktarmak için bir endpoint yazdık.
Sonra işte orada bir ufak migration işiyle verileri Couchbase tarafına da aktarmıştık.
Sanırım benim hatırladığım en acılı olan.
Ve hani böyle el acılı şekilde çözüm bulduğumuz buydu.
Çok geçmiş olsun. Yasemin yine aklına gelen bir şey varsa o ekleyebilir belki.
Ya bu çok böyle sistemsel bir emin değilim ama şunu söyleyebiliriz işte bu altımızda farklı kargo firmalarıyla çalışıyoruz dedik ya paketleri oluşturuyoruz işte herhangi bir sorun yok aslında
operasyondan gelip almaları gerekiyor ama bir noktaya geldik ki Diğer Cargo firmaları biz bu paketleri alamıyoruz dediler.
Ve paketler bizde kaldı.
Bir şekilde müşteriye de gitmesi lazım.
Orada da aslında Express'in yapısı ayrı.
İşte kendi içimizde Trendor Express'in tuttuğumuz her mes yapısı ayrı yerde duruyor.
Tabii bunu böyle dedikleri için de o paketlerin tüm datalarını tekrar tutup işte farklı delivery ekibine de iş çıkarmamak adına şey falan hatırlar.
Tüm paketleri alıp kendimize tekrar aynı dataları üretip vurup işte sistemdeki...
diğer taraflara oluşturduğumuz tüm bilgileri silip temizleyip sanki ilk defa paket geliyormuşçasına bayağı geceler boyu bir hafta uğraştığımız bir süreç vardı.
Belki onu anlatabilirim ben de.
Evet ben bunu unutmuşum.
Bu da bayağı acılı bir süreçti.
Gerçekten bayağı acılıydı.
Bir de o zaman şeyi de gittin sildin.
O third party kuryelerin paketlerini de silmen gerekti değil mi?
Onların hepsini işte kaldırırken bir de şeyden de korkuyoruz.
Hani okey bunları siliyoruz ama hemen backuplayalım.
Böyle sürekli sinek kanallarından birbirimize backup, backup'ın backup'ı.
İşte şu tarihler arasındaki backup'lar.
Hani sürekli böyle atıp bayağı kontrol etmemiz gerekti.
Ve gerçekten hani... En az 3-4 gün uğraştık.
Bir haftada izledik. Ondan sonra işte okey demek ki hani sistemsel bir problem olmasa da operasyonel böyle şeyler yaşanabiliyor.
Biz diğer kargo firmalarına da alert koyalım.
Sürekli izleyelim. Operasyonu da uyaralım kısmına çevirdik bunu.
Çok geçmiş olsun. İnşallah bir daha yaşamayız.
İnşallah. İnşallah gerçekten.
Neyse en azından bir daha yaşarsanız hazırdır.
Aynen. Şeyma'nın şeyden, bilgisayardan tekrar o skriptleri.
Bak orada şeyi de anlatabilirim.
Tam böyle bir gece boyunca çalıştık.
Her şey okey işte. Backuplar alındı falan.
Son bir şey basacağız. Hepimiz de işte Zoom'dayız.
Uğur'un ekranıydı. İşte son bir şunu deneyeceğim falan dedi.
Bize de ki bir yandan fanı çalışıyor.
Hepimiz duyuyoruz. Abi dedik boşver hani deneme.
Şunu bir halledelim. Yok ya bir dakika deneyeceğim dedi.
Hazırladığımız tüm datalar Uğur'un bilgisayarının kapanmasıyla.
uçtu. Ve tekrar böyle gece hani 3'e kadar falan tekrar odaları toplamakla uğraşmıştık.
Buradan uğra da selam olsun.
Trajikanlardan. Üzücü anlardan.
Ama tabii ki de genelde bu tarz anlar ilerisi için çok iyi fırsatlar olabiliyor.
Önemli olan bunları fırsata dönüştürmek.
İncident yaşanır. Bunlardan ders çıkartmak.
Bir daha yaşanmamız için ne aksiyon olunur?
Bunları üzerinde konuşmak gerekiyor.
Ben de şey diyecektim. Adise'ye tatlısıyla oluyor falan diyecektim ama yani sekti aynıymış.
Ama çok şey öğrendik Yavuz'da işte.
En azından şu an mesela farklı bir kargo firması gelirken başta daha entegrasyon yapmadan bazı soru setleri var yani elimizde.
O da bizi gerçekten geliştirdi.
Güzel bir challenge atlattı.
Güzel oldu. Kesinlikle.
Öyleydi de böyleydi derken arkadaşlar programın sonuna geldik.
Çok teşekkürler Şeyma Yasemin.
programa geldiğiniz için.
Teks ekibini tanıttığınız için.
Biz teşekkür ederiz. Biz teşekkür ederiz.
Çok çok sağ olun. Programın başında da kayda başlamadan önce Yasemin'in bir sözü vardı.
Ay'a benzer yüreğin dışında bir şarkı söyleyeceğini söylemişti.
Şimdi mikrofonu Yasemin'e bırakıyorum.
Gerçekten var ya nasıl pislik ya.
Yok abi ben söylersem şeyi söylerim.
Ama onu da unuttum bak.
Hani Sertab Önlü'nün sahilde şarkısı vardı ya.
Cımbızlı falan olanlar.
Enomoplatonik. Enomoplatonik diye aratıyorum şu an internetten.
İnşallah söylenir. Enomoplatonik.
Aynen. Umudum yarınlarda tatildeyim.
O var ya. Söyledin mi?
Birinin de ayna falan o şarkı değil mi?
Aynen. Uzanmışım.
Uzun yarınlarda. İnşallah.
Evet. Uzanmışım kumsalda.
Güneş damlar içime.
Şiir gibi okur musun peki?
Unutulmuş bir beste.
Yaşıyorum aleyhissalat. O zaman Şeyma da çıkış yapıp ben söyleyeceğim demezse programı kapatabiliriz sanki artık değil mi?
Yok hiç öyle bir şey söylemem.
Karga sesimle hiç kimseyi rahatsız etmiyorum.
Bence kapatalım bu noktada.
Aynı şansım benim de.
Tamam. Tekrar teşekkürler arkadaşlar.
Dinleyicilerimize de buraya kadar dinledikleri için teşekkür ediyoruz.
Herkese iyi akşamlar, iyi günler diliyoruz.
Teşekkürler. İyi akşamlar.
Görüşürüz. Teşekkür ederiz.
Görüşürüz.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
