
Selam Ekip - E19 - Trendyol Hızlı Market - Yemek OMS
9 Aralık 2021 · 31 dk
PlatformlardaSpotifyApple Podcasts
Transkript
Evet başladı şu anda kalbimiz.
Çok haklısın başladı ama gerçekten kaçıncı programımız olduğunu bilmiyorum ben bunu.
18 mi oldu? 19 mi oldu?
17 mi yoksa? 18'de olduğunu düşünüyorum.
Hayır 19 olacak. 19'da olabilir.
Ya da? Biz de 19 diyebiliyoruz.
Hazırlıklı geldim 19'a.
O zaman 18 görünümlü 19.
Selim Ekit programımıza hoş geldiniz.
Bugün Barış ve Gizem'le beraber postlu üstleneceğiz.
Bugünkü bordo nasılsınız arkadaşlar?
İyiyiz. Teşekkür ederiz.
İyiyim. Black Friday geçti.
Artık tekrar podcastlere geri dönebildiğimiz bir dünyadayız.
Zaten dönmüştünüz. Beni almadan devam etmiştiniz ama.
Okey. Ara ara ben de sonuçta katılıyor olacağım.
Bugün Hızlı Market OMS ekibinden Teyhan ve Fatma Nur var.
Hoş geldiniz arkadaşlar. Hoş bulduk.
Hoş bulduk. Merhaba. Bize böyle biraz kendinizden bahsedebilir misiniz?
Neler yaptınız bugüne kadar? Trendol'da neler yapıyorsunuz?
Tabii ki ben başlayayım isterseniz.
Ben 9 aydır Market ve Yemek OMS ekiplerinde product olarak görev alıyorum.
Bundan öncesinde de yaklaşık bir 3 sene hepsi burada da yine product olarak çalışmıştım.
Kısaca kendime anlatmış oldum.
Teyyan'la top atıyorum bundan.
Merhaba ben de Teyyan.
Bundan önce 7 aydır aslında Fendi oldayım OMS Miel ekibinde.
Bundan önce 3 ay sahibimden de çalışmıştım.
Umarım bu ayda okuldan mezun olacağım.
Bu şekilde. Biraz bize çalıştığınız domeyini anlatarak başlayabiliriz.
Tabii ki çalıştığımız domen için aslında genel olarak market ve yemek sipariş süreçleri yönetimi diyebiliriz.
Ekibimizin adı da Grocery Meal OMS olarak geçiyor Trendyol testinde.
Biz neler yapıyoruz kısmını açıklamak gerekirse de müşterilerimizin Trendyol etkilerinden.
Market ve yemek kanallarında başarılı bir şekilde sipariş verdikten sonra bu sipariş bilgisini Checkout'a alıp OMS ekiplerine sipariş oluşturuyoruz.
Oluşturulan bu siparişlerin satıcı panel ve app uygulama ekranlarına yansıtılması, entegratörle çalışan satıcılarımıza aramızdaki entegrasyon streçleriyle bu siparişlerin iletilmesi.
siparişlerin kurye ataması yapılabilmesi için bu bilgilerin oyun sistemine gönderilmesi ve yine siparişlerin iptal ve iade süreçlerinin geliştirmesiyle alakalı süreçleri yönetiyoruz ve buralarda geliştirmeler yapıyoruz.
Bizim burada iki farklı yöntemle çalıştığımız satıcılarımız mevcut.
Bazı satıcılarla entegratör firmalar üzerinden çalışıyoruz ve entegrasyon modellerimizle onlara siparişleri iletiyoruz.
Sonrasında da bu siparişler için Satu Update gibi tüm süreçleri yine entegrasyon modeli üzerinden alıyoruz.
Bir de sipariş süreçlerine tren yol satıcı paneli ya da mobil uygulama üzerinden ilerleten satıcılarımız var bizim.
Bu market satıcılarının da siparişi görüntüleme ve hazırlama süreçlerinde kullanmış oldukları sipariş ekranlarının geliştirmelerini yapıyoruz.
Bu ekranlarda geliştirme yaparken de sade, anlaşılır ve kolay kullanılabilir olması özen gösteriyoruz.
Genel olarak baktığımızda da hem müşteri hem satıcı hem de kurye taraflarını ayrı ayrı müşterilerimiz olarak görüyoruz.
Ve bu sistemlerdeki sipariş yakıştığı için geliştirme yapıyoruz diyebilirim.
Benim ufak bir sorum var. Teyyan mezun değil mi dedin?
3 ay sonra mezun olacağım mı dedin?
Nasıl gelişti o süreç? Biraz anlatabilir misin?
Tabii ki. Umarım bu ay mezun olacağım.
Aslında şöyle gelişti. Ben 3.
sınıftayken 3 dönemden dersleri alıp 4.
sınıfımı biraz boşaltmıştım.
Daha sonra eti tasmaya başladım.
Daha sonrasında da Trendyola iş başvurusunda bulundum.
Onlar için de uygundu.
Benim için de uygundu. Zaten beni bloklayan bir şey yoktu.
Daha sonrasında gerekli mülakat aşamalarını geçtikten sonra işe başladım.
Bir yandan aslında bitirme ödevimi, bitirme tezimi yazmış oldum.
Bir yandan da çalışmış oldum. İkisini beraber götürmüş oldum.
Dediğim gibi umarım bu ayda sistemde mezun olarak gözükeceğim inşallah.
Hoş geldin o zaman aramızda diye tekrardan.
Teşekkür ederim. Ben de şeyi merak ediyorum aslında birazcık.
Biraz önce biraz bahsetti Fatma Nur aslında ama yakın çalıştığınız domeniler hangileri daha çok?
Biz burada aslında sipariş yaratıldıktan sonraki sürecin başlangıç noktası olduğumuz için sipariş akışında, sipariş sonrakısı akışta yer alan tüm ekiplerle yakın çalışma fırsatı yakalıyoruz.
Örneğin sipariş oluşturma aşamasında check-out ve fraud ekipleriyle birlikte çalışıyoruz.
Siparişlerin kurya atama ve...
Statü, update akışları için orunç ekibiyle birlikte çalışıyoruz.
Burada market satıcılarına yapılacak ödemeler için yine settlement ekibiyle birlikte çalışıyoruz.
Sipariş iptal iade süreçlerinde de müşteri tarafı için client destek ekipleriyle sürekli çalışma fırsatı yakalıyoruz.
Yani genel olarak aslında market ve yemek domenindeki tüm ekiplerle her projede birlikte çalışma fırsatı yakalıyoruz.
Teşekkürler. Biraz da ekip yapınızı ben merak ediyorum.
Kaç tane backend developer var?
Ekibin içinde frontend developerınız var mı?
Kaç tane QA ve product var?
Biraz bunlardan bahsedebilirseniz sevinirim.
Tabii ki buna da ben cevap vereyim isterseniz.
Ekibimizde 6 tane backend, 2 tane de frontend developer var, 1 tane de QA arkadaşımız bulunuyor.
2 tane frontend arkadaşımız var çünkü aynı zamanda satıcıların kullanmış oldukları ekran geliştirmelerini de biz yapıyoruz.
UX ekibiyle birlikte tasarım çalışıp.
Süper. Peki bu ekiple beraber kodu bir şekilde iyi yazmamız gerekiyor.
Bir şekilde canlı açıklarken.
sorunsuz ilerlememiz gerekiyor.
Peki siz bunlara yaklaşırken nasıl yaklaşıyorsunuz?
Mesela kod review yapıyor musunuz?
Td'de uyguluyor musunuz?
Test süreçleriniz nasıl? Bunlardan biraz bahsedebilir misiniz?
Burada da ben alayım topu.
Aslında şöyle başlayayım.
Biz trunk-based development yapıyoruz.
Bir merge pull request tarzında değil de daha çok herkes master pushlama şeklinde ilerliyor.
Reviewlarımız da aslında buna göre biraz daha ayrılıyor.
Pull requestten farklı olarak.
Genelde birisiyle beraber review yapıyoruz.
Çünkü o an İşe en hakim olan kişi işi yapan kişi oluyor.
O yüzden bir ikinci gözle bakması için başka sırayla review yapıyoruz.
İşlerin tamamı Payr ilerliyor.
Wording işlemleri haricinde böyle bir iki dakikada halledilecek işler haricinde her şey Payr ilerliyor.
Bu Payr konusu da aslında herkesin memnun olduğu ve sevdiği bir şey.
Burada herkesin birbirleriyle Payr olmasını istiyoruz ki takım içi iletişim de gelişsin.
Bunun için hatta takım içerisinde bir tane uygulama yazmıştık.
Herkesin sonra 3 sprintte kimlerin kimlerle ne kadar Payr olduğunu.
hesaplayan ve bunu key map şeklinde gösteren bir uygulamamız vardı.
Ve bunu da retro toplantılarında aslında çıkarıp bak sen şununla çok peer yapmışsın.
Bu kişiyle az iletişimin olmuş.
Hadi bir sonraki sprintte bunu düzeltelim.
Biraz daha bu kişiyle peer olmaya çalışıyoruz.
Test konusunda gelecek olursam da zaten tüm işlerimize unit test yazıyoruz.
Bunun yanında gerekirse integration acceptance testlerimiz oluyor.
Developerların yazdığı. Ayrıca Query arkadaşımız da journey testleri yazıp koşuyor.
işi canlıya alma sürecimizden de biraz bahsedebilirim.
Öncelikle tüm testlerden geçtiyse testler sonrasında bir stage adımımız oluyor.
Stage ortamında bir test ediyoruz.
Eğer stage ortamında da geçtiyse bunu aslında proda almamız için hiçbir engel yok.
Burada bir checklistimiz var aslında.
Testleri yazdın mı? Acceptance testlerini yazdın mı?
Infra için herhangi bir isteğin varsa isteklerinde bulundun mu?
Bu başka ekipler tarafından sana sağlandı mı?
Eğer bunların tamamını gerçekleştirdiysen proda alabilirsin.
Bu checklist'i de aslında ben oluşturdum.
Çünkü bir işte bir stage aşamasındaki testi unuttuğum için az daha canlıyı patlatıyordum.
Bunun bir daha yaşanmaması için bu checklist'i oluşturmuştuk ve artık işlerimi bu checklist üzerinden proda almaya çalışıyorum.
TDD konusunda da TDD uygulamayı istiyoruz.
Böyle takım içerisinde de deneyimlerimiz oldu aslında.
Ama tam olarak adapte ettik diyemem.
Şu an biraz da ısınmaya çalışıyoruz aslında.
Abi şekliz tuzayı çok güzelmiş bu arada ya.
Onu görüşmenin sonunda paylaşırsan çok süper olur.
Biz de çünkü benzer bir durum yaşıyoruz.
Ve işte o taskın üzerindeki bir checklist aslında bizi çok kurtarabilir.
Ben aslında şeyi soracağım.
Hani genelde performans testi bu tarz sorularda çok düşünmüyoruz.
İşte aklımıza unit test geliyor, integration test geliyor, journey testleri geliyor ama aslında biz geçtiğimiz dönemde çok çok fazla performans testi koştuk.
Sizin böyle performans testinden çıkan böyle bold bir anınız oldu mu?
Şurayı düzeltmesek bir yerde patlarız dediğiniz.
Bu soruya şöyle cevap vereyim. Aslında performans testi olarak değil ama biz düzenli olarak ses ürünlerimizde hangi apimizde, herhangi bir projemizin herhangi bir bölgesinde ne kadar bir şey değişmiş?
Atıyorum bu optimize mi? Bunu nasıl optimize edebiliriz?
Kaynak tüketimi nasıl? Response time'ları nasıl?
True putları nasıl? Bunları aslında monitör ediyoruz.
Bunları herhangi bir eventte patlayacağını düşünüyorsak veya bize sıkıntı çıkaracağını düşünüyorsak burada iyileştirmeler veya kaynak arttırımlarında bulunuyoruz.
Performans testi yerine biz aslında bu soruna bu şekilde cevaplıyoruz.
Bu arada biz de içeride payırları takip etmek için bir Slack uygulaması yapmıştık.
Biz de oradan gidiyoruz.
Zoom'a girerken girmeden önce ilk önce bir şey yapıyoruz.
Bir Slack komutu çalıştırıp şey yazıyoruz.
ilgili Jira Task'ın içerisine şey olarak ekliyor.
İşte bu iki kişi peri yaptığı olarak oradan takip ediyoruz.
Baya güzel oluyor.
Onun dışında şeyi sormak istiyorum ya ben de.
İkiniz de bildiğim kadarıyla pandemi içerisinde işe başladınız.
Pandemi döneminde. Buradaki onboarding süreciniz nasıl oldu?
Sizi şirket olarak nasıl karşılandı?
Herhangi bir zorluk yaşadınız mı?
Biraz onlardan bahsedebilir misiniz?
Tabii. Buraya da ben cevap vereyim isterseniz.
Evet dediğiniz gibi ben pandemi sürecinde takıma dahil oldum.
Aynı şekilde Fatma Nur da öyle. Burada aslında onboarding stratejimizden şöyle bahsedebilirim.
Ben yeni girdiğim için direkt kendi deneyimlerimden bahsedeyim.
En iyisi olacaktır diye düşünüyorum.
En son ilk hale konuştuktan hallettikten sonra ben takım liderim ve mentorumla haberleştim.
Onlar beni arattılar. Nasılsın?
İyi misin? Bir yardımcı olabileceğimiz bir şey var mı?
Ekipmanlarına ulaştı mı? Diye böyle rahatlatmaya çalıştırdılar beni.
Kullandıkları teknolojilerle ilgili kaynak istediğimi hatırlıyorum hatta burada.
Takım liderim telefonu kapattıktan hemen sonra bana WhatsApp üzerinden atmıştı.
Hala attığı kaynaklara dönüp dönüp bakıyorum.
İlk gün işe başladık.
İlk gün ilk yapacağımız şeylerden bir tanesi zaten takımla tanışma.
Takımla tanışmadan sonrasında gerekli yerlerden izinlerin alınması.
İster infra olsun isterse şirket işi belirli kullandığımız uygulamalar için olsun.
Bu belirli uygulamaların kurulması development için olabilir.
Bir de domainin genel bir aktarımı.
İşte biz ne yapıyoruz? Trendyol'un hangi bölgesindeyiz?
Biz nerelerden sorumluyuz?
Gibisinden bir aktarım oluyor. İlk günden tüm domainin aktarılması daha yeni bir insana çok ağır geleceği için tamamını aktarmıyoruz.
Bu şekilde özet geçiyoruz. Sonraki günlerde zaten zaman zaman bu aktarımlarımız oluyor.
Bu şekilde domain aktarımımız da tamamlanmış oluyor.
Sürekli zaten peri olarak ilerlediğimizi söylemiştim.
Yeni gelen kişi de ilk günden itibaren...
sürekli Payroll olarak ilerliyor. İlk işin Pro'da çıkması için de çok aslında zaman geçmiyor.
Hemen yeni gelen insanların ellerini kirleterek hemen bir işlere dağılmasını hızlı bir şekilde de bunları canlıya çıkmasını istiyoruz ki aslında bu işin o kadar da korkulacak bir şey olmadığını göstermiş oldu bana bu.
Ben ilk kodumu yanlış hatırlamıyorsam ya 2 ya da 3.
günde canlıya çıkmıştım.
Küçük bir işte. Takımdan birisiyle Payroll olmuştuk ve en son Pro'da yani canlıya çıkma butonuna tıklarken Bir korkmuştum.
Abi emin misin? Bak proda çıkıyorum.
Bu trendyol.com'a gidecek.
Emin misin falan diye sormuştum.
O da beni rahatlatmak için ne olacak ki en fazla?
Patlar falan diye bir dalga geçmişti.
Ama bir şey olmadı zaten.
Küçük bir işte. Orada biraz insanı rahatlatmaya çalışıyorlar.
İlk hafta boyunca da genel olarak projelerin, mimarilerin, bizneslerin domen aktarımı oluyor.
Daha sonra ben belli bir vakit geçirdikten sonra içerisinde feedbacklerde bulundum.
Bu aşamada neleri geliştirebilirdik, neler güzel benim hoşuma gitti gibisinden.
Teknik anlamda diagramlarımız vardı.
Onlar benim çok hoşuma gitti. Çünkü işi anlamada çok yardımcı oldular bana.
İşte bizim akışlarımız nasıl, hangi takımlarla iletişim halindeyiz vs.
Bunları o diagramlar üzerinde görmek çok daha rahat oldu açıkçası.
Çünkü ben tüm kodları incelemeye kalksam belki aylarımı alacaktı.
Bu diagramların benim için çok daha iyi olduğunu öğrenince takım içerisinde bir retroda bir action alıp bu diagramları hem domain için hem de teknik için geliştirmeye karar verdik.
Bu şekilde akışlarımızı sürekli hem güncel tutuyoruz hem de yeni birisi takıma dahil olduğunda bu akışlara çok daha hızlı hakim olabiliyor.
Çok teşekkürler. Proda çıkma hikayen bayağı sempatik geldi bana.
Çünkü gerçekten bu işte ilk işini, production'a çıkmak hakikaten çok heyecan verici ve aynı zamanda da korkutucu bir şey.
Bence bu konuda Trendyol hakikaten çok örnek olacak davranışlar sergiliyor.
Herhangi bir aslında korkmana sebep olacak hiçbir şey olmadığını.
Production'da bir şeyi patlatabilirsin.
Buna hakkının olduğunu, önemli olanın zaten işte yaptığın hatalardan ders çıkartmak olduğunu bildiği için ve buna göre davrandığı için gerçekten ben herkesin örnek alması gerektiğini
düşünüyorum bu davranış şeklini.
Seni de burada tekrar bahsetmiş olman bence çok güzel oldu.
Bir de ben şeyi sormak istiyorum aslında genel olarak ekip yapısını konuştuk, onboardinginizi konuştuk ama Peki siz ekipte bu işlerinizi geliştirirken hangi teknolojileri kullanıyorsunuz?
Ve spesifik olarak seçtiğiniz herhangi bir teknolojinin özellikle şu sebepten bu teknolojiyi seçtik gibi bir sebebi var mı?
Bu soruya da ben cevap vereyim isterseniz.
Teknolojileri aslında kategori kategori ayırıp cevaplandırabilirim.
Öncelikle database konusunda başlayabilirim.
Database'de Trendyol'un genelinde olduğu gibi biz de NoSQL kullanıyoruz.
NoSQL olarak da Couchbase ve Elasticsearch tercih ettik.
Bu messaging sistem konusunda da önceden de bir TMQ'lar vardı ama şu an tamamen Confluent Kafka üzerine geçtik.
Programlama dili olarak Java Kotlin, Golang kullanıyoruz ağırlıklı olarak projelerimizde.
Ama bazen böyle işimizi kolaylaştıracak bazı projelerimizde de Python kullanıyoruz.
Golang aslında daha çok gateway, consumer, listener gibi böyle domeninin daha az olduğu ama daha çok trafiğin olabileceği performansın daha yüksek olmasını istediğimiz yerlerde kullanıyoruz.
Java Code denildi. Daha çok domeni ağırlıklı projelerde kullanıyoruz açıkçası.
Hosting, deployment için on-prem, güvenli klasterlarında deploy ediyoruz uygulamalarımızı.
Alert ve monitoring aslında bizim domenimiz için çok önemli.
Çünkü grocery ve meal domeninde geç kalmamak çok önemli.
Ben bir yemek siparişi verdiysem, o bana 5 saat sonra gelecekse onun ne anlamı var?
O yüzden burada hiç geç kalmamak için alert ve monitoring'e önem veriyoruz.
Kibana, Grafana, Nivrelik.
Bizim kullandığımız teknolojiler. Ayrıca kendi projelerimiz de var.
Bu gecikmenin yaşanmaması için checkerlarımız var.
Kodlarımızı GitLab'de tutuyoruz.
CI, CD süreçleri için CI'de GitLab, CI, CD'de de Argo CD geçişine başlattık şu an.
Bazen audit nedenlerinden dolayı BigQuery kullanmamız gerekiyor.
BigQuery kullanıyoruz onun için.
OMS bünyesinde tüm işlemler event based olduğu için, eventleri atması için database'den Kafka'ya atabilmesi için Kafka Connector'ları kullanıyoruz.
Ben frontendçi değilim ama frontend tarafında da mikrofrontend yapısı var.
Vue.js ve React Native kullanılmış web ve mobil için.
Spesifik olarak aslında bir dili neden tercih ettiniz derseniz biz aslında Kotlin Kurut'un arada kullanıyoruz ve bununla ilgili de bir şey yapmak istiyoruz.
Bir projemizi geliştirmek istiyoruz.
Ben aslında biraz Android ekranından geliyorum.
Orada biraz daha bu teknoloji daha adapte edilmiş.
Backend tarafında biraz daha az.
Bunu kullanmak istememizin sebebi biraz throughput isteyen API'lerimizde bunu kullanabiliriz ve throughput'u biraz arttırabiliriz diye düşünüyoruz.
Genelde I.O. ağırlıklı işlemlerinin olduğu noktalarda bu throughput'u arttırmak için Kotlin Kulitin kullanabiliriz.
Bununla ilgili de çalışmalar yapıyoruz aslında.
Bu soruya da böyle cevap verebilirim.
Teşekkürler abi. Aslında ben deployment'ları ne kadar zamanda bir yaklaştıracaktım ama sanırım zaten hızlı market ve yemek domeninde olduğumuz için...
olabildiği kadar hızlı olduğunu varsayarak ilerleyebiliriz burada.
Olası bir sorun da çünkü müdahale edemiyor olmak gerçekten senin de söylediğin gibi yemek siparişinin geç gitmesine ya da market siparişinin geç gitmesine sebep olabilir.
Buradan ama konuyu şey getireceğim.
Hani bir şekilde sorun oluyor.
Hani az önce sorunları nasıl takip ettiğinizi söylediniz ama biraz daha detaylı bir yanıt verebilir misin?
Yani sorun oldu nasıl müdahale ediyorsunuz?
Gece oldu mesela nasıl müdahale ediyorsunuz?
Tabii ki. Bununla ilgili aslında birçok case var bununla ilgili.
Öncelikle alertleri ve error rate'leri takip ettiğimiz Grafana ve Kibana dashboardlarımız var.
Çok fazla bilgi olabileceği için biz bu dashboardlarda bunları özetledik.
Genel olarak error rate'ler ne?
Önemli projelerdeki error rate'ler ne?
şeklinde ayırdık. Bir baktığımızda ortalama bir kafamızda bir şeyler canlanabiliyor.
Zaten bu herhangi bir Incident anında sileye mesaj basıyoruz.
Bu şekilde haberimiz oluyor.
Ayrıca support arkadaşlarımız var.
Onlar da bize yardımcı oluyorlar herhangi bir incident anında.
Kibana ve New Relic'de aslında buralarda error rate'lerin belli bir trash olduğunu üzerine çıkması, belli bir trash olduğunu üzerine çıktıktan sonra belli bir süre boyunca orada kalması bizim için önemli metrikler.
Buralarda eğer o değerleri aşarsa biz sileye mesaj basıyoruz ve haberimiz oluyor dediğim gibi.
Ayrıca infra seviyesinde Kafka'yı konsüm eden projelerimizde lag olabiliyor.
Bu lagleri de takip etmek için alertlerimiz var.
Çünkü eğer konsüm edemezsek akışı ilerletemeyiz.
Dediğim gibi çok fazla bilgi olabileceği için de dashboardlarımızı kullanıyoruz.
Aynen, teşekkürler.
Şeyi merak ediyorum, bu trend yolu içerisinde ya da herhangi bir asla...
Uygulayan herhangi bir ekip içerisinde bence retro toplantıları en önemli toplantılardan birisi.
Hem ekibin gelişimi hem de birbirimize daha yakın olabilmemiz açısından ben çok önemli buluyorum retro toplantılarını.
Sizin bir retroda çıkan ya da herhangi bir retroda çıkan ve orada alıp da düzelttiğiniz güzel bir örnek var mı verebileceğiniz?
Tabii ki. ben atlayayım bu soruya da.
En son konuştuğumuz Reto'dan bir örnek verebilirim aslında.
Bir arkadaşımız, takımdan bir arkadaşımız event zamanı ofise gittiğine ve ofiste çok güzel yemeklerin dağıtıldığını söyledi.
Biz de action olarak dedik event zamanları topluca şeye gidelim ve bu şeylerden faydalanalım ya bu yemeklerden faydalanalım.
Neden faydalanmayalım ki dedik.
İyileştirdiğimiz bir durum olarak da aslında bu alertleri, incidentları daha yakın takip edebilmemiz için bizim support zamanlarımız oluyor.
Yani başka takımlara destekli bulunduğumuz anlar oluyor.
Burada da çok fazla tekerrür eden sorunlar olabiliyor ve bunların yeniden yeniden başkaları tarafından araştırılmasını istemiyoruz.
Burada zaman kazanmak için de dokumentasyon hazırlamaya karar verdik.
Ve dokumentasyonda birbirlerimiz mesela ben bir sorunla karşılaştım.
Yarın başka bir arkadaşım aynı sorunla karşılaşabilir.
Yeniden araştırmasın diye oraya yazıyorum.
Ve o hızlı bir şekilde sorusuna cevap bulabiliyor.
Bu herhalde yaptığımız en iyi işlerden bir tanesi olabilir yani kendi açımdan.
Arada da böyle haftada bir de bu case'leri toplanıp konuşuyoruz.
Ve bunun üzerinde nasıl bir aksiyon alabiliriz, nasıl düzeltebiliriz diye toplanıp karar veriyoruz aslında.
Peki, genelde teknik şeylerden konuştuk.
Biraz önce biraz daha şeylere girdik gibi aslında, soft skill'lere girdik gibi.
O yüzden şöyle bir soru sormak istiyorum.
Bir ekip düşünün, gerçekten birbirinden farklı bir sürü...
İnsan var ve evet herkesle belki çok iyi anlaşamayabilirsiniz.
Özellikle aslında bu gibi zor durumlarda, fikir ayrılığına girdiğiniz durumlarda biriyle anlaşabilmeniz için bence bazı önemli temel soft skill'lere sahip olmak gerekiyor.
O yüzden ben size sormak istiyorum.
Sizce bir ekip üyesinde bulunması gereken en önemli soft skill nedir?
Ben kendi ekibim için söylemek istiyorum bunu.
Aslında ortak bir hedefe koştuğumuzu bilerek açık bir şekilde ekip arasındaki iletişimi güçlü tutmak gerektiğine inanıyorum ben.
Burada hep şeyden bahsettik market ve yemek domenindeyiz hızlı olmamız gerekiyor diye.
Buradaki bu hızlı aksiyonları alırken de birbirimizi destekleyip yönlendirmemiz çok büyük önem taşıyor aslında.
Yine aynı şekilde burada birden fazla ekiple yakın çalışan bir domen olduğumuz için de çözüm odaklı ilerlemeliyiz.
yaptığımız tüm işlerde. Bence bu soft skill'lere sahip olduğumuz zaman hem birbirimizi destekleyip hem yönlendiriyor olacağız ve daha iyi noktalara geleceğiz diye düşünüyorum.
Ben burada bir ekleme yapabilirim.
Kendi açımdan ben de bir developer gözüyle aslında soruya cevap vermeye çalışayım.
Bence de iletişim çok önemli bir konu.
Çünkü sürekli bir şekilde iletişim halindeyiz.
Pay ile oluyorum, iletişim halindeyim.
Bir işi takip etmek istiyorum, öğrenmek istiyorum, iletişim halindeyim.
Burada iletişimi Korumak ve bunu geliştirmek bence çok önemli.
Ayrıca yardımseverlik ben burada gördüm diyeyim.
Herkes bir kupon hakkında onu çözmek için efor sarf ediyor.
Kendine gerekirse feragat edip, zamanla feragat edip size yardım etmek istiyor.
Bu aslında bir kültür haline gelmiş ve siz de başkalarına yardım ettiğinizde herkes birbirinizin sırtını kolluyor gibi oluyor.
Bir de ayrıca son olarak şey demek istiyorum.
Ben değil biz mentalitesi burada çok oturmuş durumda.
Ben gelince gördüm. Aslında biraz da şaşırmıştım.
Bu benim çok hoşuma gitti.
Çünkü herkes mütevazı bir şekilde takılıyor.
Bu benim çok hoşuma gitti diyebilirim yani en son.
Bu podcastlerde genelde hani böyle çok iyi olduğumuz konuları konuşabiliyoruz.
Çünkü aslında daha yüzden çok iyi olmadığımız konuları konuştuğumuz ve bunun üzerine aksiyon aldığımız için süreçlerimizin çoğunu iyileştirmiş durumda oluyoruz.
Böylece belli bir olgunluğa gelip böyle konuşabilir oluyoruz ama.
Diyelim elinizde bir sihirli denek var.
Bu soru bence güzel bir soru olacak.
Bu sihirli denekle şu andaki süreçlerinizde ya da teknolojilerinizde neyi değiştirmek istersiniz?
Çünkü her zaman bir gelişim alanı vardır ya.
Ben teknik anlamda bir aslında cevap verebilirim.
Son zamanlarda ben teknik anlamda cevap vereyim.
Son zamanlarda biz Kafka Connector'larımızda çok fazla sorun yaşadık.
Tam olarak root kaosunu bulamamamıza rağmen kendi kafasına göre diyeyim artık.
düşüp kalkabiliyordu.
Ve bu bizim artık biraz canımızı sıktı çünkü bu bize incidental yaşatmaya başladı.
Bununla ilgili aslında biraz konfigleriyle biraz tweak etmeye başladık.
İşte şunu arttırsak, şunu azaltsak, acaba nedendir araştırmalara başladık.
Benim elindesiyle değnek olsa ilk çözüm bulacağım konu bu olurdu.
Ama domain anlamında sözü aslında Fatma'ya bıraksam daha iyi olur.
Ya ben burada şeyi söyleyebilirim product olarak aslında.
Gün içerisinde böyle günümüzün çoğu, zamanımızın çoğu toplantılarla geçiyor.
Ben bu toplantı sürelerini çok daha böyle iyi bir şekilde ayarlayabileceğimiz her konuya gerçekten böyle rahatlıkla vakit ayırıp geliştirme yapabileceğimiz alanı
kendimize yaratmayı isterdim.
Burayı değiştirmek isterdim.
Ama burada da şu var. Market ve yemek domeni hızlı bir domen.
Hızlı bir şekilde siparişlerin süreçlerini ilerletip müşteriye teslim etme amacımız var.
Belki bu domenin özelliği olarak da bu kadar hızlı ilerliyor olabiliriz.
Aynı şekilde tren yol kültürü olarak da hızlı bir şekilde ilerliyoruz.
Ama bu hızla ilerlerken biraz daha zaman yönetimine daha fazla önem vermeyi isterdim açıkçası.
Aslında şu an böyle teknoloji ekibindeki kişilerle konuşsak çoğunluğu benzer bir yorumda bulunur.
Toplantılar hem çok fazla hem de vakit alıyor.
Son Town Hall'da şöyle bir öneri gelmişti.
Bu toplantı gerçekten gerekli miydi diye her toplantının sonunda ufak bir retro mantıklı olabilir mi acaba?
Belki olabilir. Bazen şey durumları da olabiliyor.
bizimle alaklısı olmayan bazı toplantılara katılmamız ya da toplantılara davet edildiğimiz durumlar da olabiliyor.
Belki buralarda kendimizle geliştirebilmek için toplantı sonrasında öyle küçük retrolar yapmak, birbirimizi bu konuda da beslemek iyi olabilir bence.
Kapanmadan bir soru daha sormak istiyorum.
Daha sonra sürpriz bir sorumuz daha olur belki.
Bilik Fradi'den yeni çıktık sayılır aslında.
Hatta yeni çıktık sayılmaz.
Çok kısa bir süre oldu.
Bu soruyu da çok sorunsuz atlattık ama size şey sormak istiyorum.
En son canlı sistemi ne zaman patlattınız ve aksiyon olarak neler yaptınız?
Böyle bir hikayeniz varsa anlatabilir misiniz?
Bunu da ben cevaplayabilirim.
En son aslında biz şöyle yaklaşıyoruz bu soruna.
Her canlıyı patlattığımızda bunu bir egzerde tutuyoruz.
Root cause'ı ne? Neden?
Ne zaman? Nasıl patlattık?
Nasıl bir şekilde çözüm bulduk?
Bu çözüm... Yeterli mi?
Daha sonrasında geliştirme yapılması gerekiyor mu diye bunu Excel'de tutuyoruz.
Ve bunun üzerinden de her hafta geçiyoruz açıkçası.
En son satıcı panelinin erişimde bir sıkıntı olmuştu.
Bunu root cause'unda ise bir internal kütüphanemizde bir erase condition olduğunu fark ettik.
Fix'e çıkıp yeni tekne kullandığımızda sorun hallolmuş oldu.
Eğer böyle incident çok daha büyükse yani uzun süreler devam ediyorsa bunu da aslında yakın çalıştığımız...
takımlar haricinde de diğer takımlara haber vermeye çalışıyoruz.
Bakın bizden kaynaklandı.
Şu şu sorunlardan dolayı belli bir süreliğine market veya yemek kanalında hizmet veremedik veya hizmetimizde şöyle bir aksaklık oldu diye haber veriyoruz.
Aslında ben burada canlıyı kendim patlattığım bir örnekten bahsedebilirim.
Burada da takımın tutumundan bahsedebilirim aslında.
Çok hoşuma gitmişti. Bizim şu an Core tarafıyla ortak olan bir projemiz vardı.
Ve orada bir değişiklik yapmamız gerekiyordu.
Bu işte benim üzerimdeydi.
Ben yaptım. Daha sonrasında bunu canlıya alacaktık.
Ama biraz daha dediğim gibi kritik bir proje olduğu için hep beraber alalım.
Herkes izlesin.
Biraz önemliydi çünkü. Manager'ım vardı.
Takım liderim vardı. Takımdakiler vardı.
Başka takımdan da insanlar vardı Zoom'da.
Ve ben aslında biraz gerilmiştim.
Çok fazla deneyimim yok açıkçası ve o kadar insanı bir arada görünce herkes benim ekranımı izleyince ben biraz gerildim.
Daha sonrasında bunu proda aldık ve null pointer exception yedim.
Aslında çok basit, kontrol edilmesi gereken bir şey.
Temel bir şeyden dolayı null pointer exception'dan dolayı canlı patlamış oldu bir nevi.
Burada menajerim çok sakin bir şekilde ne olacak hallederiz tarzında yaklaştı ve bu beni aslında bayağı...
rahatlattı. İşte sen orada sen ne yapıyorsun?
Nasıl yap? Nasıl düşünemezsin?
Bunun tarzında bir yaklaşımda bulunsaydı benim elim ayağım titrer ve hiçbir şekilde kimse kazanmazdı.
Orada beni rahatlattı.
Hem o an beni kazandırmış oldu hem de o incident'ın çok daha kısa sürmesine yardımcı oldu.
En son düzeltip fikse çıktık ve buradan öğrendiğim en önemli şey testin önemi.
Her şeyi test etmek gerekiyormuş onu öğrendim yani.
Ama şimdi null pointer da yani gözümü seveyim abi.
Abi billion dollar mistake yani.
Yapacak bir şey yok. O zaman çok teşekkür ederiz arkadaşlar katıldığınız için programımıza.
Bildiğiniz gibi programımız böyle bitmiyor.
Programımız format değiştirerek devam ediyor.
Daha önceki programları dinlediyseniz.
Doğru dinlemiş miydiniz? Tabii dinlemiştik.
Evet dinliyoruz. O zaman hazırlıklı gelmiş olmalısınız.
Yani kısmen ama ne gelecek merakla bekliyoruz biraz.
Korktuğum başıma gelmesin ama. Yani bizden bir şey gelmeyecek, sizden bir şey gelecek.
Biz belki yanlardan yan vokal yapabiliriz.
İşte bizden bir şey gelebilecek mi o kısmını bekliyoruz.
Reyyan bayağı hazırlıktır ki artık aslında.
Mikrofonu vesaire falan. Aynen.
İnternette bir sıkıntı var gibi de.
Yoktu Reyyan ya.
Hiçbir sıkıntı yoktu.
Şimdi mi oldu? Sesim geliyor mu?
Mikrofonu kapatma.
Arkadaşım. Kaka bir yana benim sesim çok kötüdür.
Hiç dinlemek istemezsiniz.
Estağfurullah abi. Ben gerçekten söyleyemem.
Senin sesin iyi değil mi? İyi abisin.
Ben bu arada geçen podcast'ta Gizem'in performansını çok beğenmiştim.
En sevdiğim şarkılardan birisini söylemişti.
Okumuştu ya da. Bir tane podcast'e co-hostlardan, diğer
podcast'e konuklardan oluyoruz.
Bu sefer size denk geldi.
Ya bu arada şaka bir yana gerçekten böyle bir yeteneğim olsun çok isterdim.
Ama maalesef. Bir şey söyleyebilir misiniz?
Şiirle benim hiç aram yoktur.
Ben hiç öyle romantik bir insan değilim.
Şey diyormuşum ben gülmeyi sevmem sıkıntıları.
Ben şey yapmak istiyorum.
Bir ekibiz.
Biz sadece kendi aramızda ekittik.
Bence Fırat abiyle de bir ekibiz.
Bence Fırat abi de güzel fıkralar vardır.
Keşke olsa. Ama işte güzelinizin söylediği gibi bir program biz yapıyoruz.
Bir program sizlerle ekliyoruz.
Neyse arkadaşlar. Bunları kenarda yazıyoruz.
Öyle böyle tanıyoruz.
Bu podcast'in de güzel parçası.
Güzel oluyor böyle ya.
Tanımış oluyoruz. İleride bir burun kuracak olsak.
Biz almayacak bir burun kalırız.
Belki farklı yeteneklerde bir araya geliriz.
İnşallah. O zaman teşekkür ederim.
Biz teşekkür ederiz bu fırsatı verdiğiniz için bize.
Çok sağ olun. Teşekkür ederiz.
O zaman görüşmek üzere diyelim.
O zaman gelecek hafta görüşmek üzere.
O zaman hoşçakalın.
Hoşçakalın.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
