6 puan yazan GN⁺ 2025-08-03 | 3 yorum | WhatsApp'ta paylaş
  • Mintlify’ın arama race condition sorununu bir yıldan uzun süredir yaşamış, düzeltemediğim için rahatsızlık duymuştum
  • Mintlify’ın arama motoru tedarikçisi olan Trieve’ın kurucusu olmama rağmen, satıcı sıfatıyla doğrudan koda erişimim olmayıp sorunu onaramamıştım
  • Sonunda Mintlify’a katıldıktan sonra doğrudan AbortController kullanarak arama sorgusu iptali ve sonuç senkronizasyonu sorununu çözdüm
  • Açık kaynak olsaydı PR ile hemen düzeltilebileceği gerçeği üzerinden açık kaynağın pratik avantajını öne çıkardım
  • Küçük bir rahatsızlık olsa da, bunu doğrudan düzelterek hissettiğim memnuniyet ve ürün geliştirme önemini bir kez daha fark ettim

PR Gönderemediğim İçin Doğrudan Katılıp Düzelttiğim Hikaye

Bir yıldan uzun süredir sorun çıkaran Mintlify arama hatası

  • Mintlify’ın arama özelliğinde race condition nedeniyle sorguların yinelendiği ve kullanıcının yazmaya devam ederken yanlış arama sonuçlarının gösterildiği bir durum sürekli oldu
  • Mintlify’a Trieve arama deneyimi sağlayan satıcı (dış tedarikçi) kurucusu olmama rağmen, kod tabanına erişim yetkim olmadığı için doğrudan düzeltme yapamadım
  • Sorunu birden fazla kez paylaşılan Slack kanallarında dile getirdim, ancak düşük öncelik verilmesi nedeniyle uzun süre bekledi
  • Trieve’ın arama deneyimi Mintlify’de kötü göründüğünde, kurucu olarak kişisel bir haysiyet duygusu ve marka imajına dair baskı hissettim

Ekipte Yer Alıp Doğrudan Çözüm Getirmek

  • Mintlify’a katılarak doğrudan kod tabanına erişim sağladım
  • Arama fonksiyonuna AbortController ekleyerek önceki arama sorgularını anında iptal edecek şekilde iyileştirme yaptım
  • Artık kullanıcı yazdıkça yalnızca en son arama sonuçları yansıtıldığı için daima en güncel, doğru sonuçları görebiliyor
  • Uzun süredir canımı sıkan bir sorunu kendim düzeltmenin verdiği memnuniyet çok yüksekti
  • Twitter’da kısa süre çalışıp giriş ekranı açılır penceresini düzelten George Hotz örneğinde olduğu gibi, bir sorun gördüğünde doğrudan çözen hacker/şirket kurucu bakışına değer veriyorum
  • Bu tür doğrudan ve somut problem çözme deneyimi kariyerimi daha iyi bir yönde sürüklüyor

Açık Kaynak Kodun Somut Değeri

  • Kişisel olarak açık kaynak yazılımı geliştirmeyi ve kullanmayı tercih ediyorum
  • Açık kaynak olsaydı, dış geliştiriciler doğrudan hata düzeltme veya özellik iyileştirme için Pull Request (PR) gönderebilecek bir yapı olurdu
  • Eğer Mintlify arama özelliği açık kaynak olsaydı, bir yıldır süren bu sorun hemen PR ile çözülebilirdi
  • Kapalı kaynak modelde iyileştirme, yalnızca kod erişimi olduğunda mümkün oluyor
  • Açık kaynaklı ortamın “anında yetki verme” değerini takdir ederken her şirketin iş modeli farklarını da anlamaya çalışıyorum

Doğrudan İyileştirmenin Verdiği Keyif

  • Mintlify arama özelliğinin daha akıcı ve daha hızlı tepki veren hale gelmesinin doğrudan nedeni bu iyileştirme oldu
  • Uzun zamandır zihnimi kurcalayan küçük bir hatayı bizzat düzeltmek, ürün ilerlemesine katkı sağlamanın memnuniyetini hissettirdi
  • Bu deneyimle, küçük ve önemsiz görünen bir sorunu sürekli düzeltmenin ürünleri çok daha iyiye taşıdığını gördüm
  • Kendi başıma yaptığım küçük değişikliklerin birikimiyle kullanıcı deneyimi keskin biçimde gelişti
  • Bundan sonra da bu tür küçük iyileştirmelerin birikimiyle daha iyi ürünler yaratmak istiyorum

3 yorum

 
yangeok 2025-08-05

hahahahaha saygım sonsuz

 
kimjoin2 2025-08-04

Üst düzey geliştirici

 
GN⁺ 2025-08-03
Hacker News yorumu
  • Bir zamanlar Amazon hesabım dolandırıcılık şüphesiyle askıya alınmıştı; çok eski bir hesaptı ve e-posta ile telefon numarasını çeşitli veri sızıntıları nedeniyle silmiştim. İşe alındıktan sonra içeriden Amazon’un anti-fraud ekibindeki sorumluya ulaşıp hesabın açılmasını hızla çözdüm; müşteri desteğine yazdığımda hiçbir işe yaramamıştı.

    • Amazon’daki en sinir bozucu şey bu. Reddit’te ya da başka incelemelerde ürün ararken genelde amazon.com bağlantısına gidiyorum. Sonra beni ABD doları hesabına geçirmeye çalışıyor, sipariş verebilmek için yeniden Almanya/euro hesabına dönmem gerekiyor. Bu süreç çok uğraştırıcı; keşke bölgeler arasında serbestçe gezinmeye izin verseler. Belki sadece sipariş vermeye çalışırken profili değiştir demeleri yeterli olurdu. Ayrıca bölge içindeki satıcılardan satın alma seçeneği de olsa iyi olurdu.

    • İlginç. Google’a onboarding sırasında verilen bozuk telefonu hâlâ bende; içeride kimsenin umurunda değil. Onu kendim düzeltebileceğim bir araç vardı ama izinsiz kullanırsam işten çıkarılacağımı söyleyen bir uyarı da iliştirilmişti.

    • Facebook hesabımı da 9 ay boyunca açtıramamıştım, sonra tesadüfen içeride bir işle uğraşırken hemen açtırma deneyimim oldu.

    • Hayatta ben de böyle epik bir an yaşamak istiyorum.

    • Keşke benim de böyle bir şansım olsaydı; Amazon hesabımı kaybetme nedenim uluslararası telefon numaramın en başındaki tek bir hanenin yanlış yazılmış olmasıydı. Bu yüzden SMS doğrulamayı kullanamadım, OTP uygulamasının yüklü olduğu telefon da hemen öncesinde bozulmuştu.

  • Google Maps beni işe alıp mesafe birimlerini sadece km gösterecekse iletişim bilgilerim HN profilimde var; 20 yılda 500 kez mili km’ye çevirmişimdir herhalde. Kullanıcıları analiz eden bir şirketin bu kadar temel bir şeyi becerememesi saçma.

    • 500 kez yapmış olman gerçekten saçma; düşük kullanıcı etkileşimi yüzünden A/B testinde başarısız olma sürecini hayal ettiriyor. Sanki 7 mülakata girip 1 PR göndermişsin de sonuç bu olmuş gibi.

    • Haritanın tamamını “gerçek boyut 1 cm = 1 cm modu”nda yakınlaştırıp bunu tüm yolculuğa uygulayan kişiyi bulup bir tane patlatmak istiyorum. Muhtemelen manuel yakınlaştırınca arabayı ekranın dışına çıkmasına izin verip, “yeniden ortala” deyince de zorla eski yakınlaştırmaya döndüren kişi de aynıdır. 2005 navigasyon cihazları bile bunları çözmüştü.

    • Meksika seyahatimde giriş yapmış olmama rağmen Google Flights her yeni sekme açıldığında para birimini dolardan pesoya çeviriyordu. Gerçekten umursamıyor gibiler.

    • Google’da 10 yıl önce çalışırken bu sorunu iç geri bildirim formundan bildirmiştim ama hiç yanıt gelmedi. Sonrasında her yıl Google Maps geri bildirimi üzerinden bu bug’ı rapor ettim; bazı yıllar iki kez bile gönderdim. Artık gerçekten utanç verici bir bug hâline geldi.

    • gmaps ile ilgili işlere de ilgim var; 1 saatten uzun süren yolculuklarda dönüş yolunu da önceden cache’lese iyi olurdu. Sinyalin çekmediği yerlerde yolu hatırlamak zorunda kalmak sık sık sorun yaratıyor.

  • Eski bir şakanın gerçekten gerçeğe dönüşmesini görmek eğlenceli; bir de (yine) sol boşluk eklenmesi talebi var. Ekranın en kenarında metin okumak biraz tuhaf hissettiriyor.

    • Yazıdaki bağlantıları takip ederken, Apple’da süresi dolmuş geçiş kartlarını otomatik silen özelliği ekleyip hemen ardından ayrılan birine dair örnek gördüm. Artık o özelliği her kullandığımda içimden teşekkür etmem gerekecek gibi hissediyorum. Gerçekten çok sinir bozucu bir sorundu.

    • Belki de doğrudan OP tarafından işe alınıp düzeltmek daha iyidir diye şaka yapıyor.

    • Ben ekran alanını israf eden siteleri pek sevmem.

    • Ben sola hizalamayı seviyorum; metnin olması gereken yerin orası olduğunu düşünüyorum.

  • Debounced search function’a AbortController ekleyip kullanıcı yeni bir giriş yaptığında önceki sorguyu iptal edecek şekilde ayarladığını anlatıyor; kullanıcı henüz yazmayı bitirmemişken filtre ya da aramanın uygulanması en sinir bozucu şeylerden biri. Tamamen bitirene kadar beklese keşke.

    • Grafana log araması, uygulanan log filtresini değiştirince her karakter değişikliğinde sorgu başına ücret yazıyor. Bu yüzden UX kullanım alışkanlıklarımı değiştirmek zorunda kaldım; aradığım dizgenin tamamı yerine karakter sayısı kadar maliyet çıkıyor.

    • Blogumda canlı arama özelliği yaparken önce önceki arama önerilerinin tamamlanmasına izin verip sonra yeni isteği göndermiştim. Sunucu yükünü önlerken tepkiselliği koruyan makul bir yöntem olduğunu düşünüyorum.

    • Özellikle rezervasyon sitelerinde bundan nefret ediyorum. Filtreler sol kenar çubuğunda oluyor; ekranda hepsi görünmüyorsa her etkileşimde yukarı kayıyor, yükleniyor ve filtreler salt okunur hâle geliyor, her şey bitene kadar bekleyip ancak ondan sonra sıradakini ekleyebiliyorsun.

    • İyi bir orta yol, kullanıcı yazmayı bıraktıktan sonra birkaç yüz milisaniye bekleyip sorguyu göndermek olabilir. Ya da sorgu gönderilir ama kullanıcı yazmayı bırakana kadar sonuçlar gösterilmez; bu da düşünülebilir.

    • Bu davranıştan gerçekten nefret ediyorum; sanki gösterişli bir kod editöründe her harf yazdığında uyarı sesi çıkması gibi. i ve f yazınca hemen “if-then ifadesi kapanmadı!” demesi, daha yazmaya devam ettiğini bildiği hâlde aşırı tepki. Uyarının her şey yazıldıktan sonra gelmesi daha iyi; çoğu dilde ve araçta bu tarz gerçek zamanlı uyarıları kapatıp hataları yalnızca build/çalıştırma sırasında görmeyi tercih ediyorum. LSP (Language Server Protocol) biraz sakinleşmeli.

  • Artık bug canını sıkıyorsa işe girip kendin düzeltmek, yazılım kalitesi o kadar düşük olduğu için, daha kolay gibi. GTA 5 yükleme sorununu çözen programcı hikâyesini hatırlatıyor; o kadar parası olan GTA 5’te bile kalite iyileştirmesi kolay olmamıştı.

    • Bunun kalite değil öncelik sorunu olduğunu düşünüyorum. Şirketler kullanıcıların istediğinden çok ekiplerin yapmak istediği şeyleri seçiyor. Gerçek kullanıcı testi ve veri deneyi yetersiz. Bu örnek de aslında bir çözümden çok, asıl problemin bir belirtisi gibi; muhtemelen çok daha faydalı pek çok issue vardır ama bir kişi kendi istediği özelliği eklemiş oldu.

    • GTA:O’da karta çok para harcayanlar yükleme sürelerini umursamıyordu. Ben sinirlenip süre tuttum ve gerçek görevlerden daha uzun süre yükleme ekranına baktığımı görünce oyunu tamamen bıraktım.

  • Acaba internet memindeki o kişi gerçekten sen misin diye yapılan bir şaka.

  • Yazıda işe alım kısmından hiç bahsedilmemesi merak uyandırıyor; “bir şey beni rahatsız ediyordu ve şirkete girince düzelttim” seviyesinde görünüyor, sanki hikâyenin kilit kısmı eksik gibi.

    • Yazarın şirketi şu an çalıştığı yer tarafından satın alınmış gibi görünüyor; o yüzden bunun bir acquihire (satın alma + işe alım) olduğunu tahmin ediyorum.
  • Tersine, ben zamanında IP avukatları yüzünden açık kaynak koda PR gönderilmesinin imkânsız olduğu bir işte çalıştım. Yine de doğru girdileri ve bug’ın satır numarasını ayrıntılı biçimde anlatırsan birini gidip düzeltmeye ikna etmek mümkün oluyordu. Kod yerine ücretsiz QA raporu sunuyormuşum gibi geliyordu.

  • George Hotz’un 2022’de kısa süreliğine Twitter’a katılıp login popup’ını kaldırma sorununu çözdüğü o efsanevi olayı hatırlattığını söyleyen bir yorum var. Ama benim hatırladığım farklı; George Hotz “aramayı düzeltebilirim” diye iddia edip neredeyse hemen ayrıldı, en son teselli niyetine sadece popup’ı kaldırdı.

    • Bu vesileyle George Hotz, patent troll’leri ve comma.ai hakkında yeniden araştırmaya kısa süre takıldım. George Hotz’un Comma.AI’si, 999 dolarlık “comma 3x” akıllı telefon, bir OBD-II konektörü ve 99 dolarlık kablo demetiyle son 10 yıl içinde üretilmiş çoğu araca (Tesla dahil) Autopilot seviyesinde özellikler ekleyebiliyor. Toplam maliyet 1098 dolar; proje açık kaynak olarak GitHub üzerinde, hatta araca ssh ile bağlanmayı bile destekliyor. İsteğe bağlı cloud aboneliği kendi SIM’inle aylık 10 dolar veya satıcı verisi dâhil aylık 24 dolar. Yalnız Tesla Sentry Mode benzeri özellik henüz yok; issue #29912 olarak duruyor. Orijinal Tesla Sentry Mode 250W tüketiyor — 80kWh bataryada 7 günde %80’den %30’a düşürüyor — openpilot bunu 5W’ın altında yapabilirse çok daha verimli olur diye düşünüyorum.

    • George Hotz’un Twitter’a girdiğini yüksek sesle duyurup hiçbir şey yapmadan sessizce ayrıldığını hatırlıyorum; utanç vericiydi ve bunu kendi başına getirdi diye düşünüyorum.

    • Yazıyı daha doğru olacak şekilde düzeltmiş, aynı anda Github Pages bug’ı yüzünden blogun kendisini de kapatmış olduğunu söylüyor.

    • En sonunda Elon’a Twitter’ın tamamını baştan yapmak gerektiğini önermişti diye hatırlıyorum.

  • Ben de şahsen Discord’a işe başvurmayı, dev emoji’leri bir geçiş ayarına dönüştüren bir PR gönderebilmek için düşündüm; sadece ben değil, tüm sunucu bunu çaresizce istiyor.

    • İşe yarar mı bilmiyorum ama ben kendi adıma emoji’den sonra nokta koyarak geçici olarak kaçınıyorum. Yeni kullanıcılar için bir çözüm değil ama benim için geçici bir çare.

    • Discord bir Electron uygulaması olduğu için teoride client-side mod ile değiştirilebilir gibi duruyor. Yalnız hesap ban riski konusunda emin değilim.

    • Ne demek istediğini soran bir yorum da var; örneğin :) emoticon’unun otomatik dönüşümünü kapatma seçeneği olduğunu açıklıyor.