
Selam Ekip - E32 - OMS Seller Order Experience
20 Haziran 2023 · 25 dk
PlatformlardaSpotifyApple Podcasts
Guests: Fatiha Beqirovski, Merve Yapnaz, Tuğrul Bayrak,
In the 32. episode, our guest is OMS Seller Order Experience. We talked about their team structure, projects, their choice of technology, and much more!
Transkript
Merhaba ekibim. Ben Cengiz, Storefront TR'den.
Ben Erdem, Product Center'dan.
30 saniye boyunca Selam Ekip podcast serisinde Seller Order Experience ekibimizle birlikte olacağız.
Teknoloji ekibini tanıtıp, procesleri ve teknolojileri konuşacağız.
Bu ekibimizde Seller Order Experience ekibini tanıtıp, ekip stüktürü, teknolojileri ve pratikleri konuşacağız.
Bugün Merve Yapnaz ile birlikteyiz.
Tuğrul Bayrak ve Fatiha Ekirovski.
Merhaba arkadaşlar. Merhaba.
Merhaba. Sizlerle birlikte olacağımız için çok mutluyuz.
Lütfen kendinizi tanıtabilirsiniz.
Evet, tabii ki.
Merhaba. Öncelikle bizi davet ettiğiniz için teşekkür ederim.
Benim adım Tuğrul Bayrak.
Şelal Ordur Experience Team'de back-end mühendisliğim.
Trendyol'da 3 yıl boyunca çalışıyorum.
Trendyol'da araştırma alanına başlamıştım.
E-Commerce, Grocery ve Meal projesine katılıyordum.
1,5 yıl sonra, Order Management Team'e dönüştüm.
Bundan sonra End User'ın Order Data'yı vermenin sorumluluğundayım.
Herkese merhaba.
Fatih Han'ım. Seller Order Experience'de back-end mühendisliğimim.
Bu podcast'da Team SOEX'i tanıtacağız.
I have been in Trendyol for past four years.
I started at warehouse management domain.
There I took a role in the inbound team.
After spending about three years there, last year I rotated to order management domain.
Since then I'm in a team responsible for providing order data to sellers and customers.
Hello again. I'm Merve Yapmaz.
I have been working at Trendyol for a year and a half.
When I first joined, I was part of the grocery team.
Daha sonra, Team'a geçiyorum.
Önce Veev, şimdi Seller Order Experience'i tanıyorum.
Web ve mobil aplikasyonlarla birlikte destekliyorum.
İzlediğiniz için teşekkürler.
İzlediğiniz için çok memnun oldum.
İlk sorum, Team'in nedeni nedir?
Domain'i daha fazla anlatabilir misin?
Evet, kesinlikle. Team'in Seller Order Experience'i...
İzlediğiniz için teşekkür ederim.
İzlediğiniz için teşekkür ederim.
İzlediğiniz için teşekkür ederim.
Her zaman yeni fiyatlar vermeye çalışıyor ve satın alışverişi geliştirmeyi artırıyor.
Bu kontekste saygılar bizim ekibimiz için çok önemli ve satın alışveriş paneline saygılar verebiliyor.
Ve bu hizmetleri sürekli takip ediyoruz ve bu hizmetlerden gerekli hareketler alıyoruz.
Ve bunu böyle kısaltabilirim.
Bu gerçekten harika.
Bu tür bir uygulama gerçekten beğendim.
Ayrıca sizinle ilgili bölgelerinizden merak ediyorum.
Hangi bölgelerle yakın çalışıyorsunuz?
As a team we work closely with three key domains which are delivery, order and seller.
These domains align with our responsibilities and they play a significant role in our operations.
So I want to ask how is your team structure?
How many of you guys working together and what are your teammates roles?
Our team consists of seven developers.
İkisi de başkenti aplicasyonlarına sorumlu.
Ve ikisi de başkenti aplicasyonlarına sorumlu.
Ve ayrıca QA mühendislerimiz var.
Onlar bizim gözlerimizden bahsediyorlar.
Team structure. Another topic Scrum.
Do you use Scrum and which meetings do you have about it and how long are your sprints?
I can answer that. As all the other teams in Trendyol we also work agile.
We mostly use Scrum. Our agile process consists of daily meetups which are held every day at 8.30 and grooming, estimation and retrospectives.
And we run our sprints on weekly basis.
İzlediğiniz için teşekkürler.
İzlediğiniz için teşekkürler.
Retro mesafelerde, bazen geliştiriciler ve ürün yöneticileri veya UI ve UX tasarımcısı aynı yöne,
aynı noktaya gelmiyorlar.
Bu mesafelerde her şeyin bir savaşı var mı?
Her retro mesafeler çok yavaş geçiyor.
RETRO'lar normal bir tansiyon var.
Bazen RETRO'lar daha uzun zamandır bekleniyor.
Belki başka bir seans planlamalıyız ve herkesin iyileşmesini sağlayabiliriz.
Ama o noktaya gelmeyiz.
O noktaya gelmeyiz. Şimdiye kadar o noktaya gelmedik.
Komünikasyon ekibimiz çok güçlü.
Bu tür şeyler olup olmadığında her zaman birisi yerini kutlayacak.
Evet, RETRO'lar tansiyonumuz var.
Ama şimdiye kadar çok kötü bir seviyeye gelmedi.
Tamam, harika.
Bununla ilgili bir şaka yaptım.
Ve bence trendli olduklarında çoğu takımın bu tarz hareketleri var.
Ve bu gerçekten harika.
Bunu gerçekten beğendim.
Peki, pair programlama hakkında ne?
How often do you do pair programming?
I can answer for back-end side.
We are constantly do pay programming.
As mentioned, we have three back-end engineers.
Weekly, one of us is our support engineer and the two other developers are working in payers.
And pay rotation is arranged by ensuring everyone works together in a specific period.
By doing that, we are ensuring to share knowledge in the team.
Maybe Merve can explain for the front-end side.
Of course, on the front and side, we are following the trunk-based development technique with pay programming.
If there is a high workload during a sprint or if we have routine simple enhancements, we break the test and proceed by reviewing each other's work.
Bazen iki kişi bir araya gelip bir araya gelip bir araya gelip bir araya gelip bir araya gelip bir araya gelip bir araya
gelip Belki de daha önce değil ama
ben ve Turu bu ekibimizle birlikte Rotation'a katıldık.
Turu Soex'e yaklaşık 2 yıl önce katıldı ve ben de son 1 yıl önce katıldım.
Harika. Rotation hakkında başka bir şaşırtıcı sorum var.
Yeni insanların ekibine katılan rotasyon süreciniz nedir ve ekibinizde bu tür süreçleri nasıl geliştirebilirsiniz?
Evet, buna cevap verebilirim. Gerçekten rotasyon sürecinin çok benzeri olanı görüyorum.
Bir ekibine katılırsanız, sizin için sorumlu olan bir arkadaşınız var ve birkaç hafta boyunca onbording planı için sorumlu oluyor.
Ve arkadaşınızla çalışmaya başlıyorsunuz ve ekip stüdyosunu, projeleri ve iş alanını anlıyorsunuz.
Ve bazen bilgi alıp projelerle çalışmaya başlıyorsunuz ve diğer ekip memurlarıyla çalışıyorsunuz.
Söyleyebilirim ki... Rotasyon sürecinin Trendyol'da çok iyi planlanılmıştır.
Ayrıca ekibimizde yazılı bilgiler var.
İş ve proje stüdyosu ve teknik kararları için bilgileri takip edebilirsiniz.
Ekibimize ulaşmak gerçekten yardımcı oluyor.
Fatiha, ekibimize bir şey eklemek ister misiniz?
Öncelikle, yeni bir kişinin rotasyonla ilişkilerine geldiğinde, onları ekibimizin birbirinden farklı davranmamız gerekiyor.
O yüzden onbording sürecini başlıyoruz, dışarıdan yeni başvurucularla aynı şekilde.
Harika. Röportaj sürecinde sizin ekibinizin iyi olduğunu düşünüyorum.
Şimdi Lunch & Learn seslerinden bahsedelim.
Geçen gün Lunch & Learn seslerinin Trendyol'da çok fazla yer almış olmalıydı.
Lounge & Learn mesafelerini ekibinizin ya da çoğunluğunuzda yönetebiliyor musunuz?
Aslında Lunch & Learn seslerini organize ediyorduk.
İzlediğiniz için teşekkür ederim.
Do you have any OKRs?
If yes, how do you plan them?
Yeah, we have OKRs planned quarterly.
We track OKR progress every two weeks in the meetings held on Friday.
We assign the task to volunteers.
They do the necessary investigations and bring the tasks to the sprints.
OKRs mostly cover both business and technical challenges.
They aim to remove...
Buddle next and improve the overall system and increase seller satisfaction because seller satisfaction is really important for our team.
I'm really curious about the OKRs.
I heard that before and we have OKR challenges and I think we can talk a bit more about it.
So why OKRs are important for your team and the other teams in Trendyol?
Evet, bunu sormaya çalışacağım.
OCR'ın önemlisi aslında, işbirliğimiz, kendimizi ve sistemimizi sürekli iyileştirmek.
Bu işlemi yapmak için bazı uygulamalar yapmalıyız ve bu uygulamaları uygulamaya çalışmalıyız.
Bu uygulamalar uygulamaya başlayabilmek için bazı önlemler olmalı.
OCR, işbirliği iyileştirmek için uygulamalar yapmak için uygulamalar yapmak için uygulamalar yapmak.
Sprint'te de teknik kartlar var ama bu teknik kartlar organizasyonlu olmalı ve takip etmemiz gereken bir yöntem olmalı.
Bu yöntem OKR'dan yönetilmiştir.
Bize bir amacın var ve bence bize motivasyon veriyor.
Evet, bence en iyi yöntem takımın efsaneyi artırmak ve herkesi teknik batılınakları çıkarmak.
Tamam, tamam, anladım. Çok açık bir cevap vardı.
Çok teşekkür ederim. Tamam, arkadaşlar, ne yapacağınızı gerçekten merak ediyorum.
Teknoloji hakkında biraz başlayalım.
Front-end sitesinde kullanılan teknolojiler ne?
farklı teknolojiler ve farklı projeler nasıl yöneliyorsunuz?
Tamam, web aplikasyonlarına RGIS kullanıyoruz.
Mobile site'de bir micro app var.
That's working in conjunction with the Gilgamesh project which is developed by multiple teams.
In this application we use React Native and WebView.
WebView allows us to make small UI changes without having to wait for a new version of the application to be released.
For our BFF service we use Golang handling multiple projects.
İzlediğiniz için teşekkür ederim.
Thank you. So each team at Trendyol can use different technologies.
And we talk about frontend.
So what technologies do you use at the backend side?
I can answer that. For API development, we mostly use Go language, which is widely used in Trendyol.
But we have also a few projects in Java as well.
For databases, we usually use NoSQL, Couchbase and Elasticsearch together.
We also have PostgreSQL in F3 projects.
And our acceptance tests are written in Java.
For messaging part, we use Confluent Kafka, which is also widely used in TrendView.
On the DevOps side, we use GitLab CI CD and Argo CD, Docker and Kubernetes.
Lastly, for monitoring, we use New Relic, Grafana and Elasticseed Tech.
I can summarize the technologies.
Çok teşekkür ederim açıklaması için.
Teknolojilerden bir şeyden merak ediyorum.
Bugün teknolojilerinizi değiştirmek istiyorsanız ne düşüneceksiniz?
Ve bu kadar radikal bir adım almak çok zor mu?
Bunu sorabilirim. Aslında TrendZone'da yeni teknolojiler için herkes açık.
Ve program dilini veya teknolojileri sevmiyoruz.
Data bakıyoruz ve en iyi solutu kullandık.
Bir örnek verebilirim.
Geçen yıl yeni bir proje vardı ve şirketin ihtiyaçları çok açıkydı.
Önceden ekibimizde ilişkinizde ilişkinizde kullanmadık.
Ama bir süre sonra konuştuk ve konuşmaya başladık.
O proje için PostgreSQL'i kullanmaya karar verdik.
DBA'yla ve diğer arkadaşlarla konuştuk.
PostgreSQL DB'yi kullanmak istedik ve ilişkinizde ilişkinizde kullanmaya başladık.
Ve biz de bu işin ihtiyacı için en iyi çözüm olduğunu düşündük.
Yani yeni teknolojiler ve yeni program dilimleri için çok ihtiyacımız var.
Bu gerçekten harika. Bence bunu öğrenip değiştirmek en iyi yolu olduğunu düşündüm.
Bir önemli soru.
Redesayın ihtiyaçları frontend'de oluşturduğunda nasıl devam ediyorsunuz?
Riskleri azaltmak için ne yapıyorsunuz?
İzlediğiniz için teşekkür ederim.
As a precautionary measure, we keep both the old and new versions within the project and use configurations to ensure that users
see the new versions for a while.
If any issues arise, reverting back to the stable system takes a very short time.
We observe for a while to ensure everything is progressing smoothly.
If everything goes well, Ayrıca alt version'ı ve yeni version'ı tamamladık.
Teşekkürler Merve. Tekrar back-end tarafından bir soru soracağım.
Back-end arktikasyonla ilgili kararlar nasıl yapıyorsunuz?
Tamam, harika.
Bir başka sorum benim için.
A product is as intense a job as making it.
In fact, I think it's a more difficult task for optimization and monetization as we speak.
So what do you do for performance optimization and monitoring?
We constantly track our application performances on New Relic and we detect what decreases performance and...
problemi çözmek. Ve problemi çözmek, kariyerleri arttırmak, program dilini, bibliğe uygulamalarını yeniden uygulamaya başlamak olabilir.
Belki Merve'nin frontend tarafından bahsedebilir.
Tamam, teşekkür ederim. İzlediğiniz
için teşekkür ederim.
What kind of incidents do you face and what actions do you take in case of an accident?
The incidents can occur on infra sites such as Elasticsearch, Node Failure, Confluent Kafka Latency or some Kubernetes related issues.
Taking actions when infra related incident occurs is a little bit challenging but we have our backup plans.
Since our services affect sellers directly, we can't take a chance here so we have to have a backup plan.
Örneğin, elastik araştırma içerisinde bir olumluluk var.
Bu olumluluk, couchbase'e direkt verilen verilerden ve satıcılara recovery mode satıcı paneline sahip olacaktır.
Bazen bu olumlulukla ilgili şartlar da olabiliyor.
Ama bu olumlulukla ilgili şartlarla karşılaştırılmak daha kolay.
Bu tür olumlulukları korumak için testlere çok önem veriyoruz.
Bu yüzden bu tür olumluluklarla karşılaştırılmamız çok sıkıdır.
İçerisinde, prodüksiyonlarında bir sorun varsa, aslında üretme sistemi üretiyoruz.
Tamam, bu harika.
Bu konuda, düşürme kısmını sormak istiyorum.
Düşürme kısmını nasıl düşürüyorsunuz?
Düşürme kısmını düşürmek için, alerjilerimiz var, loglarımız var, ki sürekli monitörlendirilir.
Error yaşanırsa hemen belirtiliyoruz ve yardımcı veya başka kimseyi görürse, ekibimizi belirtiyor, birleşiyoruz ve onları çözmeye çalışıyoruz.
Bazen işlemleri geri döndürüyoruz ya da fiyat kısımları var, genelde fiyat kısımlarımız var, değişimleri kırmak için veya belki büyük fiyatlar.
Fiyat kısımları yansıtıyoruz ve satıcıları etkilemeden problemi çözmeye çalışıyoruz.
Tamam, bu çok güzel bir cevap.
Teşekkürler. Bir başka sorum.
Eğitim süresi sizin ekibinizde nasıl çalışıyor?
Eğitim sitesi hakkında çok merak ediyorum. Eğitim sitesi
hakkında. İzlediğiniz için teşekkür ederim.
...unit and integration test within the project.
We also have acceptance tests which are run in QA environment on the pipeline.
And acceptance tests are written by back-end engineers.
We also have journey tests that are run on the pipeline.
But they are written by our QA engineer.
And tests are really important at Trendyol.
And if a developer sends a merge request without...
Tests are not acceptable actually.
And in the team we try to keep the code coverage at least 90%.
Okay, great. So I have another question.
At Randall, everything follows some metrics.
So how do you measure the time of development and deployment to the production?
Do you have any data?
We track 4 key metrics data in Trendyol.
It covers 4 metrics.
They are deployment frequency, lead time, mean time to restore and change fail percentage.
For more details on this topic, we can recommend you to read Accelerate book.
We will not dive into details of this metrics.
I will talk about our team's goal.
Our team's goal is to have lead time below 2 hours.
We develop tasks in small increments.
So here we take advantage of microservices and trunk-based development to deploy.
İzlediğiniz için teşekkür ederim.
Altyazı M.K.
İzlediğiniz için teşekkür ederim. Merve bunu çok iyi kısalttı.
Ama onun dediği kısaca, biz de Discord'u Slack'la birlikte kullanıyoruz.
Discord'da çoğunlukla payır kanallarımız var.
Bu kanallarda birlikteyiz.
Birbirimizle iletişimde çok fazla iletişim yapıyoruz ki, günlerce kanalda kimse yoksa, sadece doğru hissediyor.
Ve bu şekilde herkes ulaşabiliyor.
Yani birisiyle bir şey paylaşmak veya soru sormak gerekirse, o kişiyi kolayca Discord kanalında bulabiliyoruz.
We were with the Cellular Order Experience team and it was a great conversation.
Thank you for your time. See you in our next chapters.
See you folks. See you. Thank you.
See you. Thank you.
See you.
Bu transkript otomatik olarak çıkarıldı; kayıtla küçük farklar olabilir.
