
Konuklar: Neslihan Yılmaz, Yüksel Orhan, Zülal Akkan Çiçek
30. bölümümüzde konuğumuz Asteria ekibi oldu. Ekip yapısını, projelerini, teknoloji stack seçimlerini ve çok daha fazlasını konuştuk!
Transkript
Selam ekip. Ben Odur Masratat ekibinden Fırat.
Ben Product Center ekibinden Erdem.
Ben Stonefront TR ekibinden Cengiz.
Teknoloji ekiplerini tanıdığımız ve süreçler, teknolojiler gibi konuları konuştuğumuz Selam Ekip Podcast serisinin 30.
bölümündeyiz. Bu bölümde Aseri ekibiyle birlikteyiz.
Aseri ekibini tanıyıp, ekip yapısını, kullanılan teknolojileri, pratikler gibi konuları konuşmayı planlıyoruz.
Arkadaşlar hoş geldiniz. Hoş bulduk.
Hoş bulduk. Şimdi kısaca bir kendinizi tanıtmanızı isteyeceğiz.
Sarayla gidelim isterseniz. Neslihan senden başlayalım.
Sonra Zülal, sonra da Yüksel diye gideriz.
Olur. Selamlar Neslihan ben.
2020 yılından beri aktif olarak çalışıyorum.
Trend yoldan önce iki farklı film...
Haziran 2022'den beri de Trendyol'da Asteri ekibinde developer olarak çalışıyorum.
enjiner olarak çalışıyorum.
Son 6 aydır da Astere ekibinin bir üyesiyim.
Çok güzel Yüksel ve Neslihan hoş geldiniz.
Yüksel bu arada sende sanırım çok fazla tecrübe var.
Hem önceden de farklı şirketlerde çok çalışmışsın ya.
Belki konuları açılırken konuşuruz.
Karşılaşma falan da yaparsın.
Bayağı güzel olur. Şimdi öncelikle biz hepimiz biliyorsunuz.
Ben, Fırat, biz Astere ile aynı tribe'danız.
Önce bir tribe'dan bahsetmek istiyorum.
Hani öncelikle bir fulfillment tribe.
Astere ekibi fulfillment tribe'ı altında hepimizin bildiği gibi.
Peki bu fulfillment tribe'ı nedir?
Önce bir tribe'dan bahsedip daha sonra hani ekip nedir, ne yapar, bu konulara girersek daha güzel olur gibi.
Önce Neslihan bir tribe'den bahsedebilir miyiz?
Tabii ki. Biz Fulfillment tribe'ında Asteria olarak varız.
8 farklı ekip var bu tribe içerisinde.
71 kişiyiz toplamda.
Fulfillment olarak e-ticaret süreçlerinin neresinde konumlanıyoruz, ne gibi problemlere odaklanıyoruz ve çözmeye çalışıyoruz.
Genel olarak ondan bahsedeyim kısaca.
Bir e-ticaret firmasının olmazsa olmaz yeteneklerinden birisi aslında Fulfillment süreçleridir diyebiliriz.
Bu süreçler kimi firmalarda outsource edilebilirken kimi firmalarda Bu noktada trend yolu içerisinde olabildiğince genel şekilde tanımlamak gerekirse sanal olan siparişlerin
fiziksel siparişlere dönüştürülerek kargoya teslimi hazır hale getirilmesi diyebiliriz.
Tabaca 3 anı süreçten oluşuyor burada süreçler.
Inbound, Task Management ve Outbound aslında.
Inbound süreçleri Fulfillment Center'da daha çok stok kazandırdığımız ve kalite kontrol odağı olan süreçler.
Mal kabul süreçleri ya da iade süreçleri örnek olarak verilebilir.
Atman süreçleri dediğimiz kısım, fulfillment center'dan yine çıkış yaptığımız, aslında stokları elden çıkarttığımız ve siparişi tamamen olgunlaştırdığımız nokta oluyor.
Burada da yine SEG sürecine örnek verebiliriz.
Bu süreçlerin arasında da daha çok böyle görev bazıları ilerleyen, yani bir...
siparişten ziyade binlerce aslında sanal siparişi fiziksel olarak olgunlaştırmaya ve sevgi hazır hale getirmeye çalıştığımız toplama, ayrıştırma, paketleme gibi az süreçleri içeren task management bulunuyor.
Buradaki akışı kısaca böyle örneklemek gerekirse aslında Trendol üzerinden herhangi bir platformdan verdiğimiz sipariş onaylandıktan sonra eğer stock true ya da flow true dediğimiz akışa sahipse fulfillment süreci
devreye giriyor. İlk olarak bu siparişler fiziksel ürünlerle eşleşiyor, toplanıyor, ayrıştırıyor.
alıyor, paketleniyor ve aslında o en son turuncu pakette haline geliyor.
Kargolara teslim ediliyor.
Gün sonunda da kapımıza kadar geliyor.
Süper. Yemin ederim süper özetledin.
Çok iyi. Teşekkür ettim.
Ben teşekkür ederim. Fulfillment tarafında başlarken şey diyordum depo.
Hani depo nedir? Çok dışarıdan böyle kapalı kutu gibi oluyordu.
Ama aslında içeri girince çok fazla süreç olduğunu, biznesler olduğunu, farklı bir dünya olduğunu görüyorsun.
O yüzden güzel oldu. Süpersin.
Süper. Ağzınıza sağlık.
Ben biraz daha burada çalıştığınız domainle, ekiple alakalı konuları merak ediyorum.
Yani çalıştığınız domainler, ekipler nedir?
Daha doğrusu hangi domainlerle ya da takımlarla da yakın çalışıyorsunuz?
Hem işte kendi çalıştığınız domain hem de yakın olduğunuz domainlerden merak ediyorum aslında.
Ben bizim ekipten ve domenilerden bahsedebilirim.
Biz Asteria ekibi olarak bir Fulfillment yani depo ekibiyiz.
Bu tribe içinde temel olarak B2B, Picking, Shipping ve Conveyor Management domenilerinin sahipliği bizim ekipte.
Çok kısaca bu domenilerden bahsedebilirim.
B2B yani Business to Business siparişleri Trendyol'dan başka firmalara yapılan siparişleri temsil ediyor.
B2B domeni içerisinde oluşan B2B SD ve FD siparişlerini toplanıp sevk edilerek depodan çıkarılmasını biz sağlıyoruz.
B2B Return var bir de. B2B Return de çok daha bebek bir proje.
Tamamen canlı yalalı 3 gün oluyor aslında.
Bu proje de B2B'lerin iadesinin alınabilmesi için yapıldı.
B2C yani Business to Customer olan siparişler içinse Packing ve Shipping domenleri bizde.
Burada da paketlemesi yapılan siparişlerin konfirmasyonu tamamlandıktan sonra otomatik olarak sevk edilmesini sağlıyoruz.
Conveyer Management'da ise konveyere koyulan tüm paketleri uçtan uca yönlendirebildiğimiz bir sistem sağlıyoruz.
paketin hangi şuttan düşeceğini biz söylüyoruz.
Genel olarak böyle diyebilirim.
Ben de şeyden bahsedebilirim.
Hangi takımlarla yakın çalışıyoruz vs.
Biz bayağı bir dış ekiplerle yakın çalışıyoruz aslında.
Depo operasyondaki süreçler sıralı ve birbirini etkilediği için tribe içi ekiplerle zaten etle tırnak gibiyiz.
İşte mesela orderla ilgili konularda order master data ekibiyle, stok rezervasyonu, sevkten sonra stokların silinmesi veya B2B iadeyle ürünlerin stoka kazandırılması süreçlerinde stok alokasyon ekibiyle B2C'deki Paketleme
domenimiz de aslında operasyonel bir task olduğu için Sirius ekibiyle.
Ve yine paketlemede ST elektronik süreci var.
İşte depolarımızda elektronik ürünlerin mal kabulü yapılırken e-mail veya seri noyla mal kabulü yapılıyor.
Ve bu mal kabul süreci de inbound ekibinin sorumluluğunda.
Yani bu aşamalarda da inbound ekibiyle yakın çalışıyoruz.
Paketleme sonunda paketlerin üzerindeki kargo etiketleri sürecinde tribe dışı bir ekip olan delivery ekibiyle yakın çalışıyoruz.
Konviyör makineleriyle iletişimi biz sağladığımız için konviyör firmasıyla da yakın çalışıyoruz.
domeni içinse GPM ekibiyle bayağı bir yakın çalışıyoruz.
İşte B2B siparişleri ve B2B iade siparişleri onlardan bizim tarafımıza akıyor.
Ve siparişle ilgili süreçsel statü update'lerini de biz onlara sağlıyoruz.
Sevk öncesinde yine GPM ekibinden onay alma sürecimiz var.
Yani B2B domeninde bayağı yakın çalıştığımız bir ekip.
Bir de tabii operasyondaki çalışanların performans raporları için DVH'la yakın çalışıyoruz.
Son olarak SAP listing ekipleriyle de sevkle veya rezervasyonla ilgili eventlerle bilgi aktarımı sağlıyoruz.
Milyonlarca Milyonlarca ekip var.
Milyonlarca. Her ekiple bir iletişimimiz var.
Çok iyi. Bu da aslında olayın karmaşıklığını vesaire de gösteriyor aslında biraz.
Hem bizneslerimiz var hem çok fazla ekiple iletişim kurmak gerekiyor vesaire.
İşte konvör var fiziksel bir şey.
Konvör ekibiyle ya da şirketle konuşman gerekiyor.
Fiziksel olayların gerçekten karşılığı için.
çok fazla ihtiyaç çıkabiliyor. Burada şimdi bizim depo taraflarımızda tabii UI ekranlarımız var.
Burada operasyona sunduğumuz ekranlarımız işte mobil ekranlar var.
Ya da backend'de tabii çok fazla sürecimiz oluyor bu söylediğin gibi.
Burada bizim ekip yapılarımız nasıl?
Astria'da işte backendçi mi var?
Frontendçi mi var? Yoksa developer diye ayrılıyor mu?
Küellerimiz kaç kişi? Ekip kaç kişi?
Bir bunlardan biraz daha açabilir miyiz?
Bahsedebilir miyiz? Trendyol geneline kıyasla biz büyük sayılabilecek bir ekibiz aslında şu anda.
6 developer, 2 devintest, takım liderimiz ve bir product managerımız olmak üzere top.
10 kişiyiz.
Developerlar olarak biz full stack çalışıyoruz.
Hani backend, frontend ayrımı yok.
Hepsini direkt aslında çıkartabilecek konumda her bir developer.
Ekip olarak çalışma şeklimizde genel olarak bir haftalık sprintler koşuyoruz.
İlk 3 gün development ağırlıklı geçerken son 2 gün testler ve analizleriyle geçiyor.
Sabah ve akşam olmak üzere 2 tane daily yapıyoruz her gün.
Hani varsa yaşadığımız sorunları veya işlerin bloklandığı yerleri bu toplantılarda söyleyip hani ona göre aksiyonlar alarak da sprintin fail olmasını önleyip planlamak.
ona göre devam ediyoruz.
Ekip yapısından, köyden bahsetmişken, Asteria'ya, tribe'ımıza yeni gelen bir köyümüz var, Yüksel.
Yüksel, ekibe rotasyonla geldin.
Bu rotasyon bizim tren yolu içerisinde tabii çok yaygın olarak yapılır, böyle bir kültürümüz var.
Bu rotasyonla ilgili senin tecrübelerin nasıl oldu buraya geldiğinde ya da önceden nasıldı?
Şimdi dışarıdan da geldin ya mesela, bir önceki şirketlerden çok fazla tecrüben var.
İşte buraya geldin, önceden beklentin neydi?
Geldin şu anda, olan kültür nasıl?
Rotasyon kültürü sence nasıl?
Bununla ilgili feedbacklerin oldu mu olmadı mı?
Bir bunlardan biraz bahsedebilir miyiz?
Tabii. Aynen bu arada rotasyonla ben dahil oldum.
Tribe değiştirdim. Rotasyon Trendyol içerisinde genel olarak çok desteklenen bir konu zaten.
Ben de tecrübe etmiş oldum.
Trendyol çok büyük bir ekip ve içinde çok fazla küçük ekip barındırıyor.
Bu ekipler birbiriyle ortak...
birçok değere sahip olduğu gibi kendi NAS'da birçok değere sahip.
Kendi NAS değerleri olarak ekibin domenleri, deneyimi, bakış açısı ve üyeleri sayılabilir.
Bir önceki ekibimde neredeyse iki yıl çalışıp oranın domenine çalışma stiline hakim olmuştum.
Rotasyon çanları benim için çalmaya başlamıştı diyebilirim.
Süreç de şöyle işliyor.
Rotasyon üstlerini bildiriyorsun.
Devretme, devralma süreçleriyle yeni ekibe geçişin tamamlanıyor.
Biraz avantaj ve dezavantajlardan bahsedebilirim.
Rotasyon sonrası hem aynı şirkette.
Hem de şirket değiştirmişsin gibi garip bir şey oluyor.
Konfor alanından çıkıyorsun her konuda.
Challenge oluyorsun. İyi de geliyor.
Dezavantaj olarak yani rotasyonda en basit olarak ekibin değiştiği için sosyal olarak bile bir challenge oluyor.
Benim şu anki ekibim çok esprili bir ekip.
Ortakta bir dil oturtmuşlar.
Benim ona hakim olmam bile bir zaman aldı.
Avantaj çok fazla var.
İlk olarak kendini geliştirme fırsatın oluyor.
Çünkü problemler değişiyor.
Ve sen bu yeni problemlere çözüm ararken gelişiyorsun.
İkinci olarak hakim olduğun domen çeşitliliği artmış oluyor.
Ve bu sayede her şeyi de daha bir bütün olarak görebiliyorsun.
Bunlar güzel şeyler. Tabii.
Burada mizah önemli bir konu.
Aynı noktada olmak, aynı zemine sahip olmak.
Dışarıdaki bir ekipten biri olarak çok ilgimi çekti açıkçası.
Çok gayet güzelmiş yerlerini.
Ben biraz da aslında şeyden bahsetmenizi rica edeceğim.
Onboarding stratejileriniz burada nasıl?
Yani yeni biri, yeni gelen biri, sizin takıma, tribe'a gelen biri.
İşe başladıktan sonra yazdığı kodu mesela örnek veriyorum.
Ne zaman canlı sistemde görüyor ya da bu tarz pipeline işlemlerini ya da ilerletme işlemlerini.
koduyla arıtmışlar vesaire.
İyileştirmek için siz neler yapıyorsunuz?
Aslında başlangıçtan, tanışmadan itibaren nasıl bir onboarding süreci bekliyor, rotasyon yapacak ya da yapmış olan kişi?
Yani en yakın zamanda ben yaptığım için kendi deneyimim üzerinden anlatabilirim.
Ben rotasyon yapmış biri olarak onboard edildiğim için bu süreç dışarıdan gelen birinin sürecine göre bir tık daha detaylı olur diye düşünürken Trendyol'a ilk başladığımda bile olmayan bir şekilde onboard edildim aslında.
Nasıl oldu bu onboard?
Bana bir buddy atandı.
Buddy'm her konuda destek olmak için yanımda oldu.
İlk gün ben ekibimle tanıştım.
Yine aynı günden başlayarak buddy'm ile beraber tribe içindeki diğer ekiplerle tanışmak üzere onların değillerine katıldım.
Ve her ekip üyesiyle teker teker tanıştım.
Tabi ilk kez gördüğün yüzlere isimleri hatırlamıyorsun sonrasında ama onlar seni hatırlıyor.
Ve remote çalışmanın negatif yönü olan diğer ekiplerden soyutluğu görmeden sıcak bir iletişim başlangıcı oluyor.
Bunun dışında yine Badin bana domain hakkında olsun, kullandığımız teknolojiler hakkında olsun her şeyi anladı.
Ve süreç boyunca da hep yakınımda destek olmak için hazır bulundu.
Çok hoş, yumuşak bir geçiş oldu benim için diyebilirim.
Ben de ekleme yapabilirim burada.
Hani ben de Haziran'da başladım çünkü aslında.
Burada Trendyol'a farklı firmadan gelmiş birisi olarak onboarding süreci beni şaşırtmıştı.
Daha gelmeden önce çünkü hani badim beni aradı, tanıştı.
İşte eşyalarımın bana ulaşması konusunda beni haberdar etti.
Bir sorun olduğunda direkt kendisine ulaşabildim o süreçte.
İşe yeni başlayan birisi için bunlar bence çok önemli şeyler.
O çekinme hissi de bayağı azalıyor bu sayede çünkü.
Önceki çalışan firmalarda böyle bir süreç yaşamamıştım hiç.
Hani başladıktan sonra da Yüksel'in bahsettiği gibi bütün ekiplerle tanışma süreci oluyor zaten.
İlk defa tren yolda başlayanlar için kültürle ilgili oryantasyon toplantıları da oluyor.
Bu toplantılardan geriye kalan zamanda sprintteki maddeleri pair olmaya çalışmıştım.
Ekipteki müsait olan kişilerin taskları üzerinden domaini anlamaya çalışmıştım aslında.
Onboarding sürecimde devam ederken ilk maddemi zaten ekip arkadaşlarından birisiyle pair olarak tamamlayıp o haftada canlıya almıştık.
Onboarding önemli gerçekten ya.
Sen şimdi şey dedin ya.
Önceden işte arada o yüzden rahatladım vesaire.
Bende de mesela benzeri bir kısım olmuştu.
Özellikle stajyer olarak girince çok çekinebiliyorsun bu tarz konularda.
O yüzden böyle arayıp ya da işte bir hafta öncesinden bir yerde bir oturup bir kafede falan mesela oturup tanışıp sohbet muhabbet etmiştik.
O bile bir önden bir şey yapıyor sana bir güven veriyor.
Daha rahat hissediyorsun ister istemez.
Bu konular bence küçük gibi gözükse ama kritik olabiliyor yani.
Kesinlikle katılıyorum. Trendyol'daki en büyük herhalde güçlerden biri onboarding'in bu kadar detaylı ve her aşamasının ayrı ayrı düşünülüp üzerine uygulandığı konular.
Ben de işe girdiğim zaman onboarding, hatta onboarding gibi yakın bir arkadaşım yapmıştı burada çalışan.
Ve hani A'sından Z'sine biz ne kullanıyoruz, ne kullanacağız, işte takım yapımız nedir, dinamiğimiz nedir, HR'ından teknolojisine her şeyi böyle...
ince ince işlemiştik.
Konuda çok şanslıyız bence.
Çünkü bu hani her yerde aynı değil maalesef.
Özellikle start-up kültüründe, bilmiyorum biliyor musunuz, birazcık hani onboardingden ziyade hemen seni alıp böyle Rusların bebekleri soğuk suya attığı gibi böyle yüzünü öğrensinler diye hemen o şekilde atıyorlar
ve iş yapıyorsun yani.
Halbuki burada böyle kendi güvende hissettiğim bir ortamda güvenli bir şekilde ilerlemek çok değerli bence de.
Tabii. Yüksel ben bir de şeyi sormak istiyorum sana.
Demin Neslihan ekip yapısından bahsederken iki QA şeklinde çalıştığınızdan bahsetmişti.
Burada diğer QA arkadaşla beraber nasıl çalışıyorsunuz?
Payrolları nasıl yapıyorsunuz?
Ya da işte mesela test tarafını çok...
Bilmediğim için yanlış tabir kullanıyor olabilirim ama genelde otomasyon işleri falan oluyordu işte Cypress'te vesaire.
Neleri otomatize ettiniz, planlarınız neler?
Nasıl ilerliyorsunuz burada?
Evet, bizim ekip biraz kalabalık bir ekip ve biz de iki köye olarak beraberce o iş yükünü sırtlıyoruz.
Genel olarak peer çalışmaya özen gösteriyoruz.
İki göz her zaman daha iyi oluyor.
Onun dışında testlerimiz zamanlı aylıktan tamamen olmasa da mümkün olduğunca uzak tutmak için çalışmalarımız oluyor.
Yakın zamanda kontrak teste giriş yaptık.
Çalışmalarımız devam ediyor.
API otomasyon testlerimiz zaten mevcut.
Servis testlerine otomasyon döktükten sonra izole bir ortamda koşulmasını sağlıyoruz.
Testlerimizi Java ile yazıyoruz.
Ekip o konuda rahat. Developerlar.net kullanıyor.
Biz de QA'lar olarak Java yazmak istedik.
Öyle de devam ediyoruz. Testleri otomatize ederken developerlarla da payrolluyoruz.
Bu sayede bilgi birikimi bütün ekip içinde aktarılmış oluyor.
Ortak hakimlik olan konularımız artıyor.
Genel olarak bunları söyleyebilirim.
Orada ekstradan şeyi söyleyeyim. Gerçekten o Java'da otomasyonun yazılması çok eski zaman.
Yani ilk başlarda hatırlıyorum bizim mesela depo tarafında daha böyle manuel işlerde test tarafları.
Sonradan otomasyon işleri falan geldiğinde işte bu shift left işine alışmıştık.
Önceden işte request response'lar verilsin ki QA'lar da önceden aynı sprint içerisinde testlere başlasın.
Paralel gidiyoruz vs. Bu işleri gerçekten kolaylaştırmıştı.
Daha rahat hissediyorsun ileride bir şey kırar mıyım derken vs.
Orada yararını büyük gördük yani.
Burada şimdi bahsedeceğim şey aslında şu.
Aynı TRIBE'dayız tabii. Burada TRIBE bazı işte metriklerimiz vesaire oluyor.
Bir daha seriye bazlı oluyor. Burada ekip tarafında bizim 4K metriklerimizin takibi nasıl yapılıyor ya da deployment süreçlerimiz nasıl yapılıyor?
Bunlardan biraz daha böyle bahsedebilir miyiz?
İşler yetişiyor mu? Yoksa patlıyor muyuz?
Yetişiyor, yetişiyor. Onda sıkıntı yok.
Biz deploymentları işler bittikçe sık sık yapmaya çalışıyoruz.
Bunu da ekipte güzel bir şekilde oturttuğumuzu düşünüyorum.
Bizim sprintler, Neslihan bahsetmişti, bir hafta sürüyor.
Ve her sprint sonunda retro toplantılarımızda 4K metrikleri inceliyoruz.
İşte bunları nasıl iyileştirebiliriz diye o haftaki deploymentların üzerinde konuşuyoruz.
Bunun bir sonucu olarak da ekipteki 4K farkındalığı arttı çünkü.
Yani her hafta konuşa konuşa arttık ve deploymentları takip etme alışkanlığı kazandık.
Ekstrem durumlar olmadıkça herkes testi, UAT'si tamamlanan işlerini direkt canlıya alıyor.
Böyle olunca da diplomin sıklığımız günde 1-2'ye çıkıyor diyebiliriz.
Günde 1-2 yalnız çok iyi değil mi?
Hatta bu diplomin frekansı falan böyle takip ettiğinde.
Gerçi spritlerimiz tabii çok kısa.
Yani haftalık yaptığımız için işte dediğim gibi hafta başında başlıyoruz Neslihan söylemişti sanırım.
Pazartesiden başlayıp cumaya kadar maddeler aldıkça işte bu cumayı yetiştirmeden yani işte cuma günü tüm maddeleri yaptık.
Cuma çıktık değildi. Maddeler işte bittiği anda hemen direkt burada çıkıyoruz.
Bu diplomin frekansı gerçekten arttırıyor yani.
Peki burada kullandığımız teknolojilerden biraz daha böyle açabilir miyiz?
Az önce hatta Yüksel biraz bahsetti ya işte .NET kullanıyoruz, Java kullanıyoruz vs.
demişti. Biz işte hani geliştirme yaparken neleri kullanıyoruz, CIC'li neler kullanıyoruz, işte Kubernetes gibi biz bu tarz teknolojileri nasıl kullanıyoruz ya da test kısmında nasıl kullanıyoruz?
Böyle bir genel bir bahsedebilir miyiz?
Database'den vs. Backend projelerimizi .NET ile yazıyoruz biz.
Go ile yaptığımız POC projemiz de mevcut.
Hani ekip olarak Go tarafında kendimizi geliştirme motivasyonumuz var.
UI projelerimizi ise Angular kullanarak geliştiriyoruz.
Database teknolojisi olarak da çoğu projemizde MS SQL kullanıyoruz.
Yeni B2B Return projemizde, bebek olan projemizde PostgreSQL kullanmayı tercih ettik.
Relational DB ihtiyacı duymadığınız bir projemizde de Couchbase kullanıyoruz.
Burada aslında Trendyol genelinde de kullanılan teknolojilerin çoğunu kullanıyoruz.
diyebiliriz. Hani Catch the Mavillac için mesela Redis'i, Message Broker olarak Kafka ağırlıklı kullanıyoruz ama RabbitMQ kullandığımız yerler de var.
Elasticsearch gibi, BigQuery gibi, Kibana gibi teknolojilerin hepsini aktif olarak kullanıyoruz.
Burada Revit'ten Kafka'ya geçişler.
Birden fazla böyle teknoloji kullanmanın gerçekten yararı da olabilir.
Karşılaştırıyorsun abi Revit'te böyleydi, Kafka'da böyle oldu.
Ya da Revit güzelmiş, böyle değilmiş, ihtiyacımızı karşılıyordu falan.
Farklı teknolojiler kullanmanın gerçekten böyle bir yararı oluyor.
Peki Postgres'ten yani MS SQL'den Postgres'e geçişte ikisi de mesela relational diyebiler ya.
Buradaki mesela motivasyon neydi?
Ben bunu şey yapabilirim, cevaplayabilirim.
Burada aslında biz teknik seçimimizi yaparken işte var olan teknolojileri ve mimarileri kıyaslayarak bizim için hangisi en iyisi onu bulmaya çalışmıştık bu database seçiminde.
Bu return için database seçiminde de işte trend yolu bünyesinde kullanabileceğimiz database teknolojileri belirliydi.
Onlar arasında işte domain'e gelecek tahmini yükü, read-write latency beklentilerimizi ve proje yapısını da göz önüne alarak kıyaslamalarımızı yaptık ve Postgre'yi kullanmaya karar verdik.
Önceden işte SEVKOM siparişlerimizin bu domain'deki tablolarımıza alınması ile ilgili migration çalışmamız oldu bu hafta içerisinde.
Ve database tarafında sorguları kontrol ettiğimizde de average response time'ların çok çok düşük olduğunu gördük.
Bu da doğru seçim yaptığımızı göstermiş oldu aslında.
Ya süper. Tam gerçekten data ile konuşmuşuz böyle karşılaştırıp.
Tabii ki. Süper.
Valla burada hani bir teknoloji sevdası olmadan farklı farklı şeyleri deneyip, benefitlerini işte çıkartıp bu bizim işimizi görüyor diyerek, dataya bakarak ilerlemek gerçekten harika.
Yani elimizdeki sorunları çözmemiz konusunda.
Aynen abi. Elinize sağlık.
Gerçekten mesela bazen şey bile olabiliyor.
Mesela yeniliğe açık olalım diyoruz.
Ama bir projede böyle bazen istersen açılıyorsun.
Ay bak bunu biliyoruz biz bundan yapalım.
Hani gidelim bu işimizi görür falan.
Hani biliyorsun belki de bazen hani...
Olmaması gerekiyor. Tabii tabii.
Ama olabilir. O yüzden böyle dikkat etmek ya da birbirlerini puştamak ekipçe falan önemli olabiliyor yani.
Tabii ki yani burada hani çok fazla şu an teknoloji camiasında bir teknolojinin fanatikliğini yaparak ilerlemek durumu söz konusu.
Bizim buradaki amacımız sorun çözmekten daha çok sorunları belirli şeylerle çözmeye doğru evrimlenmiş durumda ki ben bunu çok yanlış buluyorum.
Farklı farklı şeyleri deneyip farklı...
farklı durumlarda. Hangisi o an işimize yarıyorsa onu kullanmamız gerekiyor.
Çünkü sonuçta biz herhangi bir şeyin developer'ı değil her şeyin developer'ı diye böyle saçma sapan bir çok güzel bir cümle olacak gibi hissettim ama hiç de güzel bir cümle olmadı.
Bence mesaj alındı ama yani ben de seninle aynı fikirdeyim.
Doğru yani. Ben okeyim.
Süper. Ben biraz daha burada aslında yeni bir proje geldiği zaman yeni projelerde Nasıl ilerliyorsunuz?
Örnek veriyorum mesela yeni bir proje geldiğinde ya da işte replatforming ihtiyacı gibi bir şey dolduğu zaman adımlarınız neler oluyor?
Yani işte burada dokümentasyonlarınız nasıl oluyor?
Teknik seçimler, demin bahsettiğimiz işte Postgre geçişindeki bu kıyaslamalı teknik seçimler, nelere özellikle dikkat ediyorsunuz?
Zaten data ile.
işte data'ya bağlı şekilde ona reliable ilerlediğinizi zaten konuştuk ama burada biraz daha teknik olarak yeni projelerde ya da işte platformlarda nasıl ilerliyorsunuz onu merak ediyorum.
Burada en son yeni gelen yine bebek bebek deyip durduk.
Ondan örnekle cevaplayabiliriz.
Yani bu projemiz zaten bebek projemiz B2B Return'du.
Bu aslında bayağı büyük bir projeydi.
Çünkü B2B siparişler için depoda iade sürecimiz yoktu ve bu projede iade sürecini bizim baştan tasarlamamız gerekiyordu.
Çok fazla toplantı yaparak öncesinde ihtiyaçları ve istekleri netleştirdik.
Baya fazla session yaptık yani burada.
Sonrasında kafalar biraz net olduğunda bu sefer event storming sessionlarına başlattık.
Ve böyle birkaç session halinde event storming sessionlarını işte tamamladık.
Ve süreç üzerinde en son ekipçe el sıkışmış olduk.
Bu sessionlarla akış iyice netleştiğinde de artık bunları teknik olarak nasıl karşılarız diye bu sefer teknik analizler işte bahsettiğimiz teknik sessionları yapmaya başladık.
bunu yine Nesli anlatayım. O biraz daha detaylı anlatabilir.
Burada hani dediğimiz gibi teknik seçimlerimizi yaparken aslında var olan teknolojileri, mimarileri kıyaslayarak bizim için hangisi en iyisi onu bulmaya çalıştık hep.
Hani yaptığımız event storminglerle de olsun, diğer toplantılarla da olsun hep bu şekilde ilerledik.
Burada hani yine dokümentasyon anlamında da şey diyebiliriz.
Technical'da hep yaşamama kazına işte sprint'e maddeler açtık.
İşte lucid çizimleri olsun, yazılı olarak projemizin anlatıldığı dokümanlarımız gibi eksiklerimizi kapatıyoruz.
Bu yeni domainle de ekipçe İlk EDR'lerimizi de yazmaya başlamış olduk hatta.
İlk yazdığımız EDR'imiz de database teknolojisi seçimimiz üzerine oldu yine.
Ya ADM müthiş bir şey değil mi?
Ben yeni keşfettim. Yani şöyle yani son zamanlarda keşfetmiştim.
Yani görmüştüm ama böyle detaylı bakmamıştım.
Böyle yeni yeni dokümanlarını vesaire okuduğumda fark ettim.
Aslında işte herhangi bir karar verirken niye o karar veriyoruz?
Çünkü hani mesela bizde şey oluyor atıyorum.
Karar verilmiş 2-3 sene önce bir şeyler yapılmış.
İşte önceki developer muhabbeti olur ya her zaman şey dersin böyle.
Ay bu karar bu adam niye bunu yapmış?
Yani neden böyle bir karar vermişler?
Vesaire böyle bir laf söylersin. O zaman oradan birini bulsan da şeydir abi o zaman öyle gerekiyordu vesaire.
Hani o zaman... niye o gerekiyormuş?
Tam onun karşılığını böyle dokümana çevirmiş hali.
Bak bu zamandayız. Şu an bu koşullardan dolayı mecbur böyle yapıyoruz gibisinden onu açıkladığım böyle.
Güzel bir doküman oluyor. İlgilisine tavsiye ederiz ADR'ın ne olduğuna dair.
Biz de bu yeni domenimiz aslında başlamak sebebimiz birazcık bu oldu.
Hani çünkü mesela şu anda düşünüp bu kararları alıyoruz ama sonrasına dönüp baktığımızda ya neler yapmışız diyeceğimiz çok nokta olacak büyük ihtimalle.
O yüzden direkt aslında ADR'ları da hadi yazmaya başlayalım motivasyonumuz oradan çıkmış oldu.
Bence mantıklı. Ben çok sevdim.
Tebrik ediyorum efendim. Peki burada başka bir şeyden bahsetmek istiyorum.
Biraz da aslında zaman yönetimiyle alakalı bu.
Böyle bazen işte projeler oluyor, yoğunluk olabiliyor vesaire.
Saatle akşama kadar çalışıyorsun diyorsun bugün ne oldu vesaire.
Yoğun olan zamanlar olabiliyor.
Buradaki o zaman yönetimiyle ilgili aslında biraz konuşmak istiyorum.
Sprint içerisinde işler gerçekten yetişiyor mu?
Hani zaman yönetimi nasıl oluyor?
Sadece sprinte mi odaklanabiliyorsunuz?
Yani planlamada maddeleri alıyoruz haftanın başında.
Cumaya kadar sadece biz o maddelerle uğraşıyoruz ve haftayı kapatıyoruz gibi mi oluyor?
Yoksa farklı şeylere zaman ayırabiliyor musunuz?
Onlarda böyle sorunlar yaşıyor musunuz ya da yaşadığınız elektroda konuşup aksiyon mu alıyorsunuz?
Yoksa işte biz şunları şunları yapıyoruz gibi bir şeyler var mı?
Yani burada biz aslında sprint içerisinde sırf sprint işleriyle değil biraz daha böyle ekibin gelişimi için de zamanlar ayırıyoruz.
Ya bu bireysel de olabiliyor, ekipçe de olabiliyor.
Bireysel olduğunda işte...
kendi gelişimimiz olabilir, hedeflerimiz olabilir.
Sprint'in yoğunluğuna göre imkan oldukça yani aslında dedike zamanlarımız yok.
O artık işin inisiyatifine kalıyor ama ekip olarak dedike zamanlarımız oluyor.
Ekipçe gelişmek için her hafta teknik toplantılar düzenliyoruz.
Başta bu toplantılar sistem dizayn toplantıları yapalım diye başladığımız bir şeydi.
Yani konu sistem dizaynıydı.
Ama sonrasında dedik ki konu konusunda bu kadar katı olmaya gerek yok.
Biraz daha herkes anlatmak istediği farklı teknik konularla da gelebilsin.
Bu yüzden konu konusunda esnekleşip daha genel bir teknik gelişim seçimi Her hafta bunları düzenli olarak yapıyoruz.
Bir de bunun yanında şirketin de şimdi son zamanlardaki atılımlarıyla paralel bir şekilde İngilizce sesyonları yapıyoruz.
Bunu biz geçen yıldan beri sürdürmeye çalışıyoruz.
Bu toplantılarda işte daha çok hem speakingimiz gelişsin bir de biraz daha belki de önemli olan çekingenliğimiz, utangaçlığımızı atmak için bu sesyonları yapıyoruz.
Yani ders veya sunum gibi geçmiyor.
Teknik sesyonlar gibi geçmiyor.
Daha çok böyle bir konu seçip üzerine konuşup tartışıyoruz veya bir oyun seçiyoruz.
Beraber oyun oynayabiliyoruz.
Hatta en son ki seçimimizde Keep Talking and Nobody Explodes oyununu oynamıştık.
O bayağı keyifli olmuştu. Eğlenceli olmuştu.
O hangi oyun ya? Ben bilmiyorum onu.
Ne o? Bu şey ya böyle biz iki gruba ayrıldık.
Birinin ekranında işte bomba oluyor.
İşte böyle kablolar oluyor. Değişik bulmacalar oluyor.
Ama manueli görmüyor. Diğerlerin önünde de manuel oluyor.
İşte ekranı gören kişi işte şunu görüyorum falan diye gördüklerini anlatıyor.
Karşıdakiler de adım adım ne yaparsa onu çözebilir.
Bombayı şey yapabilir, iptal edebilir.
Onu anlatıyor. Eğlenceli ve stil.
stresli bir oyun. Çünkü süresinde yapamazsan patlıyor, ölüyorsun yani.
Çok eğlenceliymiş. Bak bunu biz de bir deneyelim.
Güzel fikirmiş. Bunu podcastten sonra bana bir şey yapsana.
Tamam onu anlatacağım sana. Bir bakayım neymiş.
Okeydir. Peki o zaman aynı dertlerimizin olduğu güzel bir soruyla geliyorum.
Hepimiz tabii depo tarafındayız ben de.
Aseriye ile birlikte. Depo tarafında bildiğiniz gibi hep bir...
Yani operasyonla ilgili fiziksel sorunlar olabiliyor.
İşte bizim on kollarımız var.
Yani 7-24 çalışan bir operasyonumuz olduğu için hem destekler vermemiz gerekiyor vesaire.
Burada işte önceliğimiz hep tabii şey de oluyor.
Depoda bir sorun varsa bizim önceden bundan haberimiz olsun gibi.
Yani operasyon bir sorun yaşamadan hemen önce haberimiz olsun ki bir aksiyon alabilelim vesaire.
Bunun için de tabii işte monitoring vesaire çok kritik oluyor.
Burada monitoringtir. Alert mekanizmalarımız nasıl?
Incidentler yaşıyoruz. Incident olduğunda işte haberimiz oluyor mu olmuyor mu?
Nasıl aksiyon alabiliyoruz? Bu tarz şeylerden bir bahsedebilir miyiz?
Alert mekanizması bizim için çok önemli bir yerde.
Çünkü operasyonel sürece çok yakın bir noktada yer alıyoruz senin dediğin gibi.
Operasyon ekibinden yani spor ekibinden aslında bir incident kaydı gelmeden en hızlı şekilde müdahale etme şansı yakalamak istiyoruz öncesinde fark edip.
Bunun için de ihtiyaca göre farklı ortamlara alarmlar tanımladık.
Mesela canlıdaki servislerimizi monitör etmek için kullandığımız nivrelik ve grafana üzerinden alertlerimiz var.
Loglarımızı flant bitle kibana yatıyoruz.
Attığımız loglara tanımlı olan alertlerimiz var.
var yine. Kafka'daki topiklerdeki ledleri ve errorları takip edebilmek için kurduğumuz alemlerimiz var.
Bir de database seviyesine tanımladığımız alemler var.
Bunlarla da kayıtların tutarladığını takip edebiliyoruz aslında.
Çok iyi. Açıkçadan bunların o kadar çok hayat kurtarıyor ki her biri.
Yani çünkü geliyor bir sorun var.
Tamam diyoruz operasyon en azından etkilenmeden ya da adamın daha haberi olmadan biz bunları düzeltebilelim.
Ya da bazen olmuyor yani gözümüzden kaçıyor.
Bir sorun oluyor ondan sonra diyoruz tamam böyle bir sorun varmış haberimiz oldu artık.
Şu sorunu çözebiliriz vs.
Bu gerçekten yani moletin'in kısmı kritik ve güzel.
Bayağı işlerle ilgili konuştuk, süreçlerinizle ilgili şeyler öğrendik.
Benim merak ettiğim biraz daha farklı bir konu.
Biliyorsunuz yumurt çalışıyoruz.
Herkes farklı farklı şehirlerden çalışıyor hatta.
Bizim ekipte de 3-4 farklı şehirden çalışan arkadaşlar var.
Siz Asteria ekibi olarak iletişimi kuvvetlendirmek için neler yapıyorsunuz?
Nasıl organizasyonlar düzenliyorsunuz?
Onu merak ediyorum ben de. Bizim ekip çok genç bir ekip, enerjisi de yüksek ekibin, dolayısıyla sosyalleşmeye de yatkınız.
Bu sosyalleşmeyi de oyunlar oynayarak, dışarıda çıkıp kahvaltı vs.
bir aktivite yaparak sağlıyoruz.
Mesela daily sonrası çok sık smash cards oynarız biz.
küçük arabalarla birbirini vurup öldürdüğüm bir oyun.
Keyifli oluyor. O günkü iş stresi o oyuna yüklenerek atılmış oluyor.
Onun dışında İngilizce oynadığımız oyunlar da oluyor.
Hem gelişim hem de eğlence bir arada.
Sonra dışarı çıkıyoruz işte bir mekanda oturup sohbet ediyoruz.
Çok yakın zamanda da yaptık bunu.
Maksimum iki hafta oldu. Bunun dışında da hem iyi iletişim hem gelişim için düzenli one-on-one yapıyoruz.
Sadece liderlerle yapılan one-on-one seviyesinde kalmıyor.
Ekibin her üyesi birbiriyle yapıyor bunu.
Çok kıymetli bir şey bence.
Esnasında böyle mi oldu, bana mı öyle geldi diye düşündün.
Seni kıran, inciten şeyler olabilir insanız sonuçta.
Sık yapılan vanavanlar bunun doğrusunu duymanı, varsa bir önyargın aşmanı sağlıyor.
Teknik anlamda dağıldığın feedbackler olabiliyor.
Bunları çok samimi bir şekilde almanın güveni oluyor içinde.
Ve kendini de bu feedbacklere göre evirebiliyorsun.
Yüksel versiyon 2 ortaya çıkabiliyor mesela.
Versiyon 2 güzelmiş. One-to-one'lar gerçekten çok kritik oluyor.
Özellikle o böyle bir duvarı bir şey yapman gerekiyor, kırman gerekiyor.
Özellikle yeni gelen biri varsa ya da farklı şirket kültüründen gelmişse hani bu one-to-one kültürü nasıldır, bak gelişime açık, açığız olmak için hani bize feedback verebilirsin gibisinden mesela.
Onun bir alışma süreci olabiliyor.
Ne kadar hızlı alıştırırsan ilk gelen kişi özellikle dışarıdan bir şirketten geldiyse dışarıdan olaya bakabildiği için çok daha güzel böyle verimli feedbackler verebiliyor yani dışarıdan baktığı için.
Biz içeriden bazen göremeyebiliyoruz, normal gelebiliyor vesaire.
Dışarıdan adam çok basit bir şey... söylüyor.
Ha öyle miymiş falan oluyor böyle.
O yüzden bu bantmanlar gerçekten kritik olabiliyor.
Tabii iç zamanı alıştıkça da o geliştirme olsun hem de pozitif abi şunu çok iyi yapıyorsun vesaire gibi.
O feedbackler daha da gelişiyor böyle zamanla kendimizi geliştirdikçe.
Verimliliği artıyor yani. Aynen.
Aynen abi katılıyorum. Gerçekten bunlar çok güzel pratikler.
Süper. Valla arkadaşlar çok teşekkür ederiz.
Çok keyifli bir muhabbetti.
Yani ben kendi açımdan çok keyif aldım.
İyi ki geldiniz. Selam İki Podcast'inin 30.
bölümünde Asteri ekibi bizlerle birlikteydi.
Tekrar çok teşekkürler arkadaşlar geldiğiniz için.
Bir sonraki bölümde tekrar başka bir podcast'imizle görüşmek üzere.
Görüşene kadar sağlıcakla kalın.
Bay bay.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
