paint-brush
ユニコーンの構築: inDrive での私の 10 年にわたるキャリア@michil
8,718 測定値
8,718 測定値

ユニコーンの構築: inDrive での私の 10 年にわたるキャリア

Michil Androsov9m2023/11/15
Read on Terminal Reader

長すぎる; 読むには

ヤクーツクの極限気候からユニコーン企業に成長した配車サービス、inDrive の歴史を辿る魅力的な旅に出かけましょう。 inDrive の CTO、Michil Androsov が、開発の初期の頃、ヤクートの厳しい状況で直面した課題、inDrive を際立たせる独自の価格モデルについての洞察を共有します。 iOS 開発の草創期からヤクーツクを越えてロシアの他の都市への拡大に至るまで、inDrive の進化を形作った重要なマイルストーンを発見してください。 inDrive が成功への道の中で直面する技術的および非技術的課題に関するさらなるストーリーにご期待ください。
featured image - ユニコーンの構築: inDrive での私の 10 年にわたるキャリア
Michil Androsov HackerNoon profile picture
0-item


やや大げさなタイトルにもかかわらず、この記事の目的は、成功事例を紹介したり、役に立たない決まり文句や自明の理に基づいた「ホットなヒント」を提供したりすることではありません。私がプロとしてのキャリアのほぼすべてを過ごしてきたこの会社について、いくつかの話をしたいと思います。ヤクーツクという遠く離れた寒い街でこのサービスがどのように誕生したかについて、エンジニアの視点から inDrive についてお話します。


やあみんな!私の名前はミチル・アンドロソフです。inDriveに入社して 10 年になります。私は開発チームが 3 名だったときに入社し、CTO として 500 名を指揮下に残しました。長年にわたり、同社は地元の新興企業から、世界トップクラスのファンドから数億ドルが投資されるユニコーン企業に成長しました。


inDrive (旧 inDriver、「 Independent Driver s」の略) は、ヤクーツク(サハ共和国の首都) からの配車サービスですが、他のサービスと大きく異なる点が 1 つあります。それは、旅行の運賃が乗客自身によって設定されることです。 。


競合他社とは異なり、inDrive の価格モデルには何百もの基準に基づいた複雑なアルゴリズムは含まれていません。システム全体は可能な限り透明性が高く、プロセスに関与する当事者は 2 者のみです。運転手と乗客が相互に運賃を交渉し、双方にとって有利な価格に合意します。これは自己平衡システムです。


ヤクートとしても知られるサハ共和国は、ロシア連邦の極東に位置する共和国です。大部分は地元の先住民であるヤクート人が住んでいますが、かなり多文化化されています。この共和国は極端で厳しい気候で知られています。


ヤクーツクの雰囲気

冬のヤクーツク。写真提供:マリア・ヴァシリエヴァ、YSIA


このサービスが、とりわけヤクーツクで登場した理由がここにあります。私の本では、次の 2 つの理由でこれを説明しています。


  1. 寒い気候。外気温が氷点下50度まで下がると、人々は公園を散歩したり、自然の中をハイキングしたりするのではなく、家に留まる傾向があります。彼らは自分自身を楽しませる方法を見つける必要があり、多くの場合、コンピューターの前で時間を過ごします。この地域に数多くある物理と数学に特に重点を置くトップクラスの学校と組み合わせると、多くの子供たちがプログラマーになる可能性があります。少なくとも、私は自分自身にこのことを説明しています。


  2. 本土からの孤立。このため、インターネットは非常に高価で、速度も遅かったのです。インターネットは無線中継技術と連携して機能しました。そして、メガバイトごとに料金を支払う必要がありました。インターネットから映画を数本ダウンロードすると、労働者の給料が犠牲になる可能性があります。そのため、インターネット サービス プロバイダーの従業員は、ビッグ インターネットから何かをダウンロードし、イントラネット上に置きます。衛星釣りに従事していた人たちもいたのを覚えています。


ヤクーツクが最終的に独自の「インターネット」を持つことになったのは、これら 2 つの要因のおかげで、インターネット ポータルYkt.ru (現在は閉鎖中) - yahoo や dmoz、craigslist、napster、画像写真掲示板、ニュース、フォーラムなどのローカル Web ポータルが存在します。オールインワン。これはアルファベットの地元の品種であり、ヤクーツクに数少ない IT スペシャリストは皆、そこで仕事を得たいと考えていました。このポータルを所有していた会社は Sinet (Sakha Internet の略) と呼ばれ、その会社内に inDrive がすぐに設立されました。


ここで指摘しておきたいのは、Sinet に加えて、ヤクーツクにはMytonaという大規模なゲーム開発会社があり、地元の IT 担当者を惹きつける役割も果たしていたということです。その会社は、北部の小さな村コヌウ出身の 2 人の兄弟が両親からお金を借りて最初のインディーズ ゲームの開発を始めたところから始まりました。現在の状況では、inDriveとMytonaはロシアから「移転」している。


独立したドライバー

タクシーサービスに関して言えば、inDriveが登場する前は、ヤクーツクでタクシーに乗るのは難しく、料金も高かった。物事は昔ながらの方法で行われ、最初に電話してディスパッチャー経由で車両を予約し、その後ドライバーが到着するまで長い時間待たなければなりませんでした。さらに悪いことに、電話をかけたことが忘れられ、車の待ち時間があらゆる制限を超えてしまう可能性があります。


別の問題点は、年末年始(国内の大型休暇、2週間のパーティー、誰も働かない)で、タクシーサービスが何度も料金を値上げしたため、乗客は限界を超えていた。 2012年の冬、数人の賢い人たちが「ヤクーツクの独立運転者コミュニティ」と呼ばれるフコンタクテグループを設立した。その中で、地点 A から地点 B に移動する必要があることを示し、電話番号を残すことができます。そうすれば、たまたまその方向に向かっていた親切なドライバーが、配車の手配をするために電話してくれるかもしれません。旅行の終わりに、乗客はガソリン代を賄うために運転手にお金を残さなければなりませんでした。


確かに、すぐに、ガソリン代の補償の代わりに、人々は乗車料金を支払い始めました。短期間のうちに、このグループは絶大な人気を獲得し、従来のタクシー サービスを徐々に廃止し始めました。

インドライブ。初期

当時、Sinet のディレクターである Arsen Tomsky は、このグループを事業拡大の有望なアイデアと見なし、買収することを決めました。本質的に、この時点が inDrive の存在の始まりとなります。


iOS アプリの最初のバージョンのアイコン。当時、iOS と Android アプリではアイコンが異なっていました


2013 年 10 月、私はスタートアップが設立 5 か月目にあったときに 3 人目の開発者として入社しました。当時、アプリの Android バージョンはすでに利用可能であり、私たちのスタッフは iOS 開発者を探していました。入社する前、私は小さなスタートアップスタジオで 1 年間、iPad 上で最初は母国語で子供向けのインタラクティブな書籍を開発していました。ちょうどその頃、転職を考えていました。


私には大きな利点が 1 つありました。それは、当時ヤクーツクでは珍しかった私の MacBook でした。これはシネットに就職してみるチャンスだと思いました。私には iOS 開発の経験はありませんでしたが、どういうわけか (おそらく適切な候補者がいなかったため) 夢の会社に就職することができました。


初めてのワークスペースと個人用 Macbook


iOS 開発はネイティブでした。私は Objective-C でコーディングしました。現在、状況はあまり変わっていませんが、唯一の違いは、Objective-C の代わりにSwiftが一般的に使用されるようになったことです。 Android は Java でコーディングされていましたが、バックエンドは PHP で書かれていました。当時定められたものの多くは、今日でも inDrive コードベースの中核として残っています。


当時のiOS開発チームの中心は私1人でした。 2015 年に、2 人目が私に加わりました。 2016 年に 3 人目が雇用されると、当社は急速に成長し始めました。当時はクロスプラットフォーム チームは存在せず、iOS、Android、バックエンド開発チーム、QA テスターだけでした。


当時、inDriveのドライバーはどうやって配車リクエストを受け付けていたのか不思議に思う。これは電話ベースの手配と呼ばれるもので、乗客が注文すると、近くのドライバーが同時にそれをリクエストリストに表示し、そのオファーを気に入ったドライバーがそれをクリックします。当時の奇妙な点は、携帯電話通信ネットワークを介して運転手と乗客を接続しただけだということでした。場合によっては、複数のドライバーが同時に同じ配車リクエストの電話をしてくることがありました。電話の後、乗客に電話をかけてきたすべてのドライバーのリストを見せて、最適なドライバーを選択できるようにしました。セットアップ全体は、「最初に電話した人に順番が行く」という原則に基づいて動作しているようでした。このため、注文品を受け取るのに十分な時間がないというドライバーからのカスタマーサポートへの苦情がありました。



その画面には、電話をかけてきたドライバーの電話番号のリストが表示されます。



長い間、iOS の方が Android よりも注文を獲得できる可能性がはるかに高いという伝説がありました。これにはある程度の真実があり、インターフェイスは実際に iOS 上でより高速に動作しました。当社は長い間、他の配車サービスでよく使われている「コールレス」の注文受付プロセスを導入しませんでした。電話でお互いに話す時間があれば乗客はドライバーをより信頼できると考えたからです。乗車前に電話。明らかに、そのような戦略には限界があり、かなり深刻な限界がありました。


また、アプリの最初のバージョンには、「利用可能なドライバー」という興味深いタブがありました。それをクリックすると、地図に移動し、空いているドライバーを見つけて、直接電話して、配車を手配できます。当然のことながら、当時はまだ暗号化された接続はありませんでした。


さらに、ドライバーを見つける 3 番目の方法がありました。配車リクエスト (注文) を作成した後、地図上で適切なドライバーを見つけ、個人メッセージでオファーを送信することができました。これを「パーソナライズドオーダー」といいます。



注文作成後の画面です。乗客はドライバーからの連絡を待っています。ここにいる間、特定のドライバーを選択し、「パーソナライズされた注文」を送信することができます。



最近では、すべてが可能な限り簡単、迅速、そして楽しかった時代を懐かしむことがあります。私はリポジトリが何なのかを知らなかったので、各バージョンのリリース後、プロジェクト フォルダーをアーカイブしてハード ドライブ (数百のアーカイブがまだそこに保存されています) と Google ドライブに保存しました。初期の頃、Xcode のプロジェクトはstartPageと呼ばれていましたが、製品のタスクはホワイトボードに直接書き込まれていました。


私は iOS 開発の基本的なプログラミング パターンとアーキテクチャにまだ慣れていませんでした。最終的には、多数の画面を備えた Massive View Controller とストーリーボードのスタックが完成しました。これは本物の StackOverflow プログラミングでした。


iOS 開発者は、ここで描かれている苦痛を理解するでしょう。画質が悪くて申し訳ありませんが、この写真しか見つかりませんでした


ヤクーツクを超えて拡大

徐々に、私たちのスタートアップチームは成長し始めました。新しい人が加わり、最初の単純なプロセスが誕生しました。 2014 年時点で、同社にはすでに 10 名のスタッフがいます。私たちが会議に参加するためにノボシビルスクに飛んだのはその時でした。それは私たち 3 人、開発チーム全員でした。サハ共和国では外の広い世界から孤立しているように感じられるため、これは会社の歴史の中でもう一つの重要なマイルストーンでした。このような旅行は私たちにとって大きな出来事でした。


2013 年末に、Arsen Tomsky に買収された VKontakte グループの創設者、Sasha Pavlov が加わりました。彼を乗せて、私たちは他の都市でも立ち上げるという最初の試みを始めました。ある日、サーシャは運転手たちと話し合うためにサハリンへ飛んだ。彼は宣伝用のパンフレットを印刷してモールの駐車場で配り始めたが、警備員に追い払われた。しかし、最終的にはサハリンでの立ち上げに成功し、すぐに素晴らしい成長を示しました。


その後、イルクーツク、トムスクなど、ロシアの他の北部および東部の都市でもリリースを開始しました。これらの地域は、同様の厳しい気候条件を持っているという点でヤクーツクに似ており、そこには他に主要なアプリはありません。これらの都市では、アプリはほぼ即座に成長を示し始めました。


私たちは小さなオフィスに座って、「想像してみてください、いつかYkt.ruを超える収入が得られるだろう」と空想していました。私たちは笑いましたが、実際にはその瞬間はすぐにやって来ました。


当社の CEO は、ヤクーツクとは関係のない、より大きなストーリーを常に望んでいました。彼は根っからの起業家であり、常に新しい挑戦を求めています。私たちにとってそれは明白で論理的であるように思えたので、なぜ私たちがやっていることを疑問に思う人は誰もいませんでした。


私たち、ヤクーツク出身の何人かが大手企業とどれだけ競争できるかを考えるのはいつもクールでした。当時の主な競合他社は、 Taxi MaximYandex Taxiでした。私たちはまだUberについては考えていませんでした。しかし、すぐにこの状況について十分に検討する必要がありましたが、ご興味があれば、次の投稿で詳しく説明します。





PSこれは私にとって記事を書く初めての経験であり、inDrive の進化の歴史、私がどのようにして CTO になったのか、そして私たちが直面し克服しなければならなかった技術的および非技術的な課題について詳しく書きたいと思っています。したがって、ここで改善できる点や、将来の投稿で読んで興味がある点についてフィードバックをいただければ幸いです。コメントでシェアしてください!


PPS Sinet と inDrive の進化のマイルストーンは、同社 CEO の著書『inDriver: From Yakutsk to Silicon Valley』で詳しく説明されています。