
Konuklar: Emre Yiğit Kuzhan, Esin Gedik, Nusret Bilgin
53. bölümümüzde konuğumuz Influencer Center ekibi oldu. Ekip yapısını, projelerini, teknoloji stack seçimlerini ve çok daha fazlasını konuştuk!
Trendyol Talks'da Trendyol'daki kültürümüzü, kültürümüzden beslenen iş yapış biçimlerimizi ve ritüellerimizi konuşuyoruz. Trendyol Talks podcast kanalımızı takip etmeyi unutmayın!
Trendyol Talks Spotify
Trendyol Talks Apple Podcasts
Transkript
Selam ekip, ben Storefront TRPDP ekibinden Cengiz.
Ben Productivity ekibinden Erdem.
Teknoloji ekiplerini tanıdığımız ve süreçler, teknolojiler gibi konuları konuştuğumuz Selam Ekip Podcast serisinin 53.
bölümünde Influencer Center ekibiyle birlikteyiz.
Influencer Center ekibini tanıyıp, ekip yapısı, kullanılan teknolojiler, pratikler gibi konuları konuşacağız.
Arkadaşlar hepinize hoş geldiniz. Hoş bulduk.
Bugün yine keyifli bir bölüm, keyifli konuklarımız var.
Herhalde Trendyol'da en çok merak edilen ekiplerden bile influencer center ekibi.
Benim de açıkçası kafamda hiçbir şey yok.
Yani bu ekip ne yapıyor, nasıl şeylerle uğraşıyor, nasıl challenge'ları var.
Bu bölüm sonunda hepsini cevaplandırmış olacaklar.
Öncelikle kendinizi kısaca tanıtabilir misiniz arkadaşlar?
Tabii ben başlayayım. Selamlar, ben Esin Gedik.
Yaklaşık iki yıldır Trendyol'da, on aydır da Influencer Center ekibindeyim.
Backend Developer olarak çalışıyorum.
Ben de Emre, merhaba. Ben de 2,5 yıldır Trendyol'dayım.
Başladığım günden beri Influencer Center'dayım artık.
Buranın odlarından olduk diyebiliriz.
Ben de burada Frontend Developer olarak çalışıyorum.
Selamlar tekrardan. Ben de Nusret.
Ben de yaklaşık 3 yıldır burada çalışıyorum.
Daha önce farklı bir takımdaydım.
2 senedir de, 2,5 senedir de Influencer Center takımındayım.
Ben de Emre gibi Frontend Developer olarak çalışıyorum.
Hoş geldiniz tekrardan.
Şimdi Influencer Center.
deyince böyle influencerların kullandığı bir paneli aslında yazan, yöneten bir ekip olarak düşünüyorum ama bir de sizlerden dinleyelim.
Influencer center takımı ne yapar?
Tam olarak doğru tahmin aslında.
Influencerların tren yolu arasındaki kurduğu iletişimi biz yönetmeye çalışıyoruz diyeyim.
Bu sistem gelmeden önce influencerlara daha manuel olarak işte mail yoluyla, telefon yoluyla iletişim kuruluyordu.
İki buçuk sene kadar aktif olarak çalışıyor bu panel.
Burada da influencerların yaptığı neresi bütün iletişimi biz panel üzerinden yapmalarını sağlıyoruz diyebilirim takım için.
Kısaca bahsetmek gerekirse örnek vereyim işte influencerların satıcılarla arasındaki iletişimini sağlıyoruz.
Satıcılar bir reklam verirse kendi ürünleriyle ilgili influencerlara bunları sunup kabul edip reddetme imkanı sağlıyoruz.
Bunun dışında influencerlara belli yönlendirmeler yapıyoruz.
Bir de en güzel feature herhalde influencerlar için kazançlarını takip etmelerini sağlıyoruz diyebilirim raporlarını vesaire.
Kısaca ondan bahsedebilirim.
Peki ekibin dağılımı nasıl?
Backend Developer, Frontend Developer, QA, P.O.
da vardır mutlaka. Aynen.
Ekibimizde şu anda 5 tane Backend Developer bulunuyor.
Bununla birlikte de 4 tane Frontend Developer'ız.
QA kısmında da 2 kişi var.
Diğer takımlardaki de bir tane PM ve bir tane de lead'imiz var takımda.
Bunu söyleyebilirim.
Frontend Developer 4 tane olan başka hiçbir ekip var mı bilmiyorum direkt ön yüz ekibi dışında.
Gerçekten son zamanda biraz fazla büyüdük Frontend tarafında.
2 senedir Emre ile birlikte 2 kişiydik.
Şimdi 2 kişi daha geldi bu senenin başında.
Güzel gidiyor diyebilirim.
Panelde amacımız Trendyol'un core uygulamasıyla aynı deneyimi yaşatmak influencerları.
O yüzden frontend tarafında çok fazla geliştirme ve yeni feature ihtiyacımız oluyor.
O yüzden kalabalık bir frontend ekibimiz var.
Anladım. Aslında evet doğrudan müşteri gibi düşünebiliriz influencerları bile sonuçta.
Birazcık daha önem verilen bir şey olabilir.
Bizim de işte içeride sellerların kullandığı bir panelimiz var.
İşte üç ekip sanırım.
Yani totalde üç frontend falan bakıyor komple büyük projeye.
sizin taraf iyi, güzelmiş. Frontend bolluğu iyidir her zaman.
Valla biz tamamen client ekibi olduğumuz için 4 sayısı benim için çok daha büyük olmadı.
Fakat yani böyle bir proje için bence de fazla yani iyi bir sayı.
Burada şey aslında biz 5 backend, 4 frontend dedik ama takım aslında başlangıcından beri bir full stack takımdı.
Daha önce yoğunluğa göre developerlar ilgili bölüme kayıp geliştirme yapıyorlardı.
Fakat son zamanlarda bize gelen yük baya bir arttı.
Bu marketingi daha verimli kullanmak için çok avantajlı oluyor galiba influencerlar.
Bundan ötürü biz sürekli olarak kendimizi güncellememiz gerekiyor.
Bu hem UI kısmında hem de yine business kısmında backend tarafında diyebilirim.
Şu an şeyiz yani daha yoğunluk fazla olduğu için backend ve frontend olarak.
kırılmış gibi izleyebilirim. Burada Nusret'e ek olarak şeyi de söyleyebiliriz.
Hem çok fazla biznes işi geliyor hem de biz de kendimiz sürekli bir performans vesaire geliştirme süreçlerinde olduğumuz için hani bir yerden sonra gerçekten yetemiyorduk.
O yüzden de biraz büyüdük diyebilirim yakın zamanda.
Valla süper. Harika yani.
Gerçekten... Güzel geliyor kulağa.
Ben sıradaki soruyu sormadan önce bir şey sormak istiyorum.
Bu influencer center daha doğrusu influencerların kullandığı uygulama aşağı yukarı nasıl bir uygulama yani nasıl bir sayfa daha doğrusu?
Hani şimdi Trendyol'un işte ana sayfasını ne bileyim product sayfasını falan biliyoruz.
Bir influencer bu uygulamada işte bu sayfada neler yapabiliyor girdiği zaman?
Şöyle bahsedebiliriz o kısımdan.
Bizim uygulamamız öncelikle bir web uygulaması fakat buna mobil uygulama üzerine erişiyorlar.
Aslında bir web view olarak çalışıyor diyebilirim.
Yine tren yol mobil uygulamasından influencer olduğunuz durumda profil kısmından ayrı bir tuşa basarak erişebiliyorsunuz uygulamaya.
Görsel olarak ne söyleyebilirim?
Orada tren yolu mobil uygulamasındaki deneyimi devam ettiriyoruz.
Bütün süreç öyle devam ediyor.
Kullanıcı bir giriş sayfası ile karşılıyoruz aslında.
Profilim sayfasındaki gibi orada özet metriklerimiz var.
Ondan sonrasında az önce bahsettiğim özellikleri kullanmaları için ilgili menüler var.
Oralara yayınlanıp işte rapor görüntüleyebilirler.
Yeni bir reklam teklifi kabul edebilirler.
Kendilerine işte bir koleksiyon oluşturup bu koleksiyondaki ürünleri linklerini alıp paylaşabilirler gibi giden bir sistem.
Süper. Valla gayet güzelmiş.
Gayet keyifliymiş. Influencer olası geliyor insanın.
Sadece bunun için değil tabii ki ama.
Evet evet. Panel herkes tarafından gerçekten merak ediliyor.
Yani hani gerçekten ben bu şu zamana kadar yani evet influencerların kullandığı bir sayfa vardır içeride diye düşünüyordum ama spesifik buna alınmış bir yer olduğunu çok düşünmüyordum açıkçası.
Şey gibi düşünüyordum abi kullanıcı girişi yapılıyor ondan sonra herhalde bir ekstra condition koyulup işte influencer ise şunları göster falan gibi bir şey diye düşünüyordum.
Halbuki bundan çok daha karmaşık çok daha kompleks lojikleri olan güzel bir sayfaymış anladığım kadarıyla.
Güzel gerçekten. Takımla alakalı sorulara dönecek olursak sıradaki sorum çalışma düzeninizle alakalı.
Aslında nasıl bir sprint içerisinde nasıl çalışıyorsunuz?
Sprintlerinizi nasıl koşuyorsunuz?
Ve ne kadar uzun sprintleriniz?
Kaç haftalık sprintler oluyor? Çalışma düzenimiz genelde pair olarak çalışıyoruz.
Her işi olabilince pair ilerletmeye çalışıyoruz.
Sprintlerimizi haftalık koşuyoruz.
Her hafta grooming ve planning yapıyoruz işte klasik.
Her sabah değilimiz var.
Yine dün ne yaptık bugün ne yapacağız diye konuştuğumuz.
Bir de akşamları closingimiz var.
Closingimizde genelde hiç konuşmuyoruz.
Sadece normal, boş yaptığımız, günün yorgunluğunu attığımız bir session gibi kullanıyoruz closingi.
İki haftada bir tek grooming ve retro yapıyoruz.
Yine iki haftada bir uygulamalarımızın metriklerini incelediğimiz KPI toplantımız.
Bir de aldığımız hataları vs.
incelediğimiz anomaly incident toplantılarımız oluyor.
Son olarak da Tech Improvement toplantılarına başladık.
Burada da ekibimizden bir kişi gönüllü olup, işte ekipte çok yaygın olmayan ama faydalı olabilecek teknik konuları anlatıyor.
Böylece işte biz de know-how'ı dağıtmış oluyoruz.
Ekip içerisinde veya işte orada anlatılan konulardan faydalı olabileceğini düşündüklerimizi alıp daha sonra kullanıyoruz, POC'ler yapıyoruz gibi.
Çoğunlukla düzenimiz böyle. Bu closing toplantıları her gün mü oluyor?
Ben onu doğru mu anladım? Her gün oluyor evet.
Helal olsun. Biz bunu haftada bir gün yapıyoruz.
Haftada iki gün yapsak mı diye böyle bir aramızda muhabbet oluyor.
Ama her gün bir saat mi oluyor bu?
Yok şey kısa hani 5-45-6 arası gibi.
Girip aynen ya ne yaptık bugün falan gibi konuşup.
Katılım zorunlu değil bu arada.
Atıyorum çok acil işler vesaire olduğunda tabii ki gelinmiyor.
Ama böyle sohbet falan etmek için işte o dediğim gibi yorgunluğu atmak için güzel bir seson oluyor.
Buna ek olarak şimdi uzun zamandır evden de çalışıyoruz.
Özellikle pandemi döneminde de bir şey algısı vardı siz de bilirsiniz.
Sürekli evde olduğumuz için mesainin başlangıç ve bitişini çok hissedemiyorduk diyebilirim en azından kendi şansıma.
Bu closing toplantıdan öyle bir güzel bir etkisi de var.
Uzun değiller, kısa toplantılar.
Bize artık bir psikolojik olarak günü bitirdiğimizi de hissettiriyor.
O da böyle mesaiyi kesmiş oluyorsun.
Tavsiye ederim açıkçası her gün yapmanızı.
İşte burada Nusret'e katılıyorum.
Pandemiden beri özellikle ekip içi iletişimleri de sürdürmek biraz daha zor olduğu için closing bize o avantajı da sağlıyor.
Yani biz orada tüm gün bilgisayar başında oturup kapatmıyoruz.
Yine normal sohbetimiz ofiste olduğumuz kadar olmasa da o sohbetlerimizde falan devam edebiliyoruz.
Bu da ekip içi kaynaşmayı falan da arttırıyor tabii.
Aslında düşününce evet bir yandan da keyifli olabilir ya.
Şeyim oluyor biraz sadece arkadaşlar dükkanı kapatıyoruz.
Var mı sorun sıkıntı? Keyifler yerinde mi?
Yarın görüşürüz. Tadında bir toplantı geldi bana.
Ona çok benzer oluyor. Oyun falan oynuyoruz bazen mesela çok yoğun geçmiş gün.
Ya ufak bir oyun mu oynasak falan gibi oluyor.
Güzel tatlı gayet. Aynen güzelmiş.
Anladığım kadarıyla zaten böyle baya dinamik bir ekipsiniz.
Kullandığınız teknolojilerden biraz bahsetsek nasıl olur?
Süper olur. Ben biraz daha yine Frontend tarafından bahsedeyim.
Az önce de bahsetmiştim.
Mobil uygulama içerisinde çalışan bir web uygulaması bizimkisi.
Daha önceden burada React ile başlanmıştı.
Biz zaten React Stake'den devam ediyoruz.
Geçen sene burada bir platforming yapmıştık biz.
Bir projenin kaynakları eskiydi ilk başlandığı zamanda.
Onları da güncellemek istiyorduk.
O sebeple biz bir POS yapıp Next.js'de karar vermiştik.
Bir projemizi geçen sene...
Next.js'e geçirdik. Burada zaten yine projeyi server ettiğimiz kısım da bizim tarafımıza yapılıyordu.
Orada ayrı bir server'a kaldırıyorduk.
Bunları zaten tek paket halinde sunan bir şey varken neden değerlendirmeyelim dedik diyebilirim.
Bununla birlikte Next.js'de şeyi kullanmış olduk.
Server rendering özellikleriyle belli istekleri hem izole etmiş olduk.
Belli feature'ları sağlamamızı kolaylaştırdı diyebilirim.
Mesela Bu serinin başındaydı sanırım.
Bütün tren yola bir multi-culture desteği geldi hızlı bir şekilde.
Burada bize büyük avantaj sağladı.
Bizim international tarafımız da var.
Bunları tek proje üzerinden kullanıcıya hiçbir ekranda zıplama, hoplama, gecikme olmadan server'da hazırlayıp mesela sunabiliyoruz.
Böyle güzel avantajları oldu bize.
Onun dışında da yakın zamanda da şeye başladık.
Artık proje çok da büyüdüğü için bunu bölmemiz gerekiyordu.
Turbo repo ile biz bir mono repo'ya çevirmeye başladık.
Onun şu an geçişi devam ediyor.
Yakın zamanda oradan trafik almaya başlayacağız.
Bunu söyleyebilirim.
Bunun dışında ne söyleyebilirim?
Burada ClientSite'de monitörlük için Nivrelig'i kullanıyorduk.
Next.js'e geçirdikten sonra Kibana ve Nivrelig'in yine server tarafındaki normal backend developer'ın yaptığı gibi monitörlüğünü de yapmaya başlamıştık.
Yakın zamanda yine TurboAropa geçişiyle de ClientSite'de böyle daha verimli, daha uygun bir teknolojiye geçmeyi düşünüyoruz.
Onunla ilgili bir POC yapacağız. Bunları söyleyebilirim.
Ben de biraz backend tarafını anlatayım.
Ama şunu da bilgisini vermek istiyorum.
Panelden direkt bizim deep backend uygulamalarımıza erişim yok.
Sonuçta dışarıya açılan bir yer.
O yüzden frontend ve backend uygulamalarımızın arasında bir tane web gateway'imiz var.
İstekler oradan geçiyor.
Kullanıcılar authenticate olduktan sonra deep backend'e request atılıyor.
Biz backend uygulamalarımızda yoğunluklu olarak goleng ile geliştirme yapıyoruz.
Özellikle resource management, garbage collector, performance gibi endişelerle.
tüm yeni uygulamalarımızı Go ile yazıyoruz.
Ayrıca Kotlin ve Java ile geliştirilmiş uygulamalarımız da var.
NoSQL DB olarak çoğunlukla Couchbase, bazı durumlarda da Cassandra kullanıyoruz.
Search filtering gerektiren işlemlerde Elasticsearch tercih ediyoruz.
Demin de söylediğimiz gibi aslında amacımız Trendyol uygulamasıyla aynı deneyimi sunmak.
O yüzden kullanıcı Trendyol'da search yaptığında İngilizce bir karakterle yapsa bile Türkçe karakterli sonuçları nasıl dönebiliyorsa panel içinde de aynı deneyimi sunuyoruz.
O yüzden tercihimiz Elasticsearch.
search oluyor. Bu işlemleri de Couchbase'den GBS konnektörlerle datayı elastiğe replicate ederek yapıyoruz.
RDBMS olarak PostgreSQL, async işlemler içinde, event streaming içinde Kafka kullanıyoruz.
Uygulamalarımızı da, DB'lerimizi de multi-DC'lere deploy ediyoruz ki herhangi bir incident durumunda trafiği kaydıralım, kullanıcılara etki vermeyelim.
QA tarafında da hem API hem de konsümerlerimiz için automation testlerimiz var.
Burada dil olarak Java kullanıyoruz.
Apilerimizi de Blue-Green ve Canary karışımı bir yöntemle production'a deploy ediyoruz.
Bunlar için de smoke testlerimiz var.
Frontend tarafta UI acceptance ve pixel regression testlerimiz var.
Ayrıca uygulamaların performansını test etmek için load test koşuyoruz.
Hem yeni bir uygulama çıktığımızda hem yeni bir teknoloji denediğimizde veya her quarter mutlaka load test koşuyoruz gibi anomallik, anomali durumu var mı?
Yakın zamanda API'ların kontrakt testlerini de oluşturmayı hedefliyoruz.
Süper. Valla dolu dolu bir stack.
Gerçekten harika.
Frontend tarafı zaten bizim ekip client olduğu için ekstra beğendim.
Turbo repo geçişi özellikle.
Çünkü bizim de şu an gündemimizdeki en büyük maddelerden biri turbo repo geçişi.
Gayet güzel olmuş. Backend tarafı da dolu dolu.
Gerçekten tebrik ederim.
Kontrakt test konusunda da ayrıca teşekkür edeceğim.
Direkt olarak biz konsum etmiyoruz ama birçok backend ekibinden de bu hassasiyeti...
beklediğimizi söyleyebilirim açıkçası.
Şimdiden ellerinize sağlık.
Peki ekibin kullandığı teknolojilerden bahsettik.
Ufak tefek işte nasıl bir uygulama olduğundan bahsettik.
Nasıl bir sayfa olduğundan bahsettik.
Vizyonuyla alakalı konuşacak olursak ekibin şu an vizyonu nedir?
Ekibin vizyonunu ikiye bölebiliriz.
Hani birincisi kullanıcılara her zaman daha iyi hizmet vermek.
İşte burada influencerlara daha iyi bir UX'e sahip bir panel sunmaktan tutun da.
daha yeni, daha iyi özellikler, daha kullanışlı özellikler getirmek, işte hem frontend hem backend tarafında daha performanslı hizmetler vermek gibi şeylerden bahsedebiliriz.
Mesela performansı arttırmak için sürekli yeni şeyler deniyoruz.
Yine az önce Nusret de esinde çok güzel bahsetti.
İşte Next.js geçişlerimiz, mesela eskiden backend uygulamalarımız daha Java ağırlıklıydı.
Ardından resource ve performans endişelerinden dolayı API'lerimizi, işte consumerlarımızı vesaire Go'ya taşıdık.
Artık da yeni... yazdıklarımızı Go'da yazıyoruz.
Yine Esin'in anlattığı gibi kullanıcıların arama yaptığı yerlerde Elasticsearch vs.
kullanıyoruz. Hani kullanıcılara hep daha hızlı daha iyi şeyler, hizmetler verebilmek için.
İkinci vizyon olarak da hepimiz sürekli daha Yeni şeyler öğrenmeye ve denemeye çalışıyoruz.
Zaten hepimizin yaptığı gibi sürekli makaleler okuyoruz.
Ama okuduktan sonra bunları kendi aramızda paylaşıyoruz.
Az önce de bahsettiğim gibi Tech Improvement toplantılarımızda bu konuları anlatıyoruz.
Faydasına olacağını düşündüğümüz konular hakkında POC'ler yapıyoruz.
Ve bu iki vizyonu ortaklaştırıp hem kullanıcıları hem de kendimizi mutlu etmeye çalışıyoruz gibi diyebilirim.
Gerçekten bilmiyorum ben sizin ekibi bayağı beğendim ya.
Bekent ihtiyacı varsa. Rasyon döneminde bekleriz.
Her zaman kapımız açık.
Projeden bol bir şey yok ekipte.
Şimdi ben birazcık da şeyle ilgili konuşalım istiyorum.
Yeni bir proje geldiğinde ya da böyle bir platform ihtiyacı da olduğunda bir projede süreci nasıl işletiyorsunuz?
Oradaki bakış açınız nedir?
Bir uygulamayı replatform etmeden veya oluşturmadan önce mutlaka Sprint'e bir analiz taskı alıyoruz ve o analiz taskını en az iki kişinin pair olarak ilerletmesini istiyoruz ki farklı görüşler, farklı ufuklar
her zaman daha iyi oluyor. Uygulamanın dil, framework, işte database scaling gibi ihtiyaçlarına yönelik mutlaka pros-cons analizi yapıp onun sonucunda da bir teknik decision için ADR yazıyoruz.
Özellikle seçtiğimiz teknolojileri ilk kez kullanacaksak POC yapıp üzerine bir performans testi.
Load test koşuyoruz. Eski teknolojilerimizde de bunu kıyaslıyoruz.
Mesela Go'ya göçmeden önce çok ciddi POC'ler yaptık.
Aldığımız sonuçlar, metrikler Java'dan iyi mi?
Uygulamaları replatform etmeye değer mi?
Bize avantajı olacak mı diye.
Bu bir DB seçiminde de geçerli.
Frontend tarafındaki bir framework seçiminde de geçerli.
Yani bu güzelmiş, böyle bir blok var, bunu kullanalım diye bir şey yok.
Mutlaka ekibi onun iyi olduğunu...
İstatistiklerle kanıtlamamız gerekiyor.
Mevcut teknolojilerimizi yeni bir projede kullanacaksak da benzer throughput altındaki metriklerimizi inceliyoruz.
Dataya burada mutlaka önem veriyoruz.
Yani bu uygulama bu teknolojiyle çalışır mı?
Highly available bir halde olur mu diye inceleme yapıyoruz.
Analiz çıktıkları için ekiple catch-up toplantısı yapıp onların da fikirlerini alıyoruz.
Sadece analizi yapan payerların kararı ile ilerlenmiyor.
Yani tüm ekibin burada fikri çok önemli.
Development tasklarını açıyor.
payırlar. Daha sonra bunları da küçük parçalara bölüyoruz ki o development'a ekipteki herkes dahil olsun.
Nofap iyice ekip içinde dağılmış olsun.
Süper. Valla harika.
Yani güzel süreçler, güzel yaklaşımlar.
Ben de çok beğendim açıkçası.
Bir sonraki sorum onboarding ile alakalı.
Takımda, sizin takımda onboarding süreci nasıl ilerliyor?
Neler yapıyorsunuz? İlk hafta body ile ortam kurulumları genel aktarımlar yapılıyor.
Sonra body'lik kavramı ilk haftanın sonunda bizde bitiyor.
Herkese payer olmaya başlıyor.
Her sprint bir başka takım üyesiyle gerçekten bir task alıp birlikte ilerletiyorlar.
Yani ekip olarak tüm projeleri bir haftada tek seferde anlatalım.
Hepsini birden öğrensin gibi beklentiler.
Kesinlikle yok.
Yani kişi yoksa bir anda overload olur.
Öğrendiği şeyleri de kısa süreli hatırlar sonra unutur.
O yüzden farklı farklı tasklara dahil olmasını tercih ediyoruz ki üzerinde pratik yapabilsin.
Payer yaptığı arkadaşı o projeyi, biznesi ve yapılacak işi detaylı olarak bir anlatıyor.
Bir sonraki sprint de başka bir projeyle ilgili Payer'a dahil oluyor.
Hem de ekipteki herkese kaynaşmış oluyor.
Payer dışında kendisi de bir şeyleri incelemek ve biznesi öğrenmek isterse diye projelerin anlatıldığı aktarı...
Videolarımız var, dokümentasyonlarımız ve Perfect Swagger'ımız var.
Kendisi offline'da da bir şeyleri inceleyebiliyor.
Burada onboarding sürecinin aksine, ekibe yeni katılan birinin aksine, ekipten biri ayrıldığında da sorun yaşamıyoruz.
Bir proje kimsenin şahsi sorumluluğunda değil.
Herkes tüm projelere hakim ekip içindeki.
Payer'ları know-how'ın dağılması için sürekli karıyoruz.
MR'ları özenle review ediyoruz.
O yüzden Codebase'e de hakimiz.
Biraz böyle empowered team konseptini benimsiyorum.
Biznes üzerine de yorum yapıyoruz.
Front end, back end diye sorumluluklarımızı da ayırmıyoruz.
Yeni gelen bir doyucudan hem ekibe, hem işlere, hem biznese çabuk adapte oluyor.
Ekipten biri gittiğinde de onun yerini doldurabiliyoruz bir şekilde diyebilirim.
Süpermiş burası da. Peki kişisel gelişiminizle ilgili tuttunuz herhangi bir şey var mı?
Farklı ekiplerde böyle şeyleri görüyoruz mesela.
Launch and burn yapanlar oluyor.
Ayrı toplantılar yapanlar oluyor.
Ya da işte... Bizim ekipte mesela haftanın belli günleri işte sabahtan ya da öğleden sonra tamamen kişisel kendimizi geliştireceğimiz şeylere bakıyoruz sprint işleri dışında.
Sizin ekipte böyle uyguladığınız pratikler var mıdır?
Eskiden tam olarak dediğim gibi bir seçim vardı.
İşte cuma öğleden sonra belli bir aralığı kendi kişisel gelişimimizi ayırıyorduk.
Orada makaleler okuyorduk.
Yeni böyle gördüğümüz şeyler varsa onları deniyorduk.
Ama business işleri çok gelmeye başladığından beri buna çok zaman ayıramıyoruz.
O yüzden... RG kısmında yine önceden bahsettiğimiz gibi çoğunlukla öğrentilerimizi birbirine aktararak ve bize faydalı olabileceğini düşündüğümüz şeyleri deneyerek ve onları inceleyerek devam ettiriyoruz.
Eğer gerçekten faydalı olabileceğini düşünüyorsak işte datalara, istatistiklere falan bakıp bir POC hazırlıyoruz ve diyoruz ki tamam artık bu işleri bu şekilde devam ettirelim.
Böylece hem olan sorunlarımızı çözmüş oluyoruz hem de yeni şeyler öğrenmiş oluyoruz ekipçe.
Burada Emredin'de ek olarak şey de söyleyebilirim.
Bu rutin yaptığımız kısımın biraz azalması söz konusuydu.
Yine belli dönemlerde bir konumuz olduğu durumlarda Cuma günleri yine takıma bir aktarım yapacak, sunum yapacak şekilde session'lar da ayarlamaya çalışıyoruz.
Onun dışında da böyle yine bütün takımın yapması gereken mesela hızlı bir geçiş işi vesaire olduğunda yine Launch Learn uygulamaya da özen gösteriyoruz diyebiliriz.
Ayrıca hem Trendyol içindeki gelişmeleri takip ediyoruz.
Trendyol'un Medium bloklarından, GitHub üzerinden.
Hem de diğer ticaret ve globaldeki büyük firmaların yaptığı, geliştirdiği işleri takip ediyoruz.
Ve bunları kendi aramızda mutlaka paylaşıyoruz ki sektörde her zaman böyle rekabetçiliğimizi koruyalım.
Süper. Valla harika.
Şimdi buradan... Diğer soruya geçmeden önce başka bir reklam şeyi de yapacağım.
Sizin buradaki güzel bilgilerinizi arkadaşlar.
Aynı zamanda bizim Frontend Guild'ımız var.
Belki biliyorsunuzdur.
Siz de Frontend ağırlığı da olan bir ekip olduğunuz için buradaki deneyimlerinizi orada da sizlerden dinlemek isteriz.
Ben ayrı şekilde zaten iletişime geçeceğim sizle.
Evet ya burada bizim planlarımız arasında da var.
Yazın özellikle bir şey yapıp Frontend Guild yapıp.
Orada çünkü çok fazla şey de yok.
Hem Next.js hem Turbo ile çok fazla production'da güzel örnek de yok.
O yüzden buradaki tecrübelerimizi de bir aktarmayı istiyoruz.
Süper. Süper. Harikasınız.
Biraz daha böyle... Süreçle alakalı bir soru sormak istiyorum.
Business işlerinin daha yoğun, daha çok geldiği zamanlarda development süreciniz nasıl ilerliyor?
Bazen business işlerimiz gerçekten baya yoğun oluyor.
Böyle durumlarda genelde herkes birbirine yardımcı olmaya çalışıyor.
Ekibi anlatırken frontend, backend, QA gibi ayırdık ama yine Nusret demişti.
Aslında hepimiz full stack çalışabiliyoruz.
Backend işlerinin çok yoğun olduğu haftalarda...
Frontend taraftan bazılarımız gidip backend işlerini aradan çıkarabiliyor.
Burada işte MR süreçleriyle ilerletiyoruz genelde.
Hani ekstra bir gelişme alanımız varsa.
Veya bazen payer olmayı bırakıp paralelde çok iş çıkabiliyoruz.
Bu durumlarda QA'lerde çok iş birikiyor QA adımında.
Orada da çapraz...
QA kontrolleriyle yine işleri devam ettirebiliyoruz.
Çok çok yoğunsak bazı toplantılarımızı erteliyoruz.
Yani böyle genelde anlık aldığımız kararlarla yoğun zamanları geçirmeye çalışıyoruz gibi diyebilirim.
Hemen araya bir soru sıkıştırayım.
Çapraz QA nedir abi tam olarak?
Çapraz sorgu gibi bir şey midir?
Onun gibi bir şey evet.
Yani işi yapanların değil de işte başka bir payer grubu veya başka insanların kontrol etmesi gibi.
Hani işi yapan kişiler hep genelde happypad üzerinden gider zaten hani işi de yaptığı için.
Ama başka bir göz daha iyi kontrol edebiliyor.
Daha böyle gözden kaçabilecek şeyleri yakalayabiliyor.
O yüzden genelde QA'lara işi yapan kişi değil başka kişi yapıp oradan devam ettiriyoruz.
Tabii bunu yoğun olduğumuz dönemlerde QA tarafına destek olmak için yapıyoruz.
Aslında bu bir yandan şey know-how dağılımı içinde bence güzel bir pratik olmuş.
Evet o da çok iyi oluyor.
Yani kesinlikle.
Şimdi her şeyi konuştuk.
Güzel süreçlerden bahsettik.
Bir de işin bazen can sıkıcı olabilen tarafı var.
Instantlarımız oluyor. Sizlerde de oluyordur mutlaka diye tahmin ediyorum.
Instant yaşamayan ekip yoktur muhtemelen.
Buradaki alert mekanizmalarınız, monitör süreçleriniz nasıl?
Sıkıntıları ne kadar kısa sürede yakalayabiliyorsunuz?
Ya da burada gelişim alanları görüyor musunuz ekiple ilgili?
Birazcık onunla ilgili de yorum alabilirsek bence güzel olur.
Bu da bizim ekipte çok önem verdiğimiz konulardan bir tanesi.
Üzerine çok düşüyoruz.
Yeni geliştirmelerle, yeni takip tool'larıyla alertlerimizi mutlaka yakından inceliyoruz.
Ama önce şunu söyleyeyim.
Alertlerimizi takip etmek, farklı ekiplerin soru ve isteklerini karşılamak için bir on-call sistemimiz var.
Frontend, backend, QA developerlar olarak bir cycle içerisinde günlük olarak on-call nöbetleri tutuyoruz.
Yine işte sadece backend, backend hataya baksın, frontend, frontend hataya baksın gibi bir durum yok.
Herkes her şeye bakıyor, her şeye hakim olduğu için.
Ama çok hakim olmadıkları bazı yeni konularla ilgili arkadaşlarımızın on-call süreçlerini hafifletmek için bir playbook hazırladık.
Bir alert geldiğinde alınacak aksiyonları, iletişime geçilecek kişileri ve Slack kanallarını listeledik.
Bu hem bizim için kolay oluyor hem de yeni gelen kişiler alert takibine daha kolay entegre oluyorlar.
Uygulamalarımızın loglarını Kibana üzerinden takip ediyoruz.
Her uygulamaya özel custom bir error log trash olduğumuz ve Kibana monitörlerimiz var.
Bir uygulama stage veya prodda belirlenen alert değerinin üzerinde error alıyorsa Slack'taki alert kanalımıza mesaj geliyor.
Tüm app'lerimiz new. Veli'ye entegre.
Burada özellikle throughput, response time, error rate, percentile değerlerini takip ediyoruz.
Bir anomali oluşursa diye bir alert polisi tanımımız var.
Diyelim ki bir uygulamanın response time'ı normalin üzerine çıktıysa hem Slack'taki alert kanalımıza bildirim geliyor hem de on-call otomatik olarak telefonundan aranıyor.
Bu aslında gece de aranabileceğimiz anlamına geliyor.
Çünkü bizim için decrease throughput, increase response time hemen müdahale gerektiren durumlar.
Kullanıcıların panele erişmesini engelleyecek veya oradaki deneyimleri bozacak herhangi bir şeye karşı hemen aksiyon almamız gerekiyor.
Grafanın üzerinde Service APM, Rollouts ve Deployment'larla ilgili dashboardlarımız var.
Konsümerler için Topiklerdeki ve Exception Topiklerindeki leglerle ilgili grafiklerimiz var.
Ayrıca kendi custom alertlerimizle tanımlıyoruz.
Örneğin uygulamanın podu crash loop'a girerse, pod out of memory yani OMM hatası alırsa, Kubernetes Deployment sonrasında rollout tamamlanmazsa Slack kanalımıza yine alert düşüyor ve manuel müdahalede...
Anlattığım her şey hem stage hem prot ortam için geçerli.
Stage'i de çok önemsiyoruz.
Yani orada da alert olmayan, her şeyin düzgün çalıştığı bir ortam yaratmaya çalışıyoruz.
CouchBase'den elastiğe data replicate ettiğimizi söylemiştim.
Oradaki prosesde de bir latency olursa, datalar sync olmazsa diye yine alert üretiyoruz.
Tüm sistemlerimizi dikkatle takip ediyoruz aslında.
Aldığımız hataları da bir Excel'de biriktirip tagliyoruz.
Mesela development bug'ından dolayı mı eksik bir defini...
işinden dolayı mı hata aldık yoksa başka bir ekipten, başka bir servisten dolayı victim durumda mıyız?
Bunları belirtiyoruz. Belli aralıklarla toplanıp, inceleyip, grupluyoruz.
İlgili yerlerde ya kendimize geliştirme taskı açıyoruz veya diğer ekiplere feedback veriyoruz.
Acilen fikslenmesi, düzeltilmesi gereken bir şey varsa on-call nebekçisi sprint'e bug kartı açıyor ve kendisi hemen onu yürütüp fikslemeye çalışıyor.
Son olarak da iki haftada bir tüm API consumer ve producer'ların Aramızın metriklerini, işte nedir bunlar?
DB item count, response time, error rate, deployment frequency gibi.
Ekipçe bir TPI toplantısında toplanıp anomali var mı diye inceliyoruz.
Valla dinlerken ben yoruldum biraz.
Evet dolu dolu.
Çok önemsiyoruz bu konuyu.
Süper vallahi. Yani kaçak bırakmamaya çalışıyoruz.
Açık kapımız olmasın hiçbir yerde diye.
Buna ilk şeyi sormak istiyorum ben ya.
Şafak operasyonuyla uyandığınız hiç oldu mu?
Yani böyle bir sabah kalktık ve sabaha karşı inanılmaz alört gelmiş, onkol arıyor deli gibi ve böyle kalktık hemen müdahale ettik falan gibi bir şeyiniz oldu mu hiç?
Keşke sadece gece olsa.
Son Ramazan bayramının ilk günü mü ikinci günü mü ne?
Sabaha doğru başladı.
Yani tatil günü deli gibi geliyor.
Bir hata. Kodla ilgiliymiş o.
O bir kötüydü. Benim yakın zamanda hatırladım.
Bir de şöyle bir şey var ekip içinde.
Onu söylemeden geçemeyeceğim.
Bir arkadaşımız ne zaman nöbetçi olsa Nirvalik'ten alert geliyor.
Gece gündüz. Oradan da bir yabancı abla arıyor.
Böyle İngilizce konuşuyor. Alertim var falan filan diye.
Abla sürekli bu arkadaşı arıyor.
Ekip arasında, ekip içinde bulunayacağı artık goygayı döner oldu.
İşte sen nöbetçisin ya bugün abla seni arar diye.
Bazen öyle oluyor tabii. Gerçekten çok iyi.
Biz de yani client ekibi olduğumuz için bu tarz şeyleri anıları çok yaşıyoruz.
Her alertle alakalı soru sorduğumuz ekibe bunu da özellikle sormak istiyorum.
Bir sonraki sorum da aslında...
Siz direkt olarak kullanıcı ile çalışan bir ekipsiniz.
Yani yaptığınız şeyi kullanıcı direkt olarak kullanıyor.
Yani influencerlar kullanıyor ve direkt olarak geri bildirimi almanız çok daha kolay oluyor.
Böyle doğrudan kullanıcıya erişen bir takım olarak kullanıcılardan feedbackleri siz nasıl alıyorsunuz?
Burada şöyle başlayabilirim.
Influencerlar mobil uygulamadan sisteme giriyorlar dedim.
Burada hem userlar aslında hem de bizim sözleşmeli aslında iş ortaklarımız gibiler.
Bu yüzden kullanıcıların aldığı destek gibi de bir destek alabiliyorlar.
Cam destek üzerinden bir sorun yaşadıklarında bize erişebiliyorlar.
Daha doğrusu cam destek ekibine erişiyorlar.
Buradan tabii filtrelenip bize ulaşıyor.
Bu arada Azmi sen de bahsetmiştin bir seller experience kısmı var.
Orada da varız onu söylemeyi unuttuk.
Şu an aklıma geldi. Cam destek ekibindeki arkadaşlar da o paneli kullanarak influencerla ilgili bilgilere erişip.
Şu an çok fazla işleme koymuyorlar ama en azından bilgiye sahibi olabiliyorlar durumlarıyla ilgili.
Bunun dışında dediğim gibi influencer iş ortaklarımız aynı zamanda.
Burada onlarla ilgilenen business ekipleri de var.
Bazı influencer veya belli gruplar halinde onlarla iletişim kuruluyor.
Buradan da bir feedback toplanıyor veya buradan da mesaj nasıl anlatayım.
Mesela reklam paylaşımlarınız azalmış neden diye gidip sorabiliyorlar business ekipleri.
Veya işte farklı bir konularda böyle hiç...
Ortada sorun bildirim yok yani bir şekilde bize gelmemişler.
Ama biz de erişip onlardan öğrenebiliyoruz.
Bunun dışında bir de şeyimiz var.
Hatcher kullanıyorduk panel içerisinde.
Kullanıyoruz da aslında hala. Burada genelde şey yapmaya çalışıyoruz.
Yeni açtığımız bir feature'lar olduğunda bu Hatcher'ın bir yuvarlak balonu var.
Onu o sayfaya koyuyoruz diyeyim.
Oradan sayfayla ilgili yeri bildirimde bulunabiliyorlar.
Bir de yine panel içerisinde bir iletişim bölümü var.
Oradan bir form üzerinden yine şey yapabiliyorlar.
Bize bildirim atabiliyorlar. Burada ne diyebilirim ekstra?
Mesela yakın zamanda, 2-3 ay önce olması lazım, çok sık hatçardan bildirim almaya başladık ve bildirimin konusu da hatçar üzerindeydi.
Bu dediğim gibi sağ altta bizim panelde bulunuyor bu baloncuk.
Bir geliştirmeden sonra bu baloncukun konumu en alttaki reklamı mesela anlayacak tuşun üzerine gelmiş galiba.
O dönem bütün feedbackler Hatice'nin kaldırılması üzerineydi.
Daha doğrusu o balonun farklı bir yere konulmasıyla ilgiliydi.
Öyle de komik durumlar olabiliyor.
Hızlı aksiyon alma çalışıyoruz yine bu durumlarda da diyeyim.
Yani feedback tool'u ile ilgili feedback aldık.
Aynen öyle. Süpermiş o da ya.
Son sorumuza geldik artık.
Genelde bütün ekiplere de soruyoruz.
Evet çalıştık. Süreçlerden bahsettik.
Incident'lar yaşandı.
Onları hallettik. Bir de yine sizin de bahsettiğiniz gibi aslında remote çalışan.
Ekipleriz. Ekibin de kaynaşması gerekiyor.
Bir ekip ruhu oluşturmak istiyoruz.
Bununla ilgili sizin ekipte neler yapılıyor?
Yani geçmişteki konuklarımızdan örnekler verecek olursak işte toplanıp yemek yemeye gidenler oluyor.
İşte böyle gastronomi seyahatine çıkan ekipçe ya da işte buluşup mangal yapanlar oluyor.
Oyun oynamaya gidenler oluyor, halı sahaya gidenler oluyor vesaire.
Sizin tarafta ne tarz aktiviteler var?
Bunu yine daha önceki sorularda ufak ufak spoiler verdik diyebilirim burayla ilgili.
Burada rutin trendler için de yaptığımız gibi genel birbiriyle iletişimimizi devam ettirmek için, feedbackleşmek için birebir seyşilerimiz oluyor düzenli.
Bunu yine son zamanlarda bayağı bir düzenli halde yapmaya başladık.
Tüm takım birbiriyle dönüyor bu seyşinlere.
bir şey değil. Her sayışında biz birbirimize feedback verelim, illa bir şey söylememiz lazım gibi ilerlemiyor da genel sohbet üzerine dönebiliyor.
Feedback'imiz varsa paylaşılabiliyoruz.
En temelde bunu yapıyoruz.
Yine trend yolu içerisinde olduğu gibi dediğimizde de birlikte haftada bir, birebir yapıyoruz.
Bunun dışında yine payır çalışıyoruz demiştik ve ekstra olarak payırları da düzenli olarak karmaya çalışıyoruz.
Ona dikkat ediyoruz.
Bu da yine iletişimde arttırıyor.
Bununla birlikte pedal içerisine bolca muhabbetle çevirebiliyoruz.
Yine tren yolu genelinde yaptığım gibi her ay ofiste buluşuyoruz diyebilirim.
Bu bahsettiğim şekilde etkinlikler de yapılıyor.
Minik işte bir mangal etkinliğine biz de gidiyoruz diyeyim.
Bir şeyi bir tek planlayamadık şu anda.
Bir gastronomi turunu planlayamadık.
Çok konuşuldu. Bir gidelim Antep'e gezelim.
Günü birlik yapalım dedik ama bir türlü onu planlayamadık.
Umarım onu da halledeceğiz. Onun dışında yine söylemiştik bunda mesai sonlarında closingimiz oluyor ve burada hani iş konuşmak yasak gibi diyebilirim genelde orada.
Günle ilgili muhabbet ediyoruz işte yatırım değildir tavsiyeleri paylaşılabiliyor.
Yine güncelle konu varsa onu konuşuyoruz.
Bunların dışında da hepimizin en çok keyif aldığı bir şeyimiz var.
Haftada bir 45 dakika 1 saat arası yaptığımız bir oyun sessionlarımız var.
Burada işte online tabanlı işte browser üzerinden oyunlar oynuyoruz.
Genelde şu an favorimiz Smash Kart üzerine.
Orada takımdaki kişilerin o olabayı arttı.
Herkes çok ciddi oynuyor.
Yani kurtlar sofrası oluyor ortalık diyebilirim.
Onunla birlikte işte God Names gibi oyunlar da oynuyoruz.
Genelde böyle sıcak kalmaya çalışıyoruz diyebilirim.
Yani ekiptekiler hem İstanbul, Ankara, Eskişehir gibi böyle birçok ile dağılmış durumdayız.
Sürekli bir araya gelmemiz zor oluyor.
Ancak ofis günlerinde falan İstanbul'da bir event olacaksa toplanıyoruz.
O zaman birlikte geçirmeye önem veriyoruz günlerimizi.
Ama onun haricinde yine remote çalıştığımız için sosyalliğimiz de bilgisayarın arkasında kaldığı oluyor.
Ama oyun konusunda çok ciddiyiz.
Yani sırf oradaki puanlarımızı arttırmak için akşamları, hafta sonları falan oynadığımız da oluyor kendimiz Standalone Global'daki.
insanlarla falan. Bayağı hepimizde bir çığır açtı.
Özellikle Smash Kart. Evet Esin mesela ilk başladığımızda çok sıcak değildi oyuna karşı.
Şimdi akşamları oynuyormuş.
O yüzden mutluyuz.
Güzel gidiyor gayet. Süper valla yani biz de Smash Kart bayağı oynadık.
Şu aralar arkadaşlar Hex Ball oynuyorlar fakat ben çok sevmediğim için Hex Ball'ı çok dahil olamıyorum onlara ama güzel oluyor ya böyle.
Oyun vakti ayırmak işte haftada bir falan.
Bence güzel oluyor yani. O zaman ekipler arası bir Smash Kart turnuvası.
Olur. Düzenleyelim bunu hemen.
Anlayabiliriz aynen mantıklı.
X-Ball yapılmıştı. Smash Kart da bence mantıklı olur.
Evet. X-Ball'ı bir daha aslında yapsak güzel olur ya.
Yani bununla alakalı bir konuşalım.
Olur. Bir önceden de haber verirseniz biz de çalışalım.
Hazırlanmadır ama zaten. Kesinlikle.
Okeydir. Süper.
Arkadaşlar çok keyifliydi.
Vallahi açıkçası başta söylediğim gibi Influencer'la alakalı hiçbir fikrim yoktu.
Fakat şu an çok güzel oturdu kafamda ve gerçekten çok güzel bir ekibiniz, çok güzel bir işiniz olduğunu söyleyebilirim.
Geldiğiniz için çok teşekkür ederiz.
Çok keyifli bir muhabbetti.
Bir sonraki bölümde görüşmek üzere.
Kendinize iyi bakın. Sağlıcakla kalın.
Teşekkür ederiz. Görüşürüz.
Teşekkür ederiz. Görüşürüz. Teşekkürler.
Görüşmek üzere.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
