paint-brush
Bir Tekboynuz Yaratmak: inDrive'daki On Yıllık Kariyerimile@michil
9,014 okumalar
9,014 okumalar

Bir Tekboynuz Yaratmak: inDrive'daki On Yıllık Kariyerim

ile Michil Androsov9m2023/11/15
Read on Terminal Reader

Çok uzun; Okumak

Yakutsk'un aşırı ikliminden ortaya çıkıp tek boynuzlu bir şirket haline gelen araç çağırma hizmeti inDrive'ın tarihi boyunca büyüleyici bir yolculuğa çıkın. inDrive'ın CTO'su Michil Androsov, geliştirmenin ilk günlerine, Yakutya'nın zorlu koşullarında karşılaşılan zorluklara ve inDrive'ı diğerlerinden ayıran benzersiz fiyatlandırma modeline ilişkin öngörülerini paylaşıyor. iOS gelişiminin öncü günlerinden Yakutsk'un ötesine ve diğer Rus şehirlerine doğru genişlemeye kadar inDrive'ın gelişimini şekillendiren önemli kilometre taşlarını keşfedin. inDrive'ın başarıya giden yolda karşılaştığı teknik ve teknik olmayan zorluklarla ilgili daha fazla hikaye için bizi takip etmeye devam edin.
featured image - Bir Tekboynuz Yaratmak: inDrive'daki On Yıllık Kariyerim
Michil Androsov HackerNoon profile picture
0-item


Oldukça iddialı bir başlığa rağmen, bu makalenin amacı bir başarı öyküsü sunmak ya da gereksiz basmakalıp sözlere ve gerçeklere dayanan bazı “sıcak ipuçları” vermek değildir. Profesyonel kariyerimin neredeyse tamamını birlikte geçirdiğim şirketle ilgili birkaç hikayeyi paylaşmak istiyorum. Yakutsk adında uzak ve soğuk bir şehirde bu hizmetin nasıl hayata geçtiğine dair inDrive'a bir mühendis bakış açısıyla bakış açımı paylaşıyorum.


Herkese selam! Adım Michil Androsov ve 10 yıldır inDrive'dayım . Geliştirme ekibinde üç kişi varken şirkete katıldım ve komutam altındaki 500 kişiyle CTO olarak ayrıldım. Yıllar geçtikçe şirket, yerel bir girişimden, dünyanın en iyi fonlarının yüz milyonlarca dolarlık yatırım yaptığı tek boynuzlu bir şirkete dönüştü.


inDrive (eski inDriver, " Bağımsız Sürücüler "in kısaltması), Yakutsk'tan ( Saha Cumhuriyeti'nin başkenti) gelen bir araç çağırma hizmetidir ve diğerlerinden büyük bir farkı vardır: yolculuk ücreti yolcuların kendileri tarafından belirlenir .


Rakiplerinden farklı olarak inDrive'ın fiyatlandırma modeli yüzlerce kritere dayalı karmaşık algoritmalar içermiyor. Tüm sistem olabildiğince şeffaftır ve sürece yalnızca iki taraf dahil olur: kendi aralarında ücretleri müzakere eden ve her iki taraf için de uygun bir fiyat üzerinde anlaşan sürücü ve yolcu. Bu kendi kendini dengeleyen bir sistemdir.


Yakutya olarak da bilinen Saha Cumhuriyeti, Rusya Federasyonu'nun Uzak Doğu'sunda yer alan bir cumhuriyettir. Çoğunlukla yerel yerli halk olan Yakutlar yaşamaktadır, ancak oldukça çok kültürlüdür. Cumhuriyetin aşırı ve şiddetli iklimi ile ünlüdür.


Yakutsk havası

Kışın Yakutsk. Fotoğraf: Maria Vasilieva, YSIA


Hizmetin onca yer arasında Yakutsk'ta ortaya çıkmasının nedeni budur. Kitabımda bunu iki neden açıklıyor:


  1. Soğuk iklim. Dışarıda sıcaklık sıfırın altında 50 santigrat dereceye düştüğü için insanlar parkta yürüyüşe çıkmak veya doğa yürüyüşü yapmak yerine evde kalma eğiliminde. Kendilerini eğlendirmenin yollarını bulmaları gerekiyor ve çoğu zaman zamanlarını bilgisayar başında geçiriyorlar. Bölgede çok sayıda bulunan ve fizik ve matematiğe özel olarak odaklanan en iyi okullarla birleştiğinde, bu çocukların çoğunun programcı olma şansı var. En azından ben bunu kendime böyle açıklıyorum.


  2. Anakaradan izolasyon. Bu nedenle internet çok pahalı ve yavaştı. İnternet radyo aktarma teknolojisiyle çalışıyordu. Ve her megabayt için para ödemek zorundaydınız. İnternetten indirilen birkaç film bir işçinin maaşına mal olabilir. Yani İnternet servis sağlayıcılarının çalışanları Büyük İnternet'ten bir şeyler indirip intranete koyacaklardı. Uydu balıkçılığıyla bile uğraşan bazı adamları hatırlıyorum.


Bu iki faktörden dolayı Yakutsk kendi "İnternet"ine sahip oldu ve onunla birlikte Ykt.ru İnternet portalı (şu anda kapalı) - yahoo veya dmoz, craigslist, napster, resim fotoğraf panosu, haberler, forumlar gibi yerel web portalları hepsi bir arada. Bu, yerel bir Alfabe çeşidiydi ve Yakutsk'taki az sayıdaki BT uzmanının tümü orada iş bulmak istiyordu. Portalın sahibi olan şirketin adı Sinet'ti (Sakha Internet'in kısaltması) ve kısa süre sonra inDrive'ın bünyesinde kurulduğu bir şirketti.


Burada Sinet'in yanı sıra Yakutsk'ta Mytona adında büyük bir oyun geliştirme şirketinin de bulunduğunu ve bu şirketin aynı zamanda yerel BT çalışanları için bir mıknatıs görevi gördüğünü de belirtmekte fayda var. Bu şirket, ilk bağımsız oyunlarını geliştirmeye başlamak için kuzeydeki küçük Khonuu köyünden ebeveynlerinden biraz borç alan iki kardeşle başladı. Bugün mevcut durumda inDrive ve Mytona Rusya'dan "taşındı".


Bağımsız Sürücüler

Taksi hizmetleri söz konusu olduğunda, inDrive sahneye çıkmadan önce Yakutsk'ta taksi bulmak zor ve pahalıydı. İşler eski usul yürüyordu ve önce arayıp sevk görevlisi aracılığıyla bir araç rezervasyonu yaptırmanız ve ardından sürücünün gelmesini uzun süre beklemeniz gerekiyordu. Daha da kötüsü, aramanız unutulabilir ve ardından arabanın beklenmesi mümkün olan tüm sınırları aşabilir.


Taksi hizmetlerinin fiyatlarını defalarca artırıp yolcuları uçuruma sürüklediği Yeni Yıl tatilleri (ülkedeki büyük tatil, iki hafta süren partiler, kimse çalışmıyor) ayrı bir sıkıntı noktasıydı. 2012 kışında birkaç akıllı adam "Yakutsk Bağımsız Sürücüler Topluluğu" adında bir Vkontakte grubu kurdu. İçinde A noktasından B noktasına gitmeniz gerektiğini belirtebilir ve telefon numaranızı bırakabilirsiniz. Daha sonra o tarafa doğru giden dikkatli bir sürücü, bir araç ayarlamanız için sizi arayabilir. Yolculuk sonunda yolcu, yakıt masrafını karşılamak için şoföre para bırakmak zorunda kaldı.


Elbette çok geçmeden insanlar yakıt ücreti yerine araç parası ödemeye başladı. Kısa bir süre içinde grup büyük bir popülerlik kazandı ve yavaş yavaş geleneksel taksi hizmetlerini kesmeye başladı.

inDrive. Erken günler

O dönemde Sinet'in yöneticisi Arsen Tomsky, bu grubu işini büyütmek için umut verici bir fikir olarak gördü ve satın almaya karar verdi. Aslında bu nokta inDrive'ın varlığının başlangıcını işaret ediyor.


İOS uygulamasının ilk sürümünün simgesi. iOS ve Android uygulamasının o zamanlar farklı simgeleri vardı


Ekim 2013'te, startup beşinci faaliyet ayına girerken şirkete üçüncü geliştirici olarak katıldım. O zamanlar uygulamanın Android sürümü zaten mevcuttu ve adamlarımız bir iOS geliştiricisi arıyordu. Şirkete katılmadan önce, bir yıl boyunca küçük bir startup stüdyosunda çalışarak çocuklar için iPad'de öncelikle ana dilimizde interaktif kitaplar geliştirdim. Tam o sırada iş değiştirmeyi düşünüyordum.


Benim için büyük bir avantajım vardı; o zamanlar Yakutsk'ta nadir bulunan MacBook'um. Bunun Sinet'te iş bulma şansım olduğunu düşündüm. İOS geliştirme konusunda hiçbir deneyimim yoktu, ancak bir şekilde (büyük olasılıkla uygun adayların bulunmaması nedeniyle) hayalimdeki şirkette işe girmeyi başardım.


İlk çalışma alanım ve kişisel Macbook'um


iOS geliştirme yereldi: Objective-C'de kodladım. Artık durum pek değişmedi, tek fark artık Objective-C yerine Swift'in yaygın olarak kullanılıyor olması. Android Java ile kodlanırken, arka uç PHP ile yazılmıştır. O zamanlar ortaya konan şeylerin çoğu bugün inDrive kod tabanının merkezinde yer alıyor.


O zamanın çekirdek iOS geliştirme ekibi sadece bendim. 2015 yılında yanıma ikinci bir kişi geldi. 2016 yılında üçüncü bir kişinin işe alınmasıyla çok hızlı büyümeye başladık. O zamanlar platformlar arası ekipler yoktu; yalnızca iOS, Android, arka uç geliştirme ekipleri ve QA test uzmanları vardı.


O günlerde inDrive sürücüsünün yolculuk isteklerini nasıl kabul ettiğini merak ediyorum. Buna çağrıya dayalı düzenleme deniyordu: Bir yolcu sipariş veriyor, yakındaki sürücüler aynı anda bunu kendi istek listesinde görüyor ve teklifi beğenenler buna tıklıyor. O zamanlar tuhaf olan şey, bir sürücü ile bir yolcuyu hücresel iletişim ağı aracılığıyla birbirine bağlamamızdı! Bazen birden fazla sürücü aynı anda aynı yolculuk talebi için arayabilirdi. Çağrıdan sonra yolcuya, en uygun olanı seçebilmesi için arayan tüm sürücülerin listesini gösteriyorduk. Tüm düzen "emir ilk çağırana gider" ilkesine göre işliyor gibiydi. Bu nedenle sürücülerden, siparişi almak için yeterli zamanları olmadığını bildiren müşteri destek şikayetleri vardı.



Bu ekranda arayan sürücülerin telefon numaralarının listesi görüntülenir.



Uzun zamandır iOS'un sipariş alma şansının Android'den çok daha yüksek olduğuna dair bir efsane vardı. Arayüz iOS'ta gerçekten daha hızlı çalıştığı için bunda bir miktar doğruluk payı vardı. Yolcuların birbirleriyle konuşacak zamanları olması durumunda sürücüye daha fazla güven duyacaklarını düşünerek, diğer araç çağırma hizmetleri tarafından daha yaygın olarak kullanılan "çağrısız" sipariş kabul süreçlerini uzun süredir hayata geçirmedik. yolculuktan önce telefon. Açıkçası, böyle bir stratejinin sınırlamaları vardı ve oldukça ciddi sınırlamalar da vardı.


Ayrıca uygulamanın ilk sürümünde "Kullanılabilir Sürücüler" adında ilginç bir sekme vardı. Üzerine tıklayarak haritaya gidebilir, uygun bir sürücü bulabilir, onları kişisel olarak arayabilir ve bir yolculuk ayarlayabilirsiniz. Anlaşılır bir şekilde, o zamanlar henüz şifreli bağlantılar yoktu.


Ayrıca sürücü bulmanın üçüncü bir yolu daha vardı: Yolculuk isteği (siparişi) oluşturduktan sonra haritada uygun sürücüyü bulup teklifimi kişisel mesaj yoluyla ona gönderebiliyordum. Buna "Kişiselleştirilmiş Sipariş" adı verildi.



Bu, sipariş oluşturduktan sonraki ekrandır. Bir yolcu sürücünün aramasını bekliyor. Hâlâ buradayken belirli bir sürücüyü seçip onlara "Kişiselleştirilmiş Sipariş" gönderebilirler.



Günümüzde çocuklar bazen her şeyin olabildiğince kolay, hızlı ve eğlenceli olduğu günleri özlüyorlar. Depoların ne olduğunu bilmiyordum ve her sürümün yayınlanmasından sonra proje klasörünü arşivledim ve sabit diskime (yüzlerce arşiv hala orada saklanıyor) ve Google Drive'a kaydettim. İlk yıllarda Xcode'daki projemiz startPage olarak adlandırılıyordu, ürün görevlerimiz ise doğrudan beyaz tahtaya yazılıyordu.


Henüz iOS geliştirmenin temel programlama kalıplarına ve mimarilerine aşina değildim. Sonuçta bir yığın Massive View Controller ve düzinelerce ekrana sahip storyboard'lar ortaya çıktı. Bu gerçek StackOverflow programlamaydı.


iOS geliştiricileri burada gösterilen acıyı anlayacaklardır. Kalite için özür dilerim ama sadece bu resmi bulabildim


Yakutsk'un ötesine genişleme

Yavaş yavaş startup ekibimiz büyümeye başladı. Yeni insanlar katıldı ve ilk basit süreçler ortaya çıktı. 2014 yılında şirketin halihazırda 10 çalışanı vardı. O sıralarda bir konferansa katılmak için Novosibirsk'e uçtuk. Üçümüz, tüm geliştirme ekibiydik. Bu, şirketin tarihindeki bir başka önemli dönüm noktasıydı; Saha Cumhuriyeti'nde kendinizi dışarıdaki büyük dünyadan izole edilmiş hissediyorsunuz. Bu tür geziler bizim için önemli bir olaydı.


2013 yılı sonunda Arsen Tomsky tarafından satın alınan VKontakte grubunun yaratıcısı Sasha Pavlov da aramıza katıldı. Onun da gemide olmasıyla birlikte diğer şehirlerdeki ilk fırlatma girişimlerimize başladık. Bir gün Sasha, durumu sürücülerle konuşmak için Sakhalin'e uçtu. Bazı tanıtım broşürleri bastırdı ve bunları alışveriş merkezinin otoparkında dağıtmaya başladı ancak güvenlik tarafından kovalandı. Ancak sonunda Sakhalin'de başarılı bir lansman gerçekleştirdik ve hemen mükemmel bir büyüme gösterdi.


Daha sonra diğer kuzey ve doğu Rusya şehirlerinde de lansmana başladık: Irkutsk, Tomsk, vb. Bu bölgeler, benzer şiddetli iklim koşullarına sahip olmaları açısından Yakutsk'a benziyor ve orada başka büyük uygulama yok. Bu şehirlerde uygulama neredeyse anında büyüme göstermeye başladı.


Küçük ofisimizde oturup şöyle hayal ederdik: "Bir gün Ykt.ru'dan daha fazla kazanacağımızı hayal edin." Güldük ama gerçekte o an çok çabuk geldi.


CEO'muz her zaman Yakutsk ile ilgili olmayan daha büyük bir hikaye istiyordu. Kendisi özünde bir girişimcidir ve her zaman yeni zorluklar arar. Bize açık ve mantıklı göründü, dolayısıyla kimse yaptığımız şeyi neden yaptığımızı sorgulamadı.


Yakutsklu bazı adamların büyük şirketlerle ne kadar rekabet edebileceğini anlamak her zaman güzeldi. O dönemde ana rakiplerimiz Taxi Maxim ve Yandex Taxi'ydi . Henüz Uber'i düşünmüyorduk. Ancak çok geçmeden bu durumu iyice düşünmek zorunda kaldık, ama eğer ilgilenirseniz sonraki yazılarımda size bu konu hakkında daha fazla bilgi vereceğim.





Not: Bu benim ilk makale yazma deneyimim ve inDrive'ın evriminin tarihi, nasıl CTO olduğum ve karşılaştığımız ve üstesinden gelmek zorunda olduğumuz teknik ve teknik olmayan zorluklar hakkında daha fazla yazmak istiyorum. Bu nedenle, burada nelerin geliştirilebileceği ve gelecekteki yazılarda neleri okumak isteyebileceğiniz konusunda geri bildirimlerinizi almak harika olurdu. Bunları yorumlarda paylaşın!


PPS Sinet'in ve inDrive'ın evriminin kilometre taşları şirketin CEO'su tarafından yazılan “inDriver: Yakutsk'tan Silikon Vadisine” kitabında daha ayrıntılı olarak anlatılıyor.