paint-brush
打造独角兽:从本地初创企业到全球现象的 inDrive 技术之旅经过@michil
5,405 讀數
5,405 讀數

打造独角兽:从本地初创企业到全球现象的 inDrive 技术之旅

经过 Michil Androsov10m2024/01/30
Read on Terminal Reader

太長; 讀書

阅读 Michil Androsov 撰写的这篇揭露性文章,深入探讨 inDrive 变革之旅的核心。 Michil 涵盖了 2016 年至 2020 年的关键年份,分享了业内人士的观点,讲述了一个来自西伯利亚深处的简单想法如何发展成为全球网约车现象。探索推动 inDrive 的创新战略、技术进步和不懈精神。了解在新城市推出的挑战、应用程序的演变以满足不同的需求,以及使 inDrive 在快节奏的科技世界中保持领先的独特的代码开发方法。这篇文章不仅记录了独角兽公司的成长,还提供了对科技初创公司的动态世界、编码挑战以及适应变化的力量的宝贵见解。
featured image - 打造独角兽:从本地初创企业到全球现象的 inDrive 技术之旅
Michil Androsov HackerNoon profile picture
0-item

大家好!我叫 Michil Androsov,这是我关于inDrive历史的系列文章中的第二篇文章,我从一个简单的开发人员的角度深入剖析了我们独角兽公司的创建过程。第一篇文章可以在这里找到。在其中,我谈到了我如何加入公司,我们如何扩大开发团队,以及我们如何走向国际。


这篇文章将涵盖我在inDrive职业生涯的中期——大约从2016年到2020年。当时,公司开始自立门户,并在各种新方向上快速发展,我将在更多细节如下。


这生意

在雅库茨克以外地区首次成功推出后,我们终于开始认识到我们商业理念的力量。我们开始想,“如果我们真的能够占领地球怎么办?”毕竟,生活在遥远的北方,西伯利亚深处,你总是感觉与世界其他地方很分离。一切似乎都发生在遥远的地方,这实际上给了我们一个非常独特的视角。当时,我们与 inDrive 的所有工作对我来说几乎就像一场游戏。


在此期间,公司开始广泛开展业务。当我们在一个新的国家/地区开始运营时,我们可能会在一个月内推出数十个城市。我们的业务扩展到俄罗斯以外,并在哈萨克斯坦推出,尽管面临各种障碍,我们很快成为该国排名第一的叫车服务。直到今天,哈萨克斯坦仍然是我们的主要市场之一。


在新城市推出时,我们采取了“烧干草”的策略。正如我们的首席执行官所说,如果一座城市准备好接受我们的服务,它应该能够从最小的火花中点燃。所以,如果一个城市的草不够干,我们就不会尝试用汽油浸泡。相反,我们只是继续下一个。这帮助我们快速扩张,而无需花费太多资金。


事实上,许多城市只是自行启动。人们会在邻近的城市听说这项名为 inDrive 的伟大新服务。他们会自己下载应用程序,而这座城市将在没有我们的情况下启动。甚至还有一些我们自己发起的城市,在没有我们任何投资的情况下就起飞了。


当然,并不是所有的发射都成功。我记得我们在 2018 年首次在美国推出。我们做好了所有准备工作,招募了司机,并宣传了我们的服务。起初,一切似乎都很顺利,我们的人数日益增加。


我们感到惊喜。在全球最大的市场之一推出产品真的那么容易吗?毕竟,如果你能在美国成功,那么你就可以在任何地方成功——至少我是这么认为的。但我们的喜悦很快就变成了失望:我们面临着一个庞大的欺诈者行业,他们将偷来的信用卡兑现并在我们的服务上使用它们。


因此,我们决定放弃美国计划,等待更好的日子——终于在 2023 年到来。我们第二次在美国推出,取得了更好的结果。此次发射仍在进行中。我们目前在迈阿密开展业务,并将很快扩展到新城市。


回想起来,我们都曾经很简单,也很天真。然而,我们继续从错误中吸取教训并继续前进。


产品与技术

我们始终相信我们的服务应该简单且万无一失,就像诺基亚 3310一样。当然,这导致了人们指责该应用程序尽管功能丰富,但不够“漂亮”。


以前,司机可以购买工作订阅,而不是每次乘车都支付佣金。例如,1 小时或 24 小时订阅



在许多国家,我们必须适应当地立法和用户需求。这就是为什么阿拉木图的 inDrive 应用程序可能看起来与纽约的应用程序完全不同。尽管如此,过去几年我们一直致力于让该应用程序在所有国家/地区变得“更漂亮”,我个人认为它现在看起来相当现代。


在俄罗斯之外,inDrive 获得了一系列新模块,首先是城际乘车和货运,这些模块现已在全球各国推出。在某些市场,例如哈萨克斯坦,它们甚至比我们的出租车垂直市场更受欢迎。


在此期间,我们的产品规划方法很简单:每个季度末,我们的首席执行官都会从我们的发布城市回来,打开他的笔记本电脑,并解释我们未来一段时间的目标。通常,这些来自司机和乘客的要求。我们可以完成各种不同规模的任务,从引入银行卡支付到更改订单按钮的颜色。


我们的首席执行官在公司的发展中发挥了(并将继续发挥)至关重要的作用。虽然他既是一位出色的激励者和战略家,但他也是一位熟练的经理,了解产品的工作原理。如今,他仍亲自飞往新推出的国家,研究市场、进行客户开发、与用户广泛互动、收集服务反馈。


我们希望一切看起来尽可能简单,只有地址字段和乘客想要支付的价格



在开发方面,我们很快意识到我们现有的代码将无法支持我们业务的快速增长。很快,该应用程序就会开始滞后并质量下降。因此,我们决定重写代码中更“复杂”的部分。


除了 PHP 单体之外,我们最终还得到了一个 — ba-dum-tss —Golang 单体。我们的整个基础设施都落在两个人的肩上,他们了解我们巨大机器的所有内部运作。如果服务崩溃,他们随时准备打开笔记本电脑并修复它,无论白天还是晚上。


我们还聘请了第一位 QA 专家来进行全面测试。这让我们的生活变得异常轻松。在进行质量检查之前,我们花费了大量的时间和精力自行测试新功能和更新,并检查它们如何与现有版本交互。


渐渐地,移动开发人员开始加入我们的团队,尽管遇到了一些困难。毕竟,你需要 Apple 产品才能进入 iOS 开发,而这些产品在雅库茨克可能很难找到。这意味着我们很难招募本地 iOS 开发人员,而且在发布新功能方面,我们的 iOS 团队有时会落后于 Android 团队。


我记得有一次在哈萨克斯坦,我们的应用程序在政府层面被屏蔽。我不会详细介绍,但为了扭转封锁,我们必须引入许多不同的功能,包括用户指令、自动地址更改、代理等等。


最终,我们恢复了在该国的能力,并在几年后正式扭转了封锁。我记得写信给一家大型独联体新闻网站的首席技术官(该网站在哈萨克斯坦也被屏蔽),询问他是如何设法维持业务的。


我们的许多功能都是通过一系列的试验和错误而开发出来的——或者是偶然发现的——尽管事后看来它们可能是完全显而易见的。以我们的免费叫车系统为例。如果您还没有阅读第一篇文章,我将在这里快速总结一下。

以前,当 inDrive 乘客创建订单时,司机会在订单源中看到他们的请求并立即给他们打电话。而且这也不仅仅是一名司机;这些命令被发送给附近的任何人。


当然,这会导致多个司机看到订单并尝试立即给乘客打电话的情况。通常,第一个联系乘客的人会收到订单。


问题就出在这里:司机会在没有阅读订单详细信息的情况下点击乘车,然后所有人同时尝试给乘客打电话。因此,我们创建了一种称为“缓冲区”的东西。当司机按下订单按钮时,会有短暂的延迟,这使我们有时间收集所有潜在的报价。


这样,司机就不必着急,有时间完整阅读订单详细信息。然后,根据司机的评分,系统选择他们中的哪一位能够首先呼叫乘客。这是对我们旧版本的重大改进。


尽管现在几乎所有叫车应用程序都使用免通话系统,但我们实际上是偶然想出了我们的系统。 2016 年,我们在叶卡捷琳堡推出了“守护者”,他们是经过专门挑选的司机,可以接受普通司机无法接受的订单。我们会向他们发送有关独家订单的特殊推送通知。


然而,我们很快意识到这些推送通知效果不佳,因为它们很容易被错过。就在那时,我们想起了我们现有的一项功能,称为“个人订单”,该功能允许乘客简单地选择地图上最近的司机并将订单直接发送给他们。


这是大约 5 年前驾驶员界面上的传入订单屏幕



我们决定在向我们的“监护人”发送订单时使用此功能。它立即获得成功并且运行良好,因此我们决定将其扩展到所有驾驶员。当然,个人订单功能现在看起来可能很明显,但我们通过一系列的试验和错误发现了它。

团队

截至 2019 年,我们的团队全部由雅库茨克当地人组成。当时,我们希望帮助我们的祖国以及当地人一起成长。 inDrive 始终持有坚定的使命和价值观。这些价值观引起了每位员工的共鸣,我们努力维护它们。


这是一个充满动力和活力的时期。每天,我都会带着好心情醒来,知道我的朋友和美味的咖啡正在办公室里等着我。当然,还有很多有趣的工作。


inDrive 以社交公司而闻名。我们的团队年轻而无忧无虑,这意味着我们努力工作,努力玩耍。每年,我们都会出国旅行,无论是埃及、泰国、哈萨克斯坦还是其他地方。


想象一下,一整架飞机的同事逃离雅库茨克零下50摄氏度的天气,前往阳光明媚的+35摄氏度的泰国!这在当时很棒,但不幸的是,对于拥有数千名员工的员工来说,这些大公司旅行已经不可能了。


一位后端开发人员坐在长滩岛的海滩上,在放松中休息一下以修复产品


到 2019 年,我们遇到了招聘障碍。业务蓬勃发展,雅库茨克任何有能力处理任务和工作量的专业人员都已经为我们工作了。因此,我们决定在莫斯科开设一个开发办事处。


作为 iOS 团队的负责人,我负责开设莫斯科分公司。这段时间我们有很大的灵活性,员工可以自由地以任何他们认为合适的方式为公司做出贡献,只要这对业务有利。


我进入了人生的新阶段。我搬到了莫斯科,开始了开设新办公室的过程,从选择商务中心到安装带有公司标志的特殊灯光。


如今几年过去了,我仍能回想起那段时光。但那时,我常常会想:“我为什么要这样对自己?为什么我要承担所有这些装修工作?”我们的主要问题与负责装修的公司有关。有一次,他们的进度严重落后,我什至不得不帮助他们在工作空间安装电线。


我记得一个特定的晚上,我们组装家具到很晚。我看得出来我的同事们都很疲惫和沮丧,所以为了缓解气氛,我问道:“为什么拉长脸?振作起来!明年,我们将在白俄罗斯开设办事处! ”当时(直到今天)白俄罗斯站是莫斯科最昂贵的地区之一,就像纽约时代广场一样。这里还拥有许多令人印象深刻的 IT 办公室。当然,我们只是笑笑,然后继续工作。


经过一整天的工作后组装家具


到 2019 年底,我们的莫斯科办事处迎来了第一批开发人员。有时,他们看起来就像来自另一个星球。在面试过程中,他们会说这样的话,“我们以冲刺的方式工作。我完成了所有任务,然后来到这里”(而且只是周四下午)。或者他们会说:“我们在家工作三天,在办公室工作两天。”


这对我来说是全新的。 inDrive 当时完全基于办公室,每个人都被期望充分贡献。我们没有使用任何类型的看板、scrum、故事点或冲刺。

结论

我们满怀乐观的心情进入2020年。我们在莫斯科的新开发办事处已经开业,我们正在与一支优秀的团队合作。我住在首都,生意在增长,投资也在路上!


我们在硅谷还有一个可爱的小办公室(只有几个房间,而不是整栋大楼)


当公司获得投资时,我们会进行套现,这意味着员工可以出售一小部分股票期权来换取真金白银。一切似乎都按照我们的意愿发展,就像我们生活在电影里一样。


但不幸的是,在我的故事中,事情变得有点黑暗,就像哈利波特电影中那样。突然间,我们面临着巨大的挑战。 2020年,世界因冠状病毒而关闭。 inDrive 关闭了他们的办公室,我们开始在家工作——这是我们一直坚决反对的。


生活有了新的规则,我们必须迅速找到立足点。我们开发了新流程,接听了第一次在线电话,并将笔记本电脑寄回家给新员工。


然后,在 2020 年中期,我成为了 inDrive 的 CTO。连我自己都感到惊讶。我负责管理 50 多名开发人员、4 个分布式团队以及莫斯科和雅库茨克的两个办事处。当然,存在很多挑战,我将在下一篇文章中更详细地讨论这些挑战。


PS我关于我们在白俄罗斯办事处的笑话很快就变成了现实。 2020 年底,我们在莫斯科最好的商业中心之一开设了办事处,就在白俄罗斯广场,旁边还有其他很酷的 IT 公司。