
Transkript
Bir haftayı daha seyir numarası ile açtık.
Ne numarası? Sihir'e benzeyen bir şey açtık.
Bir önceki konuyla bağlıyoruz.
Bir önceki programla. Güzel.
Çok iyi. Selam ekip programımız.
Bu arada çok tuhaf bir giriş oldu ya.
Az önce güzel konuşuyorduk.
Cilden resmi değiştirdik.
Evet ya. Sibel Bize'nin seyir numarası yaptı az önce.
O yüzden biraz şaşırdık. Dona kaldık.
Benim aklımda tuttuğum kartı bildi.
O yüzden onun donukluğu var.
Kusura bakmayın. Bugün bizlerle birlikte Sibel ve Soner var.
Web ekibinden, Trendyol'un merak edilen ekiplerinden Sibel ve Soner bizlerle birlikte.
Ben sizi biraz böyle kendinizi, background'unuzu, Trendyol'da ne kadar bir zaman çalışıyorsunuz gibi konular için topu size bırakıyorum öncelikle.
Selamlar. Hoş geldin demediniz ama hoş bulduk.
Hoş geldin.
Hoş bulduk.
Ben Sibel. Web ekibinde product olarak çalışıyorum.
Trendyol'da yaklaşık 3 senedir Trendyol ekibindeyim.
Bundan önce de 1,5 yıl kadar bir QA deneyimim olmuştu.
Destek Menkul Değerler diye bir Forex firmasında çalıştım.
Sonra hayatıma başladım aslında gerçek hayatıma başladım Trendyol'da.
Burada web sitesinde işte dediğim gibi product manager olarak çalışıyorum.
Biz bir ön yüz ekibiyiz.
Ön yüz ekibi olarak kullanıcının temiz ve güzel bir arayüze karşılamak.
Ve web sitesinde vakit geçirsin, daha çok dolaşsın, aradığı ürünü çok daha kolay bulsun istiyoruz.
Ve ürünü bulduktan sonra da tertemiz basit bir check out ile ödeme yapıp hayatını sollandırması en büyük hedefimiz.
Genel olarak aslında hem webden biraz anlattım hem de kendimi şöyle bir özetleştim diyebilirim.
Teşekkürler, hoş geldin tekrar.
Kusura bakma, unutuyoruz biz öyle şeyleri.
Soner'in topu bırakalım buradan.
Merhabalar tekrar. Ben de Soner.
Yaklaşık 4,5 yıldır Trendyol teknoloji bünyesinde çalışıyorum.
Aslında Trendyol'da çalışmaya başladığım ilk ekip Trendyol Web ama daha sonra Search ekibi, Seller Store gibi mobil web gibi ekiplerle beraber çalışma fırsatı buldum.
Yaklaşık 3 aydır tekrar web bünyesindeyim.
Biz aslında Sibel'in de çok güzel özetlediği gibi müşterimize en iyi deneyimi yaşatmaya çalışan bir frontend ekibiyiz.
Bu şekilde bahsedebilirim kısaca.
Sen web ekibinde başlayıp sonrasında rotasyonla başka ekiplerle çalışıp tekrar web ekibine döndün değil mi?
Evet başladığım yere döndüm aynen.
Anladım güzel. Sibel ben şeyi bilmiyordum senin bir test QA tarafında da bir deneyimin olduğunu bilmiyordum.
O nasıl oldu? Ben matematik mühendisliğe mezunuyum.
Orada aslında yazılımla ilgili işte birçok ders gördük bir sürü şey öğrendik.
İlk olarak teste başladım.
Severek de aslında geçirdim oradaki zamanımı.
Çünkü böyle bak bulmak bana çok keyifli geliyordu.
Özellikle böyle kurcalayıp bir şeyleri böyle bozmak diyeyim.
Çok özetle. Ama sonradan yani hep bir tarafımda böyle analizliğe de zaten çok yatkın da oradaki içeride küçük bir ekipti zaten bir 20 kişilik bir ekipti.
Böyle QA olarak geçiyordu ama.
Konumlanma gereği analistlik de yaptım.
İşte birçok böyle şey destek oldum projelerde ekiplere.
Sonra yani içimde böyle bir analist tarafım daha ağır bastı.
En sonunda aslında Trendyol'la tanıştım.
Normalde Trendyol'a gelmeden önce hiç e-commerce deneyimim yoktu.
Hani ne olduğunu bile sadece kullanıyordum.
Bir kullanıcı olarak deneyimim vardı.
Onun haricinde içeride nasıl bir dünya olduğunu bilmiyordum.
Ama kocaman bir dünya varmış onu keşfettim.
Oradaki deneyimin de bu şekilde aslında.
Müşterilerin gördüğü ön yüzlerden birisiyseniz aslında müşteri Trendyol'u biraz siz de tanıyor.
Siz peki hangi domenlerle veya takımlarla yakın çalışıyorsunuz?
Ben bir an bahsedeyim bu konuda.
Biz Trendyol içinde o terimlerle ifade edersek indexing ve browsing ekibiyle çok fazla çalışıyoruz.
Bu ne demek? Ürün datalarının ve yine search de bunun içinde tabii.
ürünü ön yüze Pim tarafından getiren ekip.
Bir iki podcast önce sanırım Pim ekibiyle görüşmüştü.
Yani orada bir şeyler anlatmıştı onlar.
Onlarla bizim aracımızda olan ekip bu indexing ve browsing aynı zamanda search tarafı bunlarla çok yakın çalışıyoruz.
Bunun haricinde checkout ekibiyle çok çalışıyoruz.
İşte payment promotions bunların içinde.
Yine sipariş tarafında yani bu Sipariş tamamlandıktan sonra, ödeme geçirdikten sonra ürünün yine siparişin detaylarının gösterildiği siparişlerin sayfası için OMS ekibiyle çok fazla çalışıyoruz.
Ve tabii yaklaşık bir senedir hayatımızda olan cüzdan ekibi, yani wallet ekibi bizim sık çalıştığımız domenler diyebiliriz.
Bütün mekanat ekipleriyle çalışıyoruz aslında genel olarak.
Çünkü ön yüzde hepsinin gösterileceği belli alanlar var ve o alanlarda biz de onlardan destek istiyoruz.
Evet büyük oranda birçok kullanıcı tarafında domenler olduğu için trend yoldaki bunların hepsiyle çalışman gerekiyor.
UX tarafında peki nasıl bir şey var?
UX ayrı bir ekip yapılanması mı?
Ekibin içerisinde mi yer alıyor?
Oradaki çalışmalar nasıl oluyor?
Tasarım olarak değil mi?
Ondan bahsediyoruz aslında.
Aynen, evet. Tasarım ekibi yine product ekibinin altında konumlandırılıyor.
Her bir storefront'un, biz client olarak tanımlıyoruz işte web, mobil web.
Ve mobiller yani application'lar.
Bu arada şeyin altını çizmek isterim açıkçası belki sonerde değinir mi bilmiyorum ama Trendyol web daha doğrusu Trendyol'un mobil web sitesi webin responsivi değil.
Yani orası tamamen ayrı bir dünya ve ayrı bir takım.
Ayrı bir proje teknik olarak da.
Biz sadece web sitesiyiz.
Yani web browser'dan, bilgisayarın browser'ından erişilen site.
Tasarım ekibi bu bahsettiğim client'ların hepsinde ayrı ayrı.
ayrı ilgilenen kişiler var.
Hatta bekent ekiplerinin de tasarım desteği veren arkadaşlarımız var.
Bunlar konumlandırma olarak product altında duruyorlar.
Ama ekiplerin içinde ekiplere destek oluyorlar.
Trendyol dışındaki böyle insana gelen şeyleri çok merak ediyor.
Trendyol içerisindeki ekip yapılanması nasıl?
Sorular böyle çok geliyor.
Sizdeki yapılanma nasıl? Biraz böyle ondan bahsedebilir misiniz?
Kaç kişisiniz? Ekipteki insanların görevleri ne?
Biz şu an 15 kişiyiz web ekibi olarak.
Burada daha iki arkadaşımız ayrımızdan ayrıldı.
Yeni bir rotasyonla başka ekibe geçti ama hala bizim ekipte destek veriyorlar bazı durumlarda.
İki köye arkadaşımız var ama bizde aslında QA developer ayrımı kalmadı diyebilirim web özelinde.
Çünkü o arkadaşlar da deploymentlar, konfigürasyon değişiklikleri, otomasyon testlerinin yazılmasına developer arkadaşlarla beraber çalışıyorlar.
Şu an aslında iki QA, 13 developer.
Ama bazen başka ekiplerle ortak çalıştığımız projeler için kısa sürede başka ekiplerle kullanan arkadaşlarımız da olabiliyor.
Bazen bu sayı bir artı biraz alabiliyor duruma göre.
Bir de hazır bölüm takım yapısına da girmişken ne tür teknolojiler kullanıyorsunuz?
Burada BFF'ler neler?
Ya da işte en çok merak edilen şeylerden birisi de hatta daha önceden de bir programda sanırım soru gelmişti bununla ilgili.
Mikrofrontend yapımız burada nasıldır?
Biraz da bunlara değinebilir misin Soner?
Tabii ki. Biz Frontend tarafına yakın olduğumuz için aslında çok fazla JSON manipülasyon işlemleri yapıyoruz.
Bir ekranı doldurmak için bazı durumlarda, örneğin ürün detay sayfasında, ona yakın servisle iletişimde olduğumuz durumlar olduğu için biz bu tarafta JavaScript'e yakın bir stack tercih ediyoruz.
Yani Node.js kullanıyoruz.
Aynı zamanda bizim mobil uygulamalardan farklı olarak bir SEO kriterimiz olduğu için aslında Node.js artı Express Server ve Server Side Rendering ile klientlere hizmet veriyoruz.
Biraz mikrofrontend yapısından da bahsedecek olursam, zaten trendin gitmek istediği noktalardan bir tanesi de bu.
Ekiplerin dikey konumlandırılması.
Bu noktada aslında bir sayfa içerisindeki HTML bileşenleri birden fazla gatewayden runtime ile toplanıp SEO datalarıyla birlikte ön yüze iletiliyor.
Frontend tarafında React kullanıyoruz.
React'ın son versiyonunu kullanıyoruz.
Bunu tercih etmemizin sebebi de aslında performans, SEO artıları ve community desteği.
Dönem dönem başka teknolojilerle de POS'ler yapıyoruz.
Ama şu an için mainstream olarak React'i tercih ediyoruz.
Peki bir şey vardı.
.NET Legacy bir application vardı Storefront tarafında.
Bu o zaman tamamen öldürüldü diye anladım ama.
Yok aslında orası öldürülmedi.
Orası hala bir kabuk olarak çalışmakta.
Ama şu anda paralelde .NET'in en son versiyonu olan .NET 5 ile replatform ediyoruz.
Ama bu noktada istediğimiz şey bütün...
Business'ların gateway'ler üzerinden gelmesi.
HTML'lerin, JavaScript'lerin, tasarımların ve SEO datalarının.
Bu yeni yazacağımız kabuğun sadece bu parçaları alıp, routing'ini yönetip, müşteriye en hızlı şekilde server etmesi.
Yani o noktada artık business'ları tamamen gateway'lere modüler.
Onlara da fragment adını veriyoruz.
Fragment bazı yerleştirmek.
Örneğin ürün detay sayfası için konuşacak olursak, ürünün bilgileri bir parça, recommendation bir parça, review and rating bir parça.
her biri minik tek sorunu olan projeler şeklinde ilerletmeye çalışıyoruz.
Puzzle.js'i sizin ekip mi yazmıştı?
Bu Microfrontend mimarisine geçerken böyle hazır bir çözüm mü kullandınız yoksa kendiniz mi yazdınız?
Puzzle.js'i ben mobil webdeyken mobil web ekibiyle birlikte geliştirmiştik.
JavaScript temelli bir uygulamaydı ve Puzzle.js'de Microfrontend dünyasına giriş yapıldı.
Bizim tarafımızda legacy bir bekenimiz olduğu için ve fiziksel kullanıcılarda durduğu için, gerçi öldürüyoruz şu an ama hala o şekilde, o yapıya geçiş imkanımız olmadı.
Ama Puzzle.js'i tamamen içeride mobil web ekibi geliştirdi.
Şeyi soracaktım ben de web ekibine yeni başlayan birisini neler bekliyor?
Yani ilk haftasında ya da işte ikinci haftasında neler yapıyor?
Nasıl onboard oluyor? Biraz onlardan bahsedebilir misiniz?
Tabii ki. Biz web ekibinde iki haftalık bir onboarding süreci işletiyoruz.
Bu onboarding süreci aslında ekiple tanışma ile başlayıp production'a coach çıkmayla biten bir süreç.
Biraz detaylandıracak olursam ilk başta ekiple bir saatlik yakın yaklaşık olarak bir saatlik bir tanışma toplantımız olur.
Daha sonra ekibin kültürü, şu an neredeyiz, nereye gitmek istiyoruz, en büyük challenge'larımız ne, bunları konuşuruz.
Teknoloji aktarımları yaparız.
Monitoring sistemlerimiz, alert sistemleri, code base'imiz nerede, nasıl bir deployment stratejimiz var.
Bunları konuştuktan sonra ikinci hafta genellikle pair programming ile geçer.
Ve hedefimiz aslında Yeni katılan ekip arkadaşının ilk haftaki onboardingden sonraki süreçte pair programming ile ilk kodunun production'a en erken şekilde çıkması.
Bunun için süreci sürekli iyileştirmeye devam ediyoruz.
Bizim için en iyi sonuç aslında pazartesi başlayan bir arkadaşın diğer pazartesi günü yazdığı kodu trendon.com'da görebilmesi.
İlk haftaki onboardingde de aslında product tarafıyla da bir aktarımları var.
O noktaları product ekibi biraz daha iyi anlattığı için onlara devrettik.
Belki Sibel'in o konuda biraz daha detay verebilir neler konuştuklarına dair.
Ben de orasından çok kısaca bahsedeyim.
Zaten ekibe her katılan kişiyle ayrıca product olarak toplanmaya çalışıyoruz.
Özellikle ekibin ait product'ı bir session yapıyor.
Onun haricinde ise gerek gördüğümüz zaman diğer product'larla da know-how edinme açısından katılan arkadaşı buluşturabiliyoruz.
Bizdeki bilgi aktarımında...
Web sitesinden örnek verirsem web sitesinin business'ını, sayfalarda neler var, hangi sayfada hangi özellikleri kullanıyoruz gibi böyle.
Kısaca bunlardan bahsediyoruz.
Product tanıması için.
Onun haricinde de genelde işte web sitesindeki kullanıcıların yaklaşımları ne?
Ne gibi kullanıcılar web sitesine geliyor?
A-B testler yapıyoruz çok sıklıkla.
A-B testleri neye göre yapıyoruz gibi böyle.
Kısaca onlardan bahsetmeye çalışıyoruz ki.
Sadece böyle daha biznesa hakim olup teknik değil de biznes kolunu da güçlendirmeye çalışıyoruz katılan arkadaşın.
Peki remote'dan önceki bir pratiğinizle şu anki pratiğinizin farklı olduğu bir yer var mı?
Remote'a geçince şöyle bir pratik yaptık onboarding sürecimizde ve aslında daha iyi oldu dediğiniz bir şeyler var mı?
Ya da çalışma sürecinizle ilgili de olabilir.
Aslında bence aktarımlar çok daha net oldu diye düşünüyorum ben.
Remote'a geçtikten sonra...
Daha çok yazılı tutmaya başladı her ekip.
Yani Trendyol tek içerisinde ben öyle görüyorum.
Web ekibi üzerinde de bunu söyleyebilirim.
Eskiden böyle daha sözde tabii çok yüz yüze görüştüğümüz için daha sözde gidiyordu her şey.
Bu noktada önden yeni katılacak arkadaşa bazı bilgileri paylaşmak için bunları artık böyle yazıya dökmeye başladık.
Aynı zamanda daha böyle kolay olarak, bence kolay olarak en azından.
Toplantılar yapabiliyoruz.
İşte Zoom'da hemen bir araya gelebiliyoruz ya da işte neyde olursa çok önemli değil.
Orada böyle anlatırken çok daha net anlaşılıyor.
İşte ekran paylaşarak orada bazı sunumlar yaparak vesaire bunları böyle daha net aktarabiliyoruz diye düşünüyorum.
En azından remote öncesi döneme göre.
Peki deployment için ne kullanıyorsunuz?
CRCD pipeline'ınızı biraz anlatabilir misiniz?
Tabii ki. Biz deployment için gitlebi kullanıyoruz.
CLCD pipeline ise bizim UI ağırlıklı işlerimiz olduğu için bazen API ekiplerinden farklılık gösterebiliyor.
Örneğin orada bir otomasyon testi, bir API'ın bütün testlerini cover edebilirken biz de işin içine UI girdiği için cross browser testlerini de dahil etmemiz gerekiyor.
Ve burada bazı legacy browser için otomasyon testi yazabileceğimiz tool'lar bulmak çok zor.
O yüzden UI kritik işlerde manuel test de yapmamız gerekiyor.
Örneğin bir API yazdığımız zaman evet bunu test edip çıkarız.
Ama bazı browse'larda özellikle Internet Explorer 11 supportumuz var ve Safari supportumuz var.
Bu browse'ların internet standartları dışında bazı davranışları olduğu için yapacağımız işleri kısa da olsa buralarda mono olarak gözden geçiriyoruz.
Ama Chromium tabanlı browse'larda bu süreçler otomasyon testleriyle daha sağlıklı ilerliyor.
Deployment Frequency'ın konusunda da aslında yaptığımız testten geçtiğimiz production'a çıkıyoruz.
Çünkü burada bahsettiğim gateway yapısından dolayı aslında bir gatewayde yapacağımız iş başka herhangi bir yere gelmeyecektir.
Sadece ürün detay sayfasını ilgilendirdiği için işler birbirini beklemiyor ve yapılan iş 15-20 dakika içinde production'a görülüyor.
Hangi browserda destekleyeceğinizi nasıl karar veriyorsunuz?
Yani mesela Internet Explorer 9'u şu an destekliyor muyuz bilmiyorum ama nasıl kestiniz eğer kestiysek?
Aslında Trendyol'daki her şey gibi buna detayla karar veriyoruz.
Kullanıcıların giriş yaptığı user agentlerden.
Yıllık, aylık çok önemli değil.
Browser kullanım oranlarını ölçüyoruz ve trendlerini ölçüyoruz.
Şu an internet explorer kullanımı az da olsa devam ediyor.
Özellikle resmi kurumlarda sadece internet explorer kullanılabildiği için aslında çok da az değil.
Yüzde bir, bir buçuk seviyelerindeydi en son.
Bu yüzden internet explorer'a destek veriyoruz ama daha önceki browser'a destek vermiyoruz.
Zaten explorer 11 ile birlikte toparlandı.
Daha önceki internet standartları dışındaki desteklerini de kestiler.
Safari'e destek veriyoruz.
Bunun dışında Chromium tabanlı birçok browser'dan alışveriş yapılıyor ama bunların hepsinin tabana ortak olduğu için onlarda bir problem yaşamıyoruz.
Aslında data ile karar veriyoruz diyebilirim.
Her zaman merak ettiğim bir konu browser desteği.
Çünkü ne kadar çok browser desteklemek istersen o kadar da çok zorluk yaşıyorsun.
Bir CSS birine çalışırken diğerine çalışmıyor gibi durumlar ortaya çıkabiliyor.
Sürekli canlıya çıktığınızı söylediniz iş bittiği anda.
Peki kodu yazarken bunu nasıl yönetiyorsunuz?
Yani kod review nasıl, test süreciniz nasıl, TD'de uyguluyor musunuz?
Geliştirme sürecinde test driven development uygulanabilecek birçok noktada uyguluyoruz aslında.
Ama legacy projede uygulayamadığımız noktalar oluyor.
Çünkü daha önce hiç test yazılmamış ve çok solid presten uygun olmayan noktalar var.
Her projede illaki vardır bu tarz noktalar.
Oralarda bu pratikleri bazen göz ardı edebiliyoruz ama yeni yazdığımız noktalarda.
Test Driven Development ve Pair Programming ile gitmeye çalışıyoruz.
Test konusunda ise backend kısımlarında zaten birim testler var.
Ön yüz kısmında ise şu an yeni bir altyapı deniyoruz Cypress ile.
Burada otomasyon testlerine de güvenmeye başladık.
Bu şekilde ilerliyoruz.
Pipeline'da bu testler çalışır.
GitLab'in Code Quality ve Coverage Threshold prensiplerini kullanıyoruz.
Diplomacy süreci zaten doğrudan Kubernetes üzerinden ilerleyen bir süreç.
Ben de onurda esinlendim bu soru için.
Pandemiden önce ofiste çalışırken mi daha çok peri yapıyordunuz yoksa şimdi mi?
Bence çok değişiklik olmadı.
Ama ilk başlarda yani özellikle Mart, Nisan, Mayıs döneminde Mayıs saymasak da olur gerçi ama özellikle ilk iki ayda peri programı yapmak zordu.
Çünkü buna uygun yazılımı araştırdık.
Alışık olmadığımız şeyler, ekran paylaşıyoruz.
Bazen o ekranda dikkatimizi atacak şeyler olabiliyordu.
Ve sonuçta konuştuğumuz kişi yanımızda değil.
Bazen işte ekranda bir yere gösterip burayı sorabiliriz ama Lumut'ta peer yaparken bu pratiklerin oturması biraz zaman aldı.
Ama şu an için daha ilerliyor diyebilirim.
Ben de kesinlikle katılıyorum.
Bizde de biraz daha iyi oldu.
Programik şeyi göre, ofiste çalışmaya göre.
Şey soracağım. Web tarafı da böyle bir sorun olduğu zaman aslında müşterinin direkt etkilendiği yer baktığım zaman.
Yani başka bir API'de bir şekilde sorun olduğu zaman onu belki direkt muhatabı müşteri olmayabiliyor ama aslında direkt müşteri.
bir şekilde instant sayısını da azaltmak için büyük ihtimalle takip ettiğiniz bazı metrikler var.
Bunları biraz bahsedebilir misin?
Neleri takip ediyorsunuz? Nelerden alert üretiyorsunuz?
Bu noktada API'ler ile standart kullandığımız metrikler var ve web doğasına uygun metrikler var.
Ben biraz bunlardan bahsedeyim.
Tabii ki en çok kullandığımız metrik response time, average response time ve %95-%99 percentile'ları kullanıyoruz.
Bunun dışında browser'dan gelen hataları takip ediyoruz.
Bazen uygulama çok hızlı cevap verir ama JavaScript hatasından dolayı aslında kullanıcı hiçbir şey yapamaz.
Bu yüzden de JavaScript error rate'leri kullanıyoruz.
Bunun dışında kalite odaklı bazı metriklerimiz var.
Bunlar Google'ın önerdiği metrikler.
First content, time to first byte gibi aslında.
Kullanıcı browser'a girdiği zaman ilk byte'i ne zaman alacak, ilk içeriği ne zaman görecek gibi metrikleri takip ediyoruz.
Bunun dışında business metriklerimiz var.
A-B testing metrikleri gibi.
Belki bunlardan biraz bahsedebiliriz.
Burada ben data konusu açılınca hemen bunlarla çok haşır neşir olduğumuz için bir iki tane metrikten ben de ekleme yapayım.
Soner'in bahsettiği business metrikleri dediğimiz işte ön yüz olarak biz birçok şeyi kullanıcıya sunmadan önce yani tamamen yüzde yüz olarak sunmadan önce AB test yapıyoruz.
Zaten Trendyol muhtemelen şu an Türkiye genelinde en çok AB test yapan sitedir diye tahmin ediyorum.
site olarak hem de mobil uygulamalarında aynı şekilde vereceğimiz UI kararlarını hiçbir durumda kafamıza göre vermiyoruz aslında.
Hep böyle bir A-B test karşılaştırmalı, bunu değiştirirsek nasıl olur diye o sonuçlara bakıyoruz.
Trendyol genelinde A-B testlerde baktığımız metrikler içerisinde transaction var.
Transaction ne demek?
Alışveriş adedi. Yine biz bunları web tarafına session bazı bakıyoruz.
Session'dan, custom'dan aslında bir kullanıcının ziyaret adedi oluyor.
Yine aynı şekilde revenue var, toplam alışveriş geliri.
Bunların da birbirlerine oranları var.
İşte toplam alışveriş gelirinin bir kullanıcı için değeri, toplam alışveriş gelirinin session başı değeri gibi.
Bu metrikleri de bütün AB testlerimizin sonuçlarına karar verirken her zaman göz önünde bulunduruyoruz.
Takımınızı bir kelimede tanımlamak isterseniz o kelime ne olurdu?
demiyorum. Takım olarak en büyük challenge'ınız sizin nedir?
İnternet Explorer. Artık Firefox'lar geldi.
Takım olarak en büyük challenge'larımızdan bir tanesi aslında Microfrontend dönüşümü.
Buraya odaklandık son bir yıldır.
Çok zor bir konu aslında.
Parçaları başka ekiplere vermek basit ama bir yandan da sağlamamız gereken bazı kalite standartları var.
UI tutarlılığını sağlamamız gerekiyor.
SEO değerlerini korumamız gerekiyor.
Başka bir ekibin çıktığı bir kodun başka bir şeyi bozamaması gerekiyor.
Orada bir güvenlik sistemi olması gerekiyor.
Sistemin tüm güvenliğinin bizim üzerimizden geçmesi gerekiyor gibi zorluklar var.
Diğer zorluk aslında Onur'un bahsettiği gibi legacy browserlar ve legacy web diyebilirim.
Abi sen anlatırken fark ettim ben de ya.
Şimdi kendime bakıyorum da 2016'dan beri browserla çalışmıyordum galiba ya.
Daha önce bile olabilir hatta.
Böyle tüylerim yurtardı.
testleri falan deyince.
Peki en son retroda en benim en sevdiğim soru çünkü improvement ile alakalı bir anlamda.
En son retroda olmasına gerek yok ama en son retroda olursa daha güzel olur.
Aldığınız bir gelişim alanı, bir aksiyon alanı bunu şeyle de bağlayabilirsiniz.
Bizim takım olarak burada bir gelişim alanımız var ve böyle bir aksiyon maddesi çıkartmış gibi bir şeye de bağlayabilirsiniz.
Bizim aslında son retromuzda yeni Ekibeyni katılan arkadaşlarla ilgili böyle genel bir toplaşma retrosu oldu.
Hem yeni yılı böyle kutladı.
Yani yeni yıldan önceki retroydu.
O yüzden böyle biraz yeni yılı kutladık.
İşte birbirimize ilgiliklerde falan bulunduk.
Öyle bir retroydu.
Ama ondan önce özellikle BF sürecinden sonra yani Kasım'dan sonraki retro içinde o Aralık ayındakinde BF'den öğrendiklerimiz bazı böyle öğrendiğimiz
şeyler vardı. Onların üstüne konuştuk.
En temeli konflik değişikliğiydi aslında bizim için.
Konflik değişikliğini manuel yapıyorduk bundan öncesinde.
Şimdi bunu pipeline'e alıp test ve review sürecine dahil ettik.
Yani artık böyle gidip manuel olarak bir şey değiştirip hemen böyle production ortamında bir şey görülmüyor.
Onların işte review'u, testi sürecini geçiyor.
Bununla ilgili de benim bir alım var.
Burada bahsetmek isterim.
Bu konflikt değişikliğini manuel yaptığımız zamanlarda Banner Admin diye bir platform var.
Bilmiyorum duydunuz mu ama onu kullanıyorduk.
Birçok kişi de bilir zaten Trendyol'un içindeki Banner Admin'i.
Burada konflikt değiştiriyoruz.
Navigation menü var webde.
Bu kadın, erkek, çocuk vs.
yazdığı o tab'ler aslında.
Navigation menü diyoruz.
Biz burasını JSON'a yönetiyoruz.
Ve hani dışarıdan müdahalesi kolay olabilsin diye içerisindeki kategorileri değiştirmek için bir JSON koyuyoruz oraya.
O dosyayı değiştirmemiz gerekti.
İşte business ekibinden geldi işte şunları ekleyeceğiz vesaire.
Ben onu değiştirdim.
Değiştirdim ve masadan kalktım bir kahve almaya mı bir yere gittim.
Bu birkaç dakika içinde işte marketing problemizden vesaire böyle bir sürü şeyler yapacak.
Navigation menü gelmiyor, webde navigation menü gelmiyor vesaire diye.
Orasını direkt patlatmışım.
Sebebi de şu, sonradan anladık.
Dosyayı değiştirirken dosyanın içine bir tane fazladan enter bırakmışım.
Ben hani farkında değilim o boşluk diye enter'a basmışım.
Onu da böyle okuyamamış sistem ve bir şekilde o getirememiş o JSON dosyasını.
Bu bize bayağı böyle büyük bir ders olmuştu.
Evet çok büyük bir incident değil ama test ve review'dan geçmediği zaman...
bu tarz sistemlerde, büyük sistemlerde cidden bu tarz böyle komik ama trajikomik daha doğrusu sıkıntılara sebebiyet verebiliyor.
Sonradan bayağı dalga geçtiler benimle işte.
Jason'ı update edip kahve içmeye çıktı.
İşte fake fotoğraflar falan atıyorlar.
Sibel kesin Jason'ı update etmiştir.
Böyle kahvede beni görüyorlar.
Sürekli dalga geçiyorlar falan.
Böyle bir anımız var.
Geçmiş olsun. Zaten şey ya böyle bir yerleri patlatmadan Neyi düzelteceğini bazen bilemiyorsun.
İnsanda çok şey katıyor.
Benim de aslında merak ettiğim bir konu da bu.
Bu güzel bir örnek oldu ama böyle son zamanlarda daha güncel patlattığınız sistemde bir şey var mı?
Anınız var mı? Sonrasında oradan bir ders çıkardınız.
Böyle bir aksiyon maddesi aldık dediğiniz bir şey var mı?
Az önce Sibel'in bahsettiği navigasyon menünün gitmesi en güncel örneklerden biri olabilir.
Burada da aslında bizim bir dashboard'ımız üzerinden konfig yönetiminde yaşanan bir problemdi.
Önlem olarak da konflikleri source control'a indirdik.
Platform 2000'de sağladığı bir altyapıyla birlikte.
Artık herhangi bir konflik değişikliği en az bir pull request onay alması ve validationları geçmesi gerekir.
Validationlardan geçtikten sonra ancak sistemler yapılabilir.
Bu süreçte aslında süreci biraz daha otomatize ettik diyebilirim.
Üstelik source control aldığımız için de yanlış bir değer göndersek bile geriye almamız ve versiyonu istiyor tutmamız açısından yararlı oldu.
Ellerinize sağlık. Vallahi güzel.
Öyleydi böyleydi derken programı da kapattık yavaştan.
Soner, Sibel çok teşekkürler katıldığınız için.
Çok güzel bir program oldu bizim için de.
Bir sürü şey öğrendik.
Sizin son olarak eklemek istediğiniz bir şey var mı?
Yoksa Sibel'den bir türkü alacağız.
Bunu konuşmamıştık.
En son kapanışta türkü yok.
Onu çok eklemedim ama ben şey ekleyebilirim aslında.
Bunu bütün ekibe katılan arkadaşlara da söylüyoruz.
Sadece web üzerinde değil, Trendyol ekibine katılan.
Özellikle ön yüzü olarak çok işin içinde olduğun zaman çoğu şey normalmiş gibi geliyor.
Yani böyle çok fark edemiyoruz en ufak bir değişiklikleri bile.
Bununla ilgili ufak bir anekdota paylaşabilirim birazdan.
O yüzden feedbacklere çok açığız.
Her yerden gelecek.
Herhangi bir feedback bizim için çok değerli.
Zaten genel olarak Trendyol içerisinde de çok büyük bir feedback kültürümüz var.
Bunu sadece çalışma olarak değil, görülen o akışta fark edilen herhangi bir şey de bize geri dönüş sağlanabilir.
Teknik olarak zaten her zaman konuşuyorlar ama ön yüz olarak da o experience'da bazı eksiklikler ya da olacağını düşünülen ekstra bir özellikler söylenebilir.
Buradan her zaman açık olduğumuzu ayrıca belirtmek istedim.
Örneğimiz de şu aslında genelde biz ön yüzde web tarafında ya da mobillerde neyse ismi her zaman daha ufak puntoyla yazarız.
Markayı daha büyük bir puntoyla yazardık.
Yani en baştan ben Trendyol'a geldiğimden beri bu şekildeydi.
En son kitap tarafından kitap kategorisinden birisi bize bir feedback verdi.
Haklı olarak şunu dedi.
benim için İş Bankası yayınları önemli değil, kitabın ismi önemli.
O yüzden bunu öne çıkarabilir miyim diye böyle bir konu geçmiş.
Biz de sonra bu isim ve markanın puntolarını eşitledik.
Ve fark ettik ki hakikaten böyle.
Yani eskiden Trendal Fashion Space olduğu için marka ismi çok daha önde oluyordu.
Çünkü bir ürünün tabii ki de ayakkabı olması önemli.
Herhangi bir markanın daha önemli oluyor fashion'da isminin önek çıkarılması.
Bu feedback sayesinde biz böyle hani her zaman gördüğümüz ama fark edemediğimiz bir şeyi anladık.
Yani bir hatamızı diyebiliriz belki de.
Böyle feedbacklere her zaman açığız.
Çok güzel bir feedbackmiş gerçekten.
Böyle tam kullanıcı deneyimi.
Peki bu feedbackleri nereden iletmeleri gerekiyor?
Liginden falan mesela sana yazmaları okey mi?
LinkedIn'den olabilir.
Normal zaten ekip içinde direkt bize yazabilirler normal Slack grubumuzdan.
Ama dışarıdan da LinkedIn'den her zaman yazılabilir.
Böyle şeyler hakikaten ufak gibi gözükse de o an o işe çok yani hepinizde oluyordur zaten.
Kör oluyorsun işin içerisinde olduğun için.
Her zaman bekleriz bu tarz feedbackleri, bu tarz experience geliştirmelerini.
Peki şimdi...
Program devam ediyor. Sibel az önce Esenler ve Arem'den bahsettik.
Programlarda okunan türkülerden bahsettik.
Programın kapanışında da bundan bir kutu okuyacağından bahsetmiştim yayından önce.
Diyorum ve mikrofonu sana bırakıyorum.
Sibel gösterisi yaptıktan önce söylemişti değil mi?
Evet evet. Soner değişiklik edin demişti sanki.
Tabii. İstek parçanın varsa onu aldım.
Vav. Gerçekten sözleşmiştim.
Yok ya söylemeyeyim.
Programın önüne falan geçebiliriz.
Şarkı söylersin. Programın kapanış müziği yapıyoruz ama biz bunları yapıyoruz.
Peki tamam.
Teşekkürler. Soner mikrofonu bir kapatıp açıyor.
Bence Soner bir şey söyleyecek ama.
Çok teşekkürler öncelikle.
Bizi konuk ettiğiniz için. Biz teşekkür ederiz abi ama şarkı söylemeyeceksin galiba.
Ben söylemeyeyim. Daha iyi söylenen arkadaşlarımız var.
Onlar söylerse daha iyi olur.
En azından dinleyenlerin sağlığı açısından.
En azından denedim. Peki söyleseydiniz neyi söylerdiniz?
Çok seviyorum. O aklıma gelmedi aslında.
Şarkı ismi verseniz belki daha büyük bir zan altında bırakabilirsiniz insanları.
Bu şekilde değil mi? Hani şey yaptığınız gibi hani Enes'e şu şarkıyı söyleyecektin abi deyip orada belki daha kolay olabilirsin.
Bir ekibi gitarıyla gelmişti ama sağlık olsun.
Neyse tamamdır.
O zaman yavaştan kapatalım.
Tekrar teşekkürler Soner, Sibel.
Çok teşekkürler.
Biz de teşekkür ederiz.
Görüşmek üzere.
Görüşmek üzere.
Hoşçakalın.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
